Example #1
0
def test_config_as_json_schema():
    schema = config_as_json_schema()

    assert "$schema" in schema
    assert "bus" in schema["properties"]
    assert schema["additionalProperties"] == False
    assert schema["type"] == "object"
Example #2
0
    def handle(self, args):
        schema = json_encode(config_as_json_schema(), indent=2, sort_keys=True)

        if args.out:
            with open(args.out, "w", encoding="utf8") as f:
                f.write(schema)
        else:
            print(schema)
Example #3
0
def test_config_as_json_schema_dump():
    """Make sure we can encode the schema as json

    We may have some custom types kicking around (i.e. frozendict())
    """
    schema = config_as_json_schema()
    encoded = json_encode(schema)
    assert encoded
    json.loads(encoded)
Example #4
0
    def handle(self, args, config, plugin_registry: PluginRegistry):
        self.setup_logging(args.log_level or "warning", config)

        bus_module, bus = self.import_bus(args)

        schema = json_encode(config_as_json_schema(), indent=2, sort_keys=True)

        if args.schema:
            with open(args.schema, "w", encoding="utf8") as f:
                f.write(schema)
        else:
            print(schema)
Example #5
0
def test_config_as_json_schema_apis():
    schema = config_as_json_schema()
    assert schema["properties"]["apis"]

    bus_config_schema = schema["properties"]["bus"]
    api_config_schema = schema["properties"]["apis"]["additionalProperties"][
        "properties"]

    assert api_config_schema["event_transport"]["anyOf"][0]["type"] == "object"
    assert api_config_schema["rpc_transport"]["anyOf"][0]["type"] == "object"
    assert api_config_schema["result_transport"]["anyOf"][0][
        "type"] == "object"

    assert api_config_schema["rpc_timeout"]["type"] == "integer"
    assert api_config_schema["event_listener_setup_timeout"][
        "type"] == "integer"
    assert api_config_schema["event_fire_timeout"]["type"] == "integer"
    assert api_config_schema["validate"]["anyOf"]

    assert (bus_config_schema["properties"]["schema"]["properties"]
            ["transport"]["anyOf"][0]["type"] == "object")
Example #6
0
def test_config_as_json_schema_redis():
    schema = config_as_json_schema()

    bus_config_schema = schema["properties"]["bus"]
    api_config_schema = schema["properties"]["apis"]["patternProperties"][
        ".*"]["properties"]

    redis_rpc_transport = api_config_schema["rpc_transport"]["properties"][
        "redis"]["oneOf"][0]
    redis_result_transport = api_config_schema["result_transport"][
        "properties"]["redis"]["oneOf"][0]
    redis_event_transport = api_config_schema["event_transport"]["properties"][
        "redis"]["oneOf"][0]

    assert redis_rpc_transport["type"] == "object"
    assert redis_result_transport["type"] == "object"
    assert redis_event_transport["type"] == "object"

    redis_schema_transport = bus_config_schema["properties"]["schema"][
        "properties"]["transport"]["properties"]["redis"]["oneOf"][0]
    assert redis_schema_transport["type"] == "object"
Example #7
0
def test_config_as_json_schema_apis():
    schema = config_as_json_schema()
    assert schema["properties"]["apis"]
    assert ".*" in schema["properties"]["apis"]["patternProperties"]

    bus_config_schema = schema["properties"]["bus"]
    api_config_schema = schema["properties"]["apis"]["patternProperties"][
        ".*"]["properties"]

    assert api_config_schema["event_transport"]["type"] == "object"
    assert api_config_schema["rpc_transport"]["type"] == "object"
    assert api_config_schema["result_transport"]["type"] == "object"

    assert api_config_schema["rpc_timeout"]["type"] == "number"
    assert api_config_schema["event_listener_setup_timeout"][
        "type"] == "number"
    assert api_config_schema["event_fire_timeout"]["type"] == "number"
    assert api_config_schema["validate"]["oneOf"]

    assert bus_config_schema["properties"]["schema"]["properties"][
        "transport"]["type"] == "object"
Example #8
0
def test_config_as_json_schema_bus():
    schema = config_as_json_schema()
    assert schema["properties"]["bus"]