From 228aa603fad4bb037acd50653bd1972d2f6bc313 Mon Sep 17 00:00:00 2001 From: Landson Date: Wed, 18 Mar 2020 13:42:40 -0400 Subject: [PATCH] add tests for tty check --- test/units/cli/test_vault.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/units/cli/test_vault.py b/test/units/cli/test_vault.py index 9f2ba6853d7..3fb2f169ba7 100644 --- a/test/units/cli/test_vault.py +++ b/test/units/cli/test_vault.py @@ -154,7 +154,28 @@ class TestVaultCli(unittest.TestCase): mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] cli = VaultCLI(args=['ansible-vault', 'create', '/dev/null/foo']) cli.parse() + self.assertRaisesRegex(errors.AnsibleOptionsError, + "not a tty, editor cannot be opened", + cli.run) + + @patch('ansible.cli.vault.VaultCLI.setup_vault_secrets') + @patch('ansible.cli.vault.VaultEditor') + def test_create_skip_tty_check(self, mock_vault_editor, mock_setup_vault_secrets): + mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] + cli = VaultCLI(args=['ansible-vault', 'create', '--skip-tty-check', '/dev/null/foo']) + cli.parse() + cli.run() + + @patch('ansible.cli.vault.VaultCLI.setup_vault_secrets') + @patch('ansible.cli.vault.VaultEditor') + def test_create_with_tty(self, mock_vault_editor, mock_setup_vault_secrets): + mock_setup_vault_secrets.return_value = [('default', TextVaultSecret('password'))] + self.tty_stdout_patcher = patch('ansible.cli.sys.stdout.isatty', return_value=True) + self.tty_stdout_patcher.start() + cli = VaultCLI(args=['ansible-vault', 'create', '/dev/null/foo']) + cli.parse() cli.run() + self.tty_stdout_patcher.stop() @patch('ansible.cli.vault.VaultCLI.setup_vault_secrets') @patch('ansible.cli.vault.VaultEditor')