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
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')
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
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)
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)