def test_encrypt_string(self, mock_vault_editor, mock_setup_vault_secrets): mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] cli = VaultCLI( args=['ansible-vault', 'encrypt_string', 'some string to encrypt']) cli.parse() cli.run()
def test_encrypt_string_prompt(self, mock_display, mock_vault_editor, mock_setup_vault_secrets): mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] cli = VaultCLI(args=['ansible-vault', 'encrypt_string', '--prompt', 'some string to encrypt']) cli.parse() cli.run()
def test_encrypt_string_more_args_than_names(self, mock_vault_editor, mock_setup_vault_secrets): mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] cli = VaultCLI(args=['ansible-vault', 'encrypt_string', '--name', 'foo1', 'some string to encrypt', 'other strings', 'a few more string args']) cli.parse() cli.run()
def test_encrypt_string_stdin(self, mock_stdin_read, mock_vault_editor, mock_setup_vault_secrets): mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] cli = VaultCLI(args=['ansible-vault', 'encrypt_string', '--stdin-name', 'the_var_from_stdin', '-']) cli.parse() cli.run()
def test_shadowed_encrypt_string_prompt(self, mock_display, mock_vault_editor, mock_setup_vault_secrets): mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] cli = VaultCLI(args=['ansible-vault', 'encrypt_string', '--prompt', 'some string to encrypt']) cli.parse() cli.run() args, kwargs = mock_display.call_args assert kwargs["private"]
def run_ansible_vault(command, files): vault_password_file = VAULT_PASSWORD_FILENAME if os.path.exists(VAULT_PLAIN_PASSWORD_FILENAME): vault_password_file = VAULT_PLAIN_PASSWORD_FILENAME args = ['ansible-vault', command, '--vault-password-file={}'.format(vault_password_file,)] + files cli = VaultCLI(args) cli.parse() return cli.run()
def test_verbosity_arguments(cli_args, expected, tmp_path_factory, monkeypatch): # Add a password file so we don't get a prompt in the test test_dir = to_text(tmp_path_factory.mktemp('test-ansible-vault')) pass_file = os.path.join(test_dir, 'pass.txt') with open(pass_file, 'w') as pass_fd: pass_fd.write('password') cli_args.extend(['--vault-id', pass_file]) # Mock out the functions so we don't actually execute anything for func_name in [f for f in dir(VaultCLI) if f.startswith("execute_")]: monkeypatch.setattr(VaultCLI, func_name, MagicMock()) cli = VaultCLI(args=cli_args) cli.run() assert context.CLIARGS['verbosity'] == expected
def test_encrypt(self, mock_vault_editor, mock_setup_vault_secrets): mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] cli = VaultCLI(args=['ansible-vault', 'encrypt', '/dev/null/foo']) cli.parse() cli.run()