Example #1
0
    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)
Example #2
0
 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)
Example #3
0
File: yacg.py Project: OkieOth/yacg
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)
Example #4
0
 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))
Example #5
0
 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))
Example #6
0
 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))
Example #7
0
    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)