def test_encrypt_file(tmpdir): secretfile = tmpdir.join("encrypt_file") secretfile.write("secret") assert secretfile.read() == "secret" key = helpers.generate_256bit_key().decode('utf-8') crypto.encrypt_file(jwd=secretfile.dirpath().strpath, filepath=secretfile.strpath, key=key) assert secretfile.read() != "secret" assert crypto.ENCRYPTED_BY_HEADER in secretfile.read()
def test_encrypt_and_decrypt_a_file(runner, tmpdir): with runner.isolated_filesystem(): secretfile = tmpdir.mkdir("sub").join("hello") secret_content = "supercalifragialisticexpialidocious" secretfile.write(secret_content) assert secretfile.read() == secret_content key = helpers.generate_256bit_key().decode('utf-8') crypto.encrypt_file(jwd=secretfile.dirpath().strpath, filepath=secretfile.strpath, key=key) # File has changed assert secretfile.read() != secret_content # File has the header (which we now assume means it is encrypted, # which might be presumptuous.) assert crypto.ENCRYPTED_BY_HEADER in secretfile.read() crypto.decrypt_file(jwd=secretfile.dirpath().strpath, filepath=secretfile.strpath, key=key) # Back to original assert secretfile.read() == secret_content
def test_generate_256bit_key(): key = helpers.generate_256bit_key() assert len(key) == 64 assert isinstance(key, six.binary_type)