def test_contraint_object_properties_and_pattern_properties():
    flattener = JsonSchemaFlattener({})
    schema = {
        "properties": {
            "foo": {
                "type": "string"
            }
        },
        "patternProperties": {
            "type": "string"
        },
    }
    with pytest.raises(ConstraintError) as excinfo:
        flattener._flatten_object_type(schema, (UNIQUE_KEY, ))
    assert UNIQUE_KEY in str(excinfo.value)
def test_contraint_object_additional_properties_invalid():
    flattener = JsonSchemaFlattener({})
    schema = {"additionalProperties": {"type": "string"}}
    with pytest.raises(ConstraintError) as excinfo:
        flattener._flatten_object_type(schema, (UNIQUE_KEY, ))
    assert UNIQUE_KEY in str(excinfo.value)
def test_contraint_object_additional_properties_valid():
    flattener = JsonSchemaFlattener({})
    schema = {}
    result = flattener._flatten_object_type(schema, (UNIQUE_KEY, ))
    assert result == schema