コード例 #1
0
def test_keyword_versioning():

    properties = {
        "type": "object",
        "properties": {
            "__type__": {
                "enum": ["label"]
            },
            "align": {
                "oneOf": [{
                    "type": "string",
                    "enum": ["left", "center", "right"],
                    "additionalProperties": False
                }, {
                    "type": "string",
                    "pattern": "^\\[(.*?)\\]$",
                    "description": "attribute"
                }],
                "metadata": {
                    "minVersion": 5.4
                }
            }
        }
    }

    v = Validator()
    assert "align" in properties["properties"].keys()
    properties = v.get_versioned_properties(properties, 5.2)
    print(json.dumps(properties, indent=4))
    assert "align" not in properties["properties"].keys()
コード例 #2
0
def test_property_versioning():

    properties = {
        "force": {
            "oneOf": [{
                "type": "boolean"
            }, {
                "enum": ["group"],
                "metadata": {
                    "minVersion": 6.2
                }
            }]
        }
    }

    v = Validator()
    assert "enum" in properties["force"]["oneOf"][1].keys()
    assert len(properties["force"]["oneOf"]) == 2
    properties = v.get_versioned_properties(properties, 6.0)
    print(json.dumps(properties, indent=4))
    assert len(properties["force"]["oneOf"]) == 1