def test_public_key_datagram(self) -> None: # Setup packet = self.create_packet(PUBLIC_KEY_DATAGRAM_HEADER + nick_to_pub_key('bob') + TFC_PUBLIC_KEY_LENGTH * b'a') self.queues[GATEWAY_QUEUE].put((self.ts, packet)) # Test self.assertIsNone(src_incoming(*self.args, unit_test=True))
def test_command_datagram(self): # Setup packet = self.create_packet(COMMAND_DATAGRAM_HEADER + b'test') self.queues[GATEWAY_QUEUE].put((self.ts, packet)) # Test self.assertIsNone(src_incoming(*self.args, unittest=True)) self.assertEqual(self.queues[DST_COMMAND_QUEUE].qsize(), 1)
def test_unencrypted_datagram(self): # Setup packet = self.create_packet(UNENCRYPTED_DATAGRAM_HEADER + b'test') self.queues[GATEWAY_QUEUE].put((self.ts, 640 * b'a')) self.queues[GATEWAY_QUEUE].put((self.ts, packet)) # Test self.assertIsNone(src_incoming(*self.args, unittest=True)) self.assertEqual(self.queues[SRC_TO_RELAY_QUEUE].qsize(), 1)
def test_message_datagram(self): # Setup packet = self.create_packet(MESSAGE_DATAGRAM_HEADER + 344 * b'a' + nick_to_pub_key('bob')) self.queues[GATEWAY_QUEUE].put((self.ts, packet)) # Test self.assertIsNone(src_incoming(*self.args, unittest=True)) self.assertEqual(self.queues[M_TO_FLASK_QUEUE].qsize(), 1) self.assertEqual(self.queues[DST_MESSAGE_QUEUE].qsize(), 1)
def test_message_datagram(self) -> None: # Setup packet = self.create_packet(MESSAGE_DATAGRAM_HEADER + 344 * b'a' + nick_to_pub_key('bob')) self.queues[GATEWAY_QUEUE].put((self.ts, packet)) self.queues[TX_BUF_KEY_QUEUE].put(SYMMETRIC_KEY_LENGTH*b'a') # Test self.assertIsNone(src_incoming(*self.args, unit_test=True)) self.assertEqual(self.queues[DST_MESSAGE_QUEUE].qsize(), 1)
def test_file_datagram(self) -> None: # Setup packet = self.create_packet(FILE_DATAGRAM_HEADER + int_to_bytes(2) + nick_to_pub_key('Alice') + nick_to_pub_key('Bob') + 200 * b'a') self.queues[GATEWAY_QUEUE].put((self.ts, packet)) # Test self.assertIsNone(src_incoming(*self.args, unit_test=True)) self.assertEqual(self.queues[DST_MESSAGE_QUEUE].qsize(), 0)
def test_group_exit_datagram(self) -> None: # Setup packet = self.create_packet(GROUP_MSG_EXIT_GROUP_HEADER + bytes(GROUP_ID_LENGTH) + nick_to_pub_key('Alice') + nick_to_pub_key('Bob')) self.queues[GATEWAY_QUEUE].put((self.ts, packet)) # Test self.assertIsNone(src_incoming(*self.args, unit_test=True)) self.assertEqual(self.queues[DST_MESSAGE_QUEUE].qsize(), 0)
def test_group_remove_datagram(self): # Setup packet = self.create_packet(GROUP_MSG_MEMBER_REM_HEADER + bytes(GROUP_ID_LENGTH) + int_to_bytes(2) + nick_to_pub_key('Alice') + nick_to_pub_key('Bob')) self.queues[GATEWAY_QUEUE].put((self.ts, packet)) # Test self.assertIsNone(src_incoming(*self.args, unittest=True)) self.assertEqual(self.queues[DST_MESSAGE_QUEUE].qsize(), 0) self.assertEqual(self.queues[M_TO_FLASK_QUEUE].qsize(), 2)
def test_local_key_datagram(self): # Setup packet = self.create_packet(LOCAL_KEY_DATAGRAM_HEADER + b'test') def queue_delayer(): """Place packet into queue after delay.""" time.sleep(0.01) self.queues[GATEWAY_QUEUE].put((self.ts, packet)) threading.Thread(target=queue_delayer).start() # Test self.assertIsNone(src_incoming(*self.args, unittest=True)) self.assertEqual(self.queues[DST_COMMAND_QUEUE].qsize(), 1)