Exemplo n.º 1
0
 def getDetail(self, testCaseId):
     
     NsmUtil.printHeadLine2('START: get detail test case ' + testCaseId)
     
     nameDash = self.createName.replace(' ', '-')
     debugDetailFilePath = Define._PathResponseCreateDefault + '/' + nameDash + '-detail-' + testCaseId + '.xml'
     
     if (self.isOffLine):
         self.logger.debug('get detail from file: ' + debugDetailFilePath)
         self.detailXml = Util.readFile(debugDetailFilePath)
     else:    
         try:
             self.getDetailUrl = Util.getXpathValue(self.createTaskXml, XPath._TaskElementUid)
         except:
             self.getDetailUrl = self.uid
         self.logger.info('get detail url: ' + self.getDetailUrl)
         self.detailXml = HttpUtil.doGet(self.getDetailUrl, Define._credential) if self.getDetailUrl and self.getDetailUrl != '' else None
         if self.detailXml:
             self.logger.debug('write detail to file: ' + debugDetailFilePath)
             Util.writeFile(debugDetailFilePath, self.detailXml)
                 
     if self.detailXml:
         self.uid = Util.getXpathValue(self.detailXml, XPath._DetailUid)
         self.logger.info('uid for ' + self.createName + ': ' + self.uid)
         self.getCatalogUrl = Util.getXpathValue(self.detailXml, XPath._DetailLinkCatalog)
         Element._uidList.append([self.uid, self.mySubClassName, self.createName])
     
     NsmUtil.printHeadLine2('END: get detail test case ' + testCaseId)
     return self.detailXml
Exemplo n.º 2
0
 def __init__(self, catalog, name=None, description=None, requestBodyFileName=None, requestParams=None):
     '''
     Constructor
     '''        
     Element.__init__(self)
     self.createName = name
     self.getCatalogUrl = Util.getXpathValue(catalog, XPath._TopIndexCatalogLinkHref)
     self.getProviderListUrl = Util.getXpathValue(catalog, XPath._TopIndexListProviderLinkHref)
Exemplo n.º 3
0
 def parseCatalog(self):
     for relKey in IpReservation._linkRelKeys:
         evalXpath = XPath._LinkIpReservation
         evalXpath = evalXpath.replace('${rel}', relKey)
         link = Util.getXpathValue(self.catalogXml, evalXpath)
         self.logger.info('Link of ' + relKey + ': ' + link)
         self.relLinkDictionary[relKey] = link
Exemplo n.º 4
0
 def populateCreateDescription(self, description):
     if not description:
         try:
             self.createDescription = self.requestParams['description']
         except KeyError:
             self.createDescription = Util.getXpathValue(Util.readFile(self.requestBodyFilePath), XPath._RequestBodyDescription)
             if (self.createDescription.startswith('$')):
                 raise ValueError('request body description [' + self.createDescription + '] is not defined in file ' + self.requestBodyFilePath)
Exemplo n.º 5
0
 def populateCreateName(self, name):
     if not name:
         try:
             self.createName = self.requestParams['name']
         except KeyError:
             self.createName = Util.getXpathValue(Util.readFile(self.requestBodyFilePath), XPath._RequestBodyName)
             if (self.createName.startswith('$')):
                 raise ValueError('request body name [' + self.createName + '] is not defined in file ' + self.requestBodyFilePath)
     self.logger.info('-----------> element object name or create name: ' + self.createName)
Exemplo n.º 6
0
    def checkResult(self):
        while self.taskXml and self._loopCount > 0:
            #if (self._loopCount == 10):
            #    self.logger.debug('task link self xpath: ' + XPath._TaskLinkSelf) 
            #    self.logger.debug('task status xpath: ' + XPath._TaskTaskStatus)

            selfUrl = Util.getXpathValue(self.taskXml, XPath._TaskLinkSelf)
            status = Util.getXpathValue(self.taskXml, XPath._TaskTaskStatus)
            taskResponseCode = Util.getXpathValue(self.taskXml, XPath._TaskResponseCode)
            self.logger.info('')
            self.logger.info('task status [' + str(self._loopCount) + ']: ------------------------------------->>> ' + taskResponseCode + ': ' + status)
            self.logger.info('')
            if status == 'success':
                return True
            elif status == 'failure':
                taskFaultType = Util.getXpathValue(self.taskXml, XPath._TaskFaultType)
                taskFaultMessag = Util.getXpathValue(self.taskXml, XPath._TaskFaultMessag)
                taskFaultArguments = Util.getXpathValue(self.taskXml, XPath._TaskFaultArguments)
                self.logger.info('')
                self.logger.info('')
                self.logger.info('---------------->>> Task result is FAILURE <<<--------------------')
                self.logger.info('')
                self.logger.info('fault type: ' + taskFaultType)
                self.logger.info('fault message: ' + taskFaultMessag)
                self.logger.info('fault arguments: ' + taskFaultArguments)
                self.logger.info('------------------------------------------------------------------')
                self.logger.info('')
                return False
            self._loopCount = self._loopCount - 1
            time.sleep(Task._loopInterval)
            self.taskXml = HttpUtil.doGet(selfUrl, Define._credential)
            
        return False
            
        
Exemplo n.º 7
0
 def parseCatalog(self, catalog):
     evalXpath = Element.evaluateXpath(self, XPath._CatalogUid)
     self.catalogUid = Util.getXpathValue(catalog, evalXpath)
     self.logger.info('catalog uid: ' + self.catalogUid)
     self.createUid = self.catalogUid
     
     evalXpath = Element.evaluateXpath(self, XPath._CatalogName)
     self.catalogName = Util.getXpathValue(catalog, evalXpath)
     self.logger.info('catalog name: ' + self.catalogName)
     
     evalXpath = Element.evaluateXpath(self, XPath._CatalogDescription)
     self.catalogDescription = Util.getXpathValue(catalog, evalXpath)
     self.logger.info('catalog description: ' + self.catalogDescription)
     
     evalXpath = Element.evaluateXpath(self, XPath._CatalogVersion)
     self.catalogVersion = Util.getXpathValue(catalog, evalXpath)
     self.logger.info('catalog version: ' + self.catalogVersion)
     
     evalXpath = Element.evaluateXpath(self, XPath._CatalogLinkSelf)
     self.catalogSelfUrl = Util.getXpathValue(catalog, evalXpath)
     self.logger.info('catalog self url: ' + self.catalogSelfUrl)
     
     evalXpath = Element.evaluateXpath(self, XPath._CatalogLinkCreate)
     self.catalogCreateUrl = Util.getXpathValue(catalog, evalXpath)
     self.logger.info('catalog create url: ' + self.catalogCreateUrl)
Exemplo n.º 8
0
 def getProviderList(self, testCaseId):
     providerListUrl = Util.getXpathValue(self.catalogXml, XPath._TopIndexListProviderLinkHref)
     return self.getList(providerListUrl, 'provider', testCaseId)
Exemplo n.º 9
0
if __name__ == '__main__':
    
    NsmUtil.mkPresetDir()
    
    logger = Util.getLogger(__file__)
    descriptionPrefix = 'This is the description of '
    
    name = 'My Default NSM V1'
    myNsmV1 = NsmV1(None, name)
    myNsmV1.setOnLine()
    myNsmV1.create('001')
    myNsmV1Catalog = myNsmV1.getCatalog('201')
    myNsmV1ProviderList = myNsmV1.getProviderList('301')
    
    firstProviderUidUrl =  Util.getXpathValue(myNsmV1ProviderList, XPath._DetailFirstUidFromList)
    print firstProviderUidUrl
    
    tenantListUrl = firstProviderUidUrl + '/tenant'
    print tenantListUrl

    tenantListXml = NsmUtil.getRequest(tenantListUrl)
    print tenantListXml

    firstTenantUidUrl =  Util.getXpathValue(tenantListXml, XPath._DetailFirstUidFromList)
    print firstTenantUidUrl
    
    name = 'My Default Tenant'
    myTenant = Tenant(None, name, None)
    myTenant.setOnLine()
    myTenant.setUid(firstTenantUidUrl)
Exemplo n.º 10
0
 def getPodList(self, testCaseId):
     podListUrl = Util.getXpathValue(self.detailXml, XPath._DetailLinkListPodHref)
     self.getList(podListUrl, 'pod', testCaseId)
     
     
     
Exemplo n.º 11
0
 def getInfrastructureIpAddressPoolUid(self):
     ipAddressPool = Util.getXpathValue(self.detailXml, XPath._LinkProviderInfrastructureIpAddressPool)
     self.logger.info('infrastructure ip address pool: ' + ipAddressPool)
     return ipAddressPool
Exemplo n.º 12
0
 def getParameterStringValueByName(self, parameterName):
     xpath = XPath._PodStringTypeValue
     xpath = xpath.replace('${parameter-name}', parameterName)
     parameterValue = Util.getXpathValue(self.createTaskXml, xpath)
     return parameterValue
Exemplo n.º 13
0
 def getSubPoolUid(self):
     ipAddressPool = Util.getXpathValue(self.detailXml, XPath._LinkExternalAccessLayer3VlanSubPool1)
     self.logger.info('layer 3 explicit subnet ip address sub pool 1: ' + ipAddressPool)
     return ipAddressPool
Exemplo n.º 14
0
 def getRoutablePrivateIpAddressPoolUid(self):
     ipAddressPool = Util.getXpathValue(self.detailXml, XPath._LinkTenantRoutablePrivateIpAddressPool)
     self.logger.info('routable private ip address pool: ' + ipAddressPool)
     return ipAddressPool
Exemplo n.º 15
0
if __name__ == '__main__':
    
    NsmUtil.mkPresetDir()
    
    logger = Util.getLogger(__file__)
    descriptionPrefix = 'This is the description of '
    
    name = 'My Default NSM V1'
    myNsmV1 = NsmV1(None, name)
    myNsmV1.setOnLine()
    myNsmV1.create('001')
    myNsmV1Catalog = myNsmV1.getCatalog('201')
    myNsmV1ProviderList = myNsmV1.getProviderList('301')
    
    firstProviderUidUrl =  Util.getXpathValue(myNsmV1ProviderList, XPath._DetailFirstUidFromList)
    
    name = 'My Default Top'
    myTop = Top(myNsmV1Catalog, name)
    myTop.setOnLine()
    myTop.create('001')
    myTopCatalog = myTop.getCatalog('201')
    
    name = 'My Default Provider'
    myProvider = Provider(myTopCatalog, name, None)
    myProvider.setOnLine()
    myProvider.setUid(firstProviderUidUrl)
    myProvider.delete('501')
    
    NsmUtil.printHeadLine1("Delete provider completed")
    sys.exit()
Exemplo n.º 16
0
 def getVlanRange(self):
     vlanRangeStart = Util.getXpathValue(self.createTaskXml, XPath._PodVlanRangeStart)
     vlanRangeEnd   = Util.getXpathValue(self.createTaskXml, XPath._PodVlanRangeEnd)
     return [vlanRangeStart, vlanRangeEnd]
     
     
Exemplo n.º 17
0
 def getGlobalIpAddressPoolUid(self):
     ipAddressPool = Util.getXpathValue(self.detailXml, XPath._LinkProviderGlobalIpAddressPool)
     self.logger.info('global ip address pool: ' + ipAddressPool)
     return ipAddressPool
Exemplo n.º 18
0
 def getTaskResponseProperty(responseXml, propertyName, propertyType):
     xpath = XPath._TaskResponseProperty
     xpath = xpath.replace('${property-name}', propertyName)
     xpath = xpath.replace('${property-type}', propertyType)
     propertyValue = Util.getXpathValue(responseXml, xpath)
     return propertyValue