diff options
author | Richard van der Hoff <richard@matrix.org> | 2016-05-18 17:23:09 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2016-05-24 13:39:34 +0100 |
commit | 39ad75314b9e28053f568ed6a4109f5d3a9468fe (patch) | |
tree | 72f7453ebbcbaa2513391c87b8b960092bb05ffa /tests/test_message.cpp | |
parent | 8b1514c0a653ccc3f49db70131d7d4f7524f1f9b (diff) |
Implement decrypting inbound group messages
Includes creation of inbound sessions, etc
Diffstat (limited to 'tests/test_message.cpp')
-rw-r--r-- | tests/test_message.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_message.cpp b/tests/test_message.cpp index e2385ea..5fec9e0 100644 --- a/tests/test_message.cpp +++ b/tests/test_message.cpp @@ -97,4 +97,26 @@ assert_equals(message2, output, 35); assert_equals(output+sizeof(expected)-1, ciphertext_ptr); } /* group message encode test */ +{ + TestCase test_case("Group message decode test"); + + struct _OlmDecodeGroupMessageResults results; + std::uint8_t message[] = + "\x03" + "\x2A\x09sessionid" + "\x10\xc8\x01" + "\x22\x0A" "ciphertext" + "hmacsha2"; + + const uint8_t expected_session_id[] = "sessionid"; + + _olm_decode_group_message(message, sizeof(message)-1, 8, &results); + assert_equals(std::uint8_t(3), results.version); + assert_equals(std::size_t(9), results.session_id_length); + assert_equals(expected_session_id, results.session_id, 9); + assert_equals(1, results.has_chain_index); + assert_equals(std::uint32_t(200), results.chain_index); + assert_equals(std::size_t(10), results.ciphertext_length); + assert_equals(ciphertext, results.ciphertext, 10); +} /* group message decode test */ } |