From c744ff219868b58d9bd9ae00d9b73c71633606c9 Mon Sep 17 00:00:00 2001 From: Mathieu Bultel Date: Tue, 12 May 2020 17:12:28 +0200 Subject: [PATCH] Raise exception if no validation is found In addition, I have to fix pep8 issue, due to new version Change-Id: I04728bfdb6473c47c248a4a56bb8df647c51f5ef (cherry picked from commit ade5d57a3ebeedac2fa27801bf54a10082e97d7d) --- validations_libs/tests/test_validation_actions.py | 10 ++++++++++ validations_libs/validation_actions.py | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/validations_libs/tests/test_validation_actions.py b/validations_libs/tests/test_validation_actions.py index f2fd0e95..1caf78aa 100644 --- a/validations_libs/tests/test_validation_actions.py +++ b/validations_libs/tests/test_validation_actions.py @@ -81,6 +81,16 @@ class TestValidationActions(TestCase): validations_dir='/tmp/foo') self.assertEqual(run_return, expected_run_return) + @mock.patch('validations_libs.utils.get_validations_playbook') + def test_validation_run_wrong_validation_name(self, mock_validation_play): + mock_validation_play.return_value = [] + + run = ValidationActions() + self.assertRaises(RuntimeError, run.run_validations, + validation_name='fake.yaml', + validations_dir='/tmp/foo' + ) + @mock.patch('validations_libs.validation_logs.ValidationLogs.get_results') @mock.patch('validations_libs.utils.parse_all_validations_on_disk') @mock.patch('validations_libs.ansible.Ansible.run') diff --git a/validations_libs/validation_actions.py b/validations_libs/validation_actions.py index d77798eb..6cafa3e0 100644 --- a/validations_libs/validation_actions.py +++ b/validations_libs/validation_actions.py @@ -88,6 +88,10 @@ class ValidationActions(object): playbooks = v_utils.get_validations_playbook(validations_dir, validation_name, group) + if not playbooks: + msg = "Validation {} not found in {}.".format(validation_name, + validations_dir) + raise RuntimeError(msg) else: raise RuntimeError("No validations found")