コード例 #1
0
    def REQ002(self):
        
        # Test missing required argumentes
        self.trace('REQ002')
        testException(self, msg='No required arguments present', requirement="REQ002")
        testException(self, '-x %s -i %s' %(external, implantable), requirement="REQ002", msg='environment missing')
        testException(self, '-e %s -i %s' %(environment, implantable), requirement="REQ002", msg='external missing')
        testException(self, '-e %s -x %s' %(environment, external), requirement="REQ002", msg='implantable missing')
        testException(self, "-e %s -x %s -i %s -p pgsim='true'" %(environment, external, implantable), requirement="REQ002", msg='incorrect optional value')
        testException(self, "-e %s -x %s -i %s -p pgsim=otherVal" %(environment, external, implantable), requirement="REQ002", msg='incorrect optional value')
        testException(self, "-e %s -x %s -i %s -p pgsim=True,brwsr=False" %(environment, external, implantable), requirement="REQ002", msg='incorrect optional value')

        # Test optional parameter defaults
        argDict = {'env':self.env, 'external':external, 'implantable':implantable}
        testDefaultSuccess(self, argDict, requirement="REQ002", msg='default parameters')
        
        # Test correct command lines
        argDict = {'env':self.env, 'external':external, 'implantable':implantable}
        testSuccess(self, argDict, requirement="REQ002")
        argDict = {'env':self.env, 'external':external, 'implantable':implantable, 'pgsim':True}
        testSuccess(self, argDict, requirement="REQ002")
        argDict = {'env':self.env, 'external':external, 'implantable':implantable, 'pgsim':False}
        testSuccess(self, argDict, requirement="REQ002")
        argDict = {'env':self.env, 'external':external, 'implantable':implantable, 'debug': '-d'}
        testSuccess(self, argDict, requirement="REQ002")
        
        # Test Setup method
        commandString = '-e %s -x %s -i %s' % (self.env.name, external, implantable)
        setCommandLine(commandString)          
        
        # Create a class to attach the objects that will be setup by KomodoRS
        class DummyObject(object):
            pass
        
        try:
            dObj = DummyObject()
            komodors.komodoRSSetUp(dObj)
            self.verifyTrue(hasattr(dObj, 'context'), msg='context added to object')
            self.verifyEqual(type(dObj.context), dict, msg='context type')
            self.verifyTrue(hasattr(dObj, 'brwsr'), msg='browser added to object')
            self.verifyEqual(type(dObj.brwsr), komodors.pocweb.Browser, msg='browser type')
            self.verifyTrue(hasattr(dObj, 'dataFactory'), msg='enrollment added to object')
            self.verifyEqual(type(dObj.dataFactory), komodors.enrollment.RockSpringsEnroller, msg='enrollment type')

        except:
            self.log.exception()
            self.verifyFailed(msg='komodoRSSetUp failure')
            raise # Test cannot go on from here
        
        # Test TearDown
        # As this method only breaks things down, it is only necessary to test that the
        # method handles all internal exceptions correctly.
        try:
            komodors.komodoRSTearDown(dObj)
            self.verified(msg='komodoRSTearDown success')
        except:
            self.log.exception()
            self.verifyFailed(msg='komodoRSTearDown failure')
            raise
コード例 #2
0
 def REQ003(self):
     self.trace('REQ003')
     argDict = {'env':self.env, 'external':external, 'implantable':implantable}
     commandString = '-e %s -x %s -i %s' % (argDict['env'].name, argDict['external'], argDict['implantable'])
     setCommandLine(commandString)    
     resultTestContext = komodors.getTestContext()
     self.verifyEqual(perseus.availability.getImplantable(), implantable, msg='implantable')
     self.verifyEqual(perseus.availability.getExternal(), external, msg='external')
コード例 #3
0
def testDefaultSuccess(klass, argDict, requirement, msg=None):
    klass.trace(requirement)   
    commandString = '-e %s -x %s -i %s' % (argDict['env'].name, argDict['external'], argDict['implantable'])
    setCommandLine(commandString)    
    resultTestContext = komodors.getTestContext()
    klass.verifyEqual(resultTestContext['pgsim'], False, msg=msg)
    klass.verifyEqual(resultTestContext['brwsr'], komodors.BROWSER_DEFAULT, msg=msg)
    from komodors import logger as komodorslogger
    klass.verifyEqual(komodorslogger.getEffectiveLevel(), 0, msg=msg) # 0 = NOTSET
コード例 #4
0
def testException(klass, commandLine=None, requirement='default', msg=None):
    klass.trace(requirement)  
    setCommandLine(commandLine)
    try:
        testContext = komodors.getTestContext()
        klass.verifyFailed(msg=msg)
    except (komodors.MissingCommandLineParamError, komodors.UnrecognizedCommandLineParamError):
        klass.verified(msg=msg)
    except Exception as e:
        klass.log.exception(msg=msg)
        klass.verifyFailed(msg=msg)
コード例 #5
0
def testSuccess(klass, argDict, requirement='default', msg=None):
    klass.trace(requirement)   
    commandString = '-e %s -x %s -i %s' % (argDict['env'].name, argDict['external'], argDict['implantable'])
    if 'pgsim' in argDict or 'brwsr' in argDict:
        commandString += ' -p '
        if 'pgsim' in argDict:
            commandString += 'pgsim=%s' % argDict['pgsim']
        if 'brwsr' in argDict:
            commandString += 'brwsr=%s' % argDict['brwsr']            
    if 'debug' in argDict:
        commandString += ' '+argDict['debug']
        
    setCommandLine(commandString)    
    resultTestContext = komodors.getTestContext()
    for arg, val in argDict.iteritems():
        if arg == 'debug': #special case: not checking a value
            from komodors import logger as komodorslogger
            klass.verifyEqual(komodorslogger.getEffectiveLevel(), 10, msg=msg) # 10 - DEBUG
            
        elif val.__class__ in (str, int, long, dict, list): # check builtin types
            klass.verifyEqual(val, resultTestContext[arg], msg=msg)
            
        else: # check KomodoRS objects
            klass.verifyEqual(type(val), type(resultTestContext[arg]), msg=msg)