def testOpenApiSchema(self): modelFile = 'resources/models/json/yacg_openapi_paths.json' modelFileExists = os.path.isfile(modelFile) self.assertTrue('model file exists: ' + modelFile, modelFileExists) model = config.Model() model.schema = modelFile modelTypes = getModelFromJson(model, []) templateFile = 'resources/templates/examples/pythonBeans.mako' template = Template(filename=templateFile) templateFileExists = os.path.isfile(modelFile) self.assertTrue('template file exists: ' + templateFile, templateFileExists) templateParameterDict = {} templateParameterDict['baseModelDomain'] = 'yacg.model.openapi' blackListList = [] # all types from the main model should be igrnored ... # blacklisted by domain example entryTag = config.BlackWhiteListEntry() entryTag.name = 'yacgCore' entryTag.type = config.BlackWhiteListEntryTypeEnum.DOMAIN blackListList.append(entryTag) trimmedTypes = generatorHelperFuncs.trimModelTypes(modelTypes, blackListList, None) renderResult = template.render( modelTypes=trimmedTypes, templateParameters=templateParameterDict) self.assertIsNotNone(renderResult) testOutputFile = "tmp/openapi.py" f = open(testOutputFile, "w+") f.write(renderResult) f.close()
def __blackWhiteListEntries2Objects(argsList): entryObjList = [] if argsList is None: return [] for entry in argsList: entryObj = config.BlackWhiteListEntry() keyValueArray = entry.split('=') entryObj.name = keyValueArray[0] if (len(keyValueArray) == 2): entryObj.type = config.BlackWhiteListEntryTypeEnum.valueForString( keyValueArray[1]) else: entryObj.type = config.BlackWhiteListEntryTypeEnum.TYPE entryObjList.append(entryObj) return entryObjList