def _assert_valid(data): swagger = loads(data) # validation works as expected swagger.validate() # validation of internal model also works swagger.info.validate()
def _validate(): api_gen = ApiGen() api_gen.read('./spec/root.json') api_gen.init() api_gen.generate_paths() json_string = json.dumps(api_gen.spec) swagger = loads(json_string) errors = swagger.validate() if errors is None: print "Schema validated successfully :)" else: print errors
def _assert_load_and_dump(data): # load the data as a Swagger object swagger = loads(data) assert_that(swagger, is_(instance_of(Swagger))) # attribute access produces model objects assert_that(swagger.info, is_(instance_of(Info))) assert_that(swagger.info.license, is_(instance_of(License))) assert_that(swagger.consumes, is_(instance_of(MediaTypeList))) assert_that(swagger.paths, is_(instance_of(Paths))) # key access produces model objects path_key = next(iter(swagger.paths.keys())) assert_that(swagger.paths[path_key], is_(instance_of(PathItem))) # index access produces model objects assert_that(swagger.consumes[0], is_(instance_of(MimeType))) # attribute access handles Pythonic syntax assert_that(swagger.base_path, is_(not_none())), assert_that(swagger.basePath, is_(not_none())), # dumping the data back as a raw data returns equivalent input assert_that(dumps(swagger), is_(equal_to_json(data)))