Exemple #1
0
    def test_schema(self, case):

        failure_case = case.startswith("fail")
        template = getattr(TestTemplates, case)

        if failure_case:

            with self.assertRaises(ValueError):
                PolicyTemplatesProcessor._is_valid_templates_dict(template)

        else:
            # Success case
            self.assertTrue(PolicyTemplatesProcessor._is_valid_templates_dict(template))
Exemple #2
0
    def test_is_valid_templates_dict_must_bubble_unhandled_exceptions(self, read_schema_mock, jsonschema_validate_mock):
        policy_templates_dict = {
            "key": "value"
        }

        schema = "some schema"
        exception_msg = "exception"

        read_schema_mock.return_value = schema
        jsonschema_validate_mock.side_effect = TypeError(exception_msg)

        with self.assertRaises(TypeError):
            PolicyTemplatesProcessor._is_valid_templates_dict(policy_templates_dict)
Exemple #3
0
    def test_is_valid_templates_dict_must_raise_for_invalid_input(self, read_schema_mock, jsonschema_validate_mock):
        policy_templates_dict = {
            "key": "value"
        }

        schema = "some schema"
        exception_msg = "exception"

        read_schema_mock.return_value = schema
        jsonschema_validate_mock.side_effect = ValidationError(exception_msg)

        with self.assertRaises(ValueError) as cm:
            PolicyTemplatesProcessor._is_valid_templates_dict(policy_templates_dict)

        ex = cm.exception
        self.assertEquals(str(ex), exception_msg)
Exemple #4
0
    def test_is_valid_templates_dict_must_use_input_schema(self, read_schema_mock, jsonschema_validate_mock):
        policy_templates_dict = {
            "key": "value"
        }

        schema = "some schema"
        jsonschema_validate_mock.return_value = True

        result = PolicyTemplatesProcessor._is_valid_templates_dict(policy_templates_dict, schema)
        self.assertTrue(result)

        jsonschema_validate_mock.assert_called_once_with(policy_templates_dict, schema)
        read_schema_mock.assert_not_called()  # must not read schema if one is given
Exemple #5
0
    def test_is_valid_templates_dict_must_use_default_schema(self, read_schema_mock, jsonschema_validate_mock):
        policy_templates_dict = {
            "key": "value"
        }

        schema = "some schema"
        read_schema_mock.return_value = schema
        jsonschema_validate_mock.return_value = True

        result = PolicyTemplatesProcessor._is_valid_templates_dict(policy_templates_dict)
        self.assertTrue(result)

        jsonschema_validate_mock.assert_called_once_with(policy_templates_dict, schema)
        read_schema_mock.assert_called_once_with()