def test_disabled_file_reception_raises_fr_with_append_packet(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[:2]: self.assertIsNone(packet.add_packet(p)) packet.contact.file_reception = False # Test self.assertFR("Alert! File reception disabled mid-transfer.", packet.add_packet, packets[2]) for p in packets[3:]: self.assertFR("Missing start packet.", packet.add_packet, p) self.assertEqual(packet.log_masking_ctr, len(packets))
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)
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)