def createTest(testSteps=''): testLibraryClass = supermod.testLibraryType() referencesClass =supermod.referencesType() sourceClass = supermod.sourceType() timestamp = datetime.datetime.now().replace(microsecond=0).isoformat() sourceObj = sourceClass.factory(filename='', args='', type_='Manual', result='Not Tested', enabled=True, timestamp=timestamp, output='') udtsClass = supermod.udtsType() testLibraryObj = testLibraryClass.factory(expiryDate='', expiryPeriod=0, steps=convertText2Html(testSteps), notes='', references=referencesClass, source=sourceObj, udts=udtsClass) return testLibraryObj
def createProject(scObject, productProperties, componentDefinitions, supportedStandards, rules): libName = productProperties['Library Name']['Values'] libRef = productProperties['Library Ref']['Values'] libDesc = productProperties['Library Desc']['Values'] logger.info("Creating library with Name: " + libName + " and Reference: " + libRef) rootClass = supermod.libraryType() udtsClass = supermod.udtsType() dataflowsClass = supermod.dataflowsType() componentDefinitionsClass = supermod.componentDefinitionsType() supportedStandardsClass = supermod.supportedStandardsType() componentsLibraryClass = supermod.componentsLibraryType() rulesClass = supermod.rulesType() categoryComponentsClass = createCategoryComponents(componentDefinitions) componentDefinitionsClass = createComponentDefinitions( componentDefinitions) supportedStandardsClass = createSupportedStandards(supportedStandards) componentsLibraryClass = createComponents(scObject) rulesClass = createRules(rules) rootClass.set_udts(udtsClass) rootClass.set_dataflows(dataflowsClass) rootClass.set_categoryComponents(categoryComponentsClass) rootClass.set_supportedStandards(supportedStandardsClass) rootClass.set_components(componentsLibraryClass) rootClass.set_rules(rulesClass) rootObj = rootClass.factory(name=libName, ref=libRef, revision=1, type_='LIBRARY', status='OPEN', enabled='true', priority=0, tags='', workflowState='', desc=libDesc, udts=udtsClass, dataflows=dataflowsClass, categoryComponents=categoryComponentsClass, componentDefinitions=componentDefinitionsClass, supportedStandards=supportedStandardsClass, components=componentsLibraryClass, rules=rulesClass) return rootObj
def createControls(refs, names, descs, testsSteps, referencesForControls, standardsForControl): controlsLibraryClass = supermod.controlsLibraryType() controlLibraryClass = supermod.controlLibraryType() implementationsClass = supermod.implementationsType() standardsClass = supermod.standardsType() udtsClass = supermod.udtsType() for name, ref, desc, testSteps, referencesForControl, standardsForControl in zip(names, refs, descs, testsSteps, referencesForControls, standardsForControl): logger.info("Creating control with Name: " + name + " and Reference: " + ref + " and URL References: " + referencesForControl) referencesClass = createReferences(referencesForControl) standardsClass = createStandards(standardsForControl) testLibraryObj = createTest(testSteps=testSteps) controlLibraryObj = controlLibraryClass.factory(ref=ref, name=name, desc=convertText2Html(desc), platform='', cost='1', risk='0', state='Recommended', owner='', library='', source='MANUAL', test=testLibraryObj, implementations= implementationsClass, references=referencesClass, standards=standardsClass, udts=udtsClass) controlsLibraryClass.add_control(controlLibraryObj) return controlsLibraryClass