示例#1
0
 def test_decrypt_twice(self):
     outbound = OutboundGroupSession()
     inbound = InboundGroupSession(outbound.session_key)
     outbound.encrypt("Test 1")
     message, index = inbound.decrypt(outbound.encrypt("Test 2"))
     assert isinstance(index, int)
     assert ("Test 2", 1) == (message, index)
示例#2
0
    def test_invalid_unicode_decrypt(self):
        outbound = OutboundGroupSession()
        inbound = InboundGroupSession(outbound.session_key)

        text = outbound.encrypt(b"\xed")
        plaintext, _ = inbound.decrypt(text)

        print(plaintext)
        assert plaintext == u"�"

        plaintext, _ = inbound.decrypt(text, "ignore")
        assert plaintext == ""
示例#3
0
 def test_decrypt_failure(self):
     outbound = OutboundGroupSession()
     inbound = InboundGroupSession(outbound.session_key)
     eve_outbound = OutboundGroupSession()
     with pytest.raises(OlmGroupSessionError):
         inbound.decrypt(eve_outbound.encrypt("Test"))
示例#4
0
 def test_decrypt(self, benchmark):
     benchmark.weave(InboundGroupSession.decrypt, lazy=True)
     outbound = OutboundGroupSession()
     inbound = InboundGroupSession(outbound.session_key)
     assert "Test" == inbound.decrypt(outbound.encrypt("Test"))
示例#5
0
 def test_inbound_export(self):
     outbound = OutboundGroupSession()
     inbound = InboundGroupSession(outbound.session_key)
     imported = InboundGroupSession.import_session(
         inbound.export_session(inbound.first_known_index))
     assert "Test" == imported.decrypt(outbound.encrypt("Test"))