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"
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)
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)
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)
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")
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"
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"
def test_config_as_json_schema_bus(): schema = config_as_json_schema() assert schema["properties"]["bus"]