def test_valid_data(self): """Check passing valid data as per criteria""" args = [DATA, CRITERIA_IN_RATE_CHECK] kwargs = {"engine": "ansible.utils.jsonschema"} result = validate(*args, **kwargs) self.assertEqual(result, [])
def test_invalid_validate_plugin_config_options(self): """Check passing invalid validate plugin options""" args = [ DATA, [ CRITERIA_CRC_ERROR_CHECK, CRITERIA_ENABLED_CHECK, CRITERIA_OPER_STATUS_UP_CHECK, ], ] kwargs = {"engine": "ansible.utils.jsonschema", "draft": "draft0"} with self.assertRaises(AnsibleFilterError) as error: validate(*args, **kwargs) self.assertIn( "value of draft must be one of: draft3, draft4, draft6, draft7, got: draft0", str(error.exception), )
def test_invalid_argspec(self): """Check passing invalid argspec""" # missing required arguments args = [DATA] kwargs = {} with self.assertRaises(AnsibleFilterError) as error: validate(*args, **kwargs) self.assertIn( "Missing either 'data' or 'criteria' value in filter input, refer 'ansible.utils.validate' filter", str(error.exception), ) # missing required arguments with self.assertRaises(AnsibleFilterError) as error: validate([DATA], {}) self.assertIn( "Expected value of 'data' option is either dict or str, received type", str(error.exception), ) args = [DATA, [CRITERIA_IN_RATE_CHECK]] kwargs = {"engine": "ansible.utils.sample"} with self.assertRaises(AnsibleFilterError) as error: validate(*args, **kwargs) self.assertIn( "For engine 'ansible.utils.sample' error loading", str(error.exception), ) args = ["invalid data", [CRITERIA_IN_RATE_CHECK]] kwargs = {"engine": "ansible.utils.jsonschema"} with self.assertRaises(AnsibleFilterError) as error: validate(*args, **kwargs) self.assertIn("'data' option value is invalid", str(error.exception)) args = [DATA, "invalid criteria"] kwargs = {"engine": "ansible.utils.jsonschema"} with self.assertRaises(AnsibleFilterError) as error: validate(*args, **kwargs) self.assertIn("'criteria' option value is invalid", str(error.exception))