def testJavaBeanTemplateWithFilter(self): dirpath = Path('tmp', 'javaBeans3') if dirpath.exists() and dirpath.is_dir(): shutil.rmtree(dirpath) modelFile = 'resources/models/yaml/userConfig.swagger.yaml' modelFileExists = os.path.isfile(modelFile) self.assertTrue('model file exists: ' + modelFile, modelFileExists) model = config.Model() model.schema = modelFile modelTypes = getModelFromYaml(model, []) templateFile = 'resources/templates/examples/javaBeans.mako' templateFileExists = os.path.isfile(templateFile) self.assertTrue('template file exists: ' + templateFile, templateFileExists) templateParameters = [] templateParam = config.TemplateParam() templateParam.name = 'modelPackage' templateParam.value = 'de.test.model' templateParameters.append(templateParam) multiFileTask = MultiFileTask() multiFileTask.template = templateFile multiFileTask.destDir = 'tmp/javaBeans3/de/test/model' multiFileTask.destFileExt = 'java' multiFileTask.upperCaseStartedDestFileName = True multiFileTask.fileFilterType = MultiFileTaskFileFilterTypeEnum.OPENAPIOPERATIONID multiFileTask.templateParams = templateParameters whiteList = [] whiteListEntry = BlackWhiteListEntry() whiteListEntry.name = 'PathType' whiteListEntry.type = BlackWhiteListEntryTypeEnum.TYPETYPE whiteList.append(whiteListEntry) renderMultiFileTemplate(modelTypes, (), whiteList, multiFileTask)
def test_openApiV3Yaml(self): modelFile = 'tests/resources/models/yaml/examples/openapi_v3_example.yaml' modelFileExists = os.path.isfile(modelFile) self.assertTrue('model file exists: ' + modelFile, modelFileExists) model = config.Model() model.schema = modelFile modelTypes = getModelFromYaml(model, [], True) self._checkUpTypes(modelTypes)
def readModels(configJob, flattenInheritance): """reads all desired models and build the model object tree from it""" loadedTypes = [] yamlExtensions = set(['.yaml', '.yml']) for model in configJob.models: fileExt = getFileExt(model.schema) if fileExt.lower() in yamlExtensions: loadedTypes = getModelFromYaml(model, loadedTypes) else: loadedTypes = getModelFromJson(model, loadedTypes) return _postProcessLoadedModels(loadedTypes, flattenInheritance)
def testBackListedPathTypes(self): modelFile = 'resources/models/yaml/userConfig.swagger.yaml' model = config.Model() model.schema = modelFile modelTypes = getModelFromYaml(model, []) blackList = [] blackListEntry = BlackWhiteListEntry() blackListEntry.name = 'PathType' blackListEntry.type = BlackWhiteListEntryTypeEnum.TYPETYPE blackList.append(blackListEntry) modelTypesToUse = generatorHelper.trimModelTypes(modelTypes, blackList, ()) self.assertEqual(18, len(modelTypesToUse))
def testWhiteListedPathTypes(self): modelFile = 'resources/models/yaml/userConfig.swagger.yaml' modelFileExists = os.path.isfile(modelFile) self.assertTrue('model file exists: ' + modelFile, modelFileExists) model = config.Model() model.schema = modelFile modelTypes = getModelFromYaml(model, []) whiteList = [] whiteListEntry = BlackWhiteListEntry() whiteListEntry.name = 'PathType' whiteListEntry.type = BlackWhiteListEntryTypeEnum.TYPETYPE whiteList.append(whiteListEntry) modelTypesToUse = generatorHelper.trimModelTypes(modelTypes, (), whiteList) self.assertEqual(2, len(modelTypesToUse))
def test_compareSwaggerV2(self): modelFileJson = 'tests/resources/models/json/examples/swagger_v2_example.json' modelJson = config.Model() modelJson.schema = modelFileJson modelTypesJson = getModelFromJson(modelJson, [], True) modelFileYaml = 'tests/resources/models/yaml/examples/swagger_v2_example.yaml' modelYaml = config.Model() modelYaml.schema = modelFileYaml modelTypesYaml = getModelFromYaml(modelYaml, [], True) self.assertEqual(len(modelTypesJson), len(modelTypesYaml)) for i in range(len(modelTypesJson)): typeJson = modelTypesJson[i] typeYaml = modelTypesYaml[i] self.assertEqual(str(type(typeJson)), str(type(typeYaml))) if isinstance(typeJson, ComplexType): self.assertEqual(len(typeJson.properties), len(typeYaml.properties))
def testSingleTypeSchema(self): modelFile = 'resources/models/yaml/yacg_config_schema.yaml' modelFileExists = os.path.isfile(modelFile) self.assertTrue('model file exists: ' + modelFile, modelFileExists) model = config.Model() model.schema = modelFile modelTypes = getModelFromYaml(model, []) self.assertIsNotNone(modelTypes) self.assertEqual(8, len(modelTypes)) self._checkUpType(0, 'Job', 4, modelTypes) self._checkUpType(1, 'Model', 4, modelTypes) self._checkUpType(2, 'Task', 6, modelTypes) self._checkUpType(3, 'BlackWhiteListEntry', 2, modelTypes) self._checkUpType(4, 'BlackWhiteListEntryTypeEnum', 0, modelTypes) self._checkUpType(5, 'SingleFileTask', 3, modelTypes) self._checkUpType(6, 'TemplateParam', 2, modelTypes) self._checkUpType(7, 'MultiFileTask', 6, modelTypes)