def test_rgba_image_file_can_have_data_encoded_and_extracted_using_valid_png_image_no_encryption(self): sut.create_stegano_image( original_image="tests/test_resources/rgba_image.png", data_to_hide="tests/test_resources/small_rgba.png" ).save("tests/test_resources/encoded_img.png") extracted_content = sut.extract_data_from_stegano_image("tests/test_resources/encoded_img.png") self.write_extracted_content_to_file(extracted_content) self.assertTrue(filecmp.cmp("tests/test_resources/small_rgba.png", "tests/test_resources/extracted_content"))
def extract(self, message, image_with_data, new_file, password): self.resources.update_status_box(message) output_dir = sep.join([expanduser('~'), "Downloads"]) try: extracted_content = extract_data_from_stegano_image(image=image_with_data, cipher_key=password) self.write_extracted_content_to_file(extracted_content, "{0}{1}{2}".format(output_dir, sep, new_file)) self.resources.update_status_box('Extraction successful {0} saved in Downloads folder'.format(new_file)) except Exception as e: self.resources.update_status_box(e)
def test_text_file_can_not_be_decoded_if_encrypted_and_incorrect_password_provided(self): sut.create_stegano_image( original_image="tests/test_resources/rgb_image.png", data_to_hide="tests/test_resources/hide_me.txt", cipher_key="JarrodCT" ).save("tests/test_resources/encoded_img.png") extracted_content = sut.extract_data_from_stegano_image("tests/test_resources/encoded_img.png", "BadPassX") self.write_extracted_content_to_file(extracted_content) self.assertFalse(filecmp.cmp("tests/test_resources/hide_me.txt", "tests/test_resources/extracted_content"))
def test_text_file_can_have_data_encoded_and_extracted_using_valid_png_image_with_encryption(self): sut.create_stegano_image( original_image="tests/test_resources/rgb_image.png", data_to_hide="tests/test_resources/hide_me.txt", cipher_key="12345678" ).save("tests/test_resources/encoded_img.png") extracted_content = sut.extract_data_from_stegano_image("tests/test_resources/encoded_img.png", "12345678") self.write_extracted_content_to_file(extracted_content) self.assertTrue(filecmp.cmp("tests/test_resources/hide_me.txt", "tests/test_resources/extracted_content"))