Exemple #1
0
    def test_short_file(self):
        # Setup
        account    = '*****@*****.**'
        contact    = create_contact('Alice')
        origin     = ORIGIN_CONTACT_HEADER
        type_      = 'file'
        settings   = Settings()
        packet     = Packet(account, contact, origin, type_, settings)
        file_data  = b'abcdefghijk'
        compressed = zlib.compress(file_data, level=9)
        file_key   = os.urandom(32)
        encrypted  = encrypt_and_sign(compressed, key=file_key)
        encrypted += file_key
        encoded    = base64.b85encode(encrypted)
        file_data  = US_BYTE.join([b'testfile.txt', b'11.0B', b'00d 00h 00m 00s', encoded])
        packets    = self.mock_file_preprocessor(file_data)

        # Test
        for p in packets:
            packet.add_packet(p)
        self.assertIsNone(packet.assemble_and_store_file())

        for p in packets:
            packet.add_packet(p)
        self.assertIsNone(packet.assemble_and_store_file())

        self.assertTrue(os.path.isfile('received_files/Alice/testfile.txt'))
        self.assertTrue(os.path.isfile('received_files/Alice/testfile.txt.1'))

        # Teardown
        shutil.rmtree('received_files/')
Exemple #2
0
    def test_short_file(self):
        # Setup
        packets = split_to_assembly_packets(self.short_f_data, FILE)

        # Test
        self.assertFalse(os.path.isfile(f'{DIR_RX_FILES}Alice/testfile.txt'))
        self.assertFalse(os.path.isfile(f'{DIR_RX_FILES}Alice/testfile.txt.1'))

        packet             = Packet('*****@*****.**', self.contact, ORIGIN_CONTACT_HEADER, FILE, self.settings)
        packet.long_active = True

        for p in packets:
            packet.add_packet(p)
        self.assertIsNone(packet.assemble_and_store_file())
        self.assertTrue(os.path.isfile(f'{DIR_RX_FILES}Alice/testfile.txt'))

        for p in packets:
            packet.add_packet(p)
        self.assertIsNone(packet.assemble_and_store_file())
        self.assertTrue(os.path.isfile(f'{DIR_RX_FILES}Alice/testfile.txt.1'))

        # Teardown
        shutil.rmtree(DIR_RX_FILES)
Exemple #3
0
    def test_long_file(self):
        # Setup
        packet             = Packet('*****@*****.**', self.contact, ORIGIN_CONTACT_HEADER, FILE, self.settings)
        packet.long_active = True

        compressed = zlib.compress(os.urandom(10000), level=COMPRESSION_LEVEL)
        file_key   = os.urandom(KEY_LENGTH)
        encrypted  = encrypt_and_sign(compressed, key=file_key)
        encrypted += file_key
        encoded    = base64.b85encode(encrypted)
        file_data  = int_to_bytes(1000) + int_to_bytes(10000)+ b'testfile.txt' + US_BYTE + encoded
        packets    = split_to_assembly_packets(file_data, FILE)

        for p in packets:
            packet.add_packet(p)

        # Test
        self.assertIsNone(packet.assemble_and_store_file())
        self.assertTrue(os.path.isfile(f'{DIR_RX_FILES}Alice/testfile.txt'))
        self.assertEqual(os.path.getsize(f'{DIR_RX_FILES}Alice/testfile.txt'), 10000)