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/')
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)
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)