Beispiel #1
0
    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))
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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)
Beispiel #6
0
    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)
Beispiel #7
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)
Beispiel #8
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)
Beispiel #9
0
    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)