def test_make_validator_handlers_use_local_meta_schema():
    try:
        validator = make_validator(
            {"$ref": "https://somewhere/does/not/exist"},
            base_uri="http://localhost/")
        validator.validate(True)
    except Exception:  # pylint: disable=broad-except
        pytest.fail("Unexpect error, should success")
def test_make_validator_handlers_time_out():
    from time import sleep

    @Request.application
    def application(request):  # pylint: disable=unused-argument
        sleep(3)
        return Response("true", mimetype="application/json")

    with wsgi_serve(application) as server:
        with pytest.raises(jsonschema.exceptions.RefResolutionError) as excinfo:
            validator = make_validator(
                {"$ref": server.url}, base_uri="http://localhost/", timeout=0.5
            )
            validator.validate(True)
    assert "Read timed out" in str(excinfo.value)
Example #3
0
def __make_resource_validator(base_uri=None, timeout=TIMEOUT_IN_SECONDS):
    schema = resource_json(
        __name__,
        "../../src/rpdk/core/data/schema/provider.definition.schema.modules.v1.json",
    )
    return make_validator(schema, base_uri=base_uri)
def test_tag_wrong(schema):
    tag_config = schema["definitions"]["Tag"]
    validator = make_validator(tag_config)

    with pytest.raises(ValidationError):
        validator.validate({"Key": "aws:123abc", "Value": "aws:123abc"})
def test_tag_correct(schema):
    tag_config = schema["definitions"]["Tag"]
    validator = make_validator(tag_config)

    validator.validate({"Key": "123abc", "Value": "123abc"})
def test_availbilityzone_wrong(schema):
    availbilityzone_config = schema["definitions"]["AvailabilityZone"]
    validator = make_validator(availbilityzone_config)

    with pytest.raises(ValidationError):
        validator.validate("us-west")
def test_availbilityzone_correct(schema):
    availbilityzone_config = schema["definitions"]["AvailabilityZone"]
    validator = make_validator(availbilityzone_config)

    validator.validate("us-wast-2b")
def test_arn_wrong(schema):
    arn_config = schema["definitions"]["Arn"]
    validator = make_validator(arn_config)

    with pytest.raises(ValidationError):
        validator.validate("arn:aws:rds:eu-west-1:1234")
def test_arn_correct(schema):
    arn_config = schema["definitions"]["Arn"]
    validator = make_validator(arn_config)

    validator.validate("arn:aws:rds:eu-west-1:123456789012:db:mysql-db")