示例#1
0
    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, [])
示例#2
0
    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),
        )
示例#3
0
    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))