Ejemplo n.º 1
0
 def test_message(self):
   send_message = b"hello there to you my good friends how is it that you are doing today I really would like to know oh yes I would"
   signed_cipher_text = Node.construct_message(master_encryptor, master_def.name, send_message)
   # self.log_bytes_stats(signed_cipher_text)
   response = send_data(self.addr, signed_cipher_text)
   message, signature = master_encryptor.decrypt(response)
   sender, status, body = message.split(b"\n", 2)
   self.assertEqual(sender, self.node.name.encode())
   self.assertEqual(status, b"ok")
   self.assertEqual(body, send_message.upper())
   self.assertTrue(master_encryptor.verify_message(message, signature))
Ejemplo n.º 2
0
    def send(self, body, *, encrypt=True):
        if encrypt:
            message = Node.construct_message(self.encryptor, self.name, body)
        else:
            message = body

        response = send_data(self.server_address, message)
        message_status, data = Node.deconstruct_message(self.encryptor, response)

        if message_status == MessageState.ok:
            sender, body, signature = data
            return (True, body)
        elif message_status == MessageState.invalid_data:
            return (False, data)
        else:
            message, signature = data
            return (False, message)