def METHOD_NAME():
    models = [
        {
            "name": "value",
            "key": "value",
            "type": "any",
            "models": [{"type": "integer"}, {"type": "text", "text_type": "search"}],
        }
    ]
    # Test integer and random other key.
    ts = TinyShield(models).block({"value": 1, "another_value": 2})
    assert ts["value"] == 1
    assert ts.get("another_value") is None
    # Test integer masquerading as a string.
    ts = TinyShield(models).block({"value": "1"})
    assert ts["value"] == 1
    # Test string.
    ts = TinyShield(models).block({"value": "XYZ"})
    assert ts["value"] == "XYZ"
    # Test list (which should blow up).
    with pytest.raises(UnprocessableEntityException):
        TinyShield(models).block({"value": ["XYZ"]})
    # Test with optional 'value' missing.
    ts = TinyShield(models).block({"another_value": 2})
    assert ts.get("value") is None
    assert ts.get("another_value") is None
    # Make 'value' required then run the same tests as above.
    models[0]["optional"] = False
    # Test integer and random other key.
    ts = TinyShield(models).block({"value": 1, "another_value": 2})
    assert ts["value"] == 1
    assert ts.get("another_value") is None
    # Test integer masquerading as a string.
    ts = TinyShield(models).block({"value": "1"})
    assert ts["value"] == 1
    # Test string.
    ts = TinyShield(models).block({"value": "XYZ"})
    assert ts["value"] == "XYZ"
    # Test list (which should blow up).
    with pytest.raises(UnprocessableEntityException):
        TinyShield(models).block({"value": ["XYZ"]})
    # Test with required 'value' missing.
    with pytest.raises(UnprocessableEntityException):
        TinyShield(models).block({"another_value": 2})