Ejemplo n.º 1
0
    def test_merge_array_schema_overwrite_false(self):
        s1 = {
            "type": "array",
            "items": [{
                "type": "string"
            }],
            "uniqueItems": True,
            "minItems": 1,
            "maxItems": 10,
        }

        s2 = {
            "type": "array",
            "items": [{
                "type": "number"
            }],
            "uniqueItems": True,
            "minItems": 10,
            "maxItems": 100,
        }

        expected = {
            "type": "array",
            "items": [{
                "type": "string"
            }],
            "uniqueItems": True,
            "minItems": 1,
            "maxItems": 10,
        }

        self.assertDictEqual(expected, schema_util.merge_schema(s1, s2, False))
Ejemplo n.º 2
0
    def test_merge_object_schema_overwrite_false(self):
        s1 = {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "counter": {
                    "type": "integer"
                }
            },
            "required": ["name"],
            "additionalProperties": False,
        }

        s2 = {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "counter": {
                    "type": "number"
                }
            },
            "required": ["counter"],
            "additionalProperties": True,
        }

        expected = {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "counter": {
                    "type": "integer"
                },
            },
            "required": ["counter", "name"],
            "additionalProperties": False,
        }

        self.assertDictEqual(expected, schema_util.merge_schema(s1, s2, False))
Ejemplo n.º 3
0
    def test_merge_object_schema_patterned_properties_overwrite_false(self):
        s1 = {
            "type": "object",
            "patternProperties": {
                "^version$": {
                    "type": "integer"
                }
            },
            "minProperties": 1,
            "maxProperties": 100,
        }

        s2 = {
            "type": "object",
            "patternProperties": {
                r"^version$": {
                    "type": "number"
                },
                r"^(?!version)\w+$": {
                    "type": "string"
                },
            },
            "minProperties": 0,
            "maxProperties": 10,
        }

        expected = {
            "type": "object",
            "patternProperties": {
                r"^version$": {
                    "type": "integer"
                },
                r"^(?!version)\w+$": {
                    "type": "string"
                },
            },
            "minProperties": 1,
            "maxProperties": 100,
        }

        self.assertDictEqual(expected, schema_util.merge_schema(s1, s2, False))