How to use test_step method in Molotov

Best Python code snippet using molotov_python

mcTests.py

Source:mcTests.py Github

copy

Full Screen

1import xml.etree.ElementTree2import argparse3import os4import mc5import forrobot6from osc import ISC7import datastructUtils8from output import Output9import copy10from time import sleep11#############################################12## ISC Exception Classes13# class ISCException(Exception): pass14# class ISCDataError(ISCException): pass15# class ISCStatusError(ISCException): pass16# class ISCOperationalError(ISCException): pass17# class ISCTestError(ISCException): pass18from osc import ISCException19from osc import ISCDataError20from osc import ISCStatusError21from osc import ISCOperationalError22from osc import ISCTestError23##24#################################@###########25# ###########################################################26# ##27# ## Default Values28# ##29#30#31# ostack_rmq_info = {32# 'ishttps' : 'false',33# 'rabbitMQPort' : '5672',34# 'rabbitUser' : 'guest',35# 'rabbitMQPassword' : 'admin123'36# }37# 38# 39# ##ostack_info['keystoneurl'] = ( "http://" + ostack_info['keystoneip'] + ":5000/v2.0")40# ##ostack_info['keystoneurl'] = ( "http://%s:%s/%s" %( ostack_info['keystoneip'], ostack_info['keystoneport'], ostack_info['keystoneversion'] ))41# ostack_info['keystoneurl'] = ( "http://%s:%s/v%s" %( ostack_info['keystoneip'], ostack_info['keystoneport'], ostack_info['keystoneversion'] ))42# ostack_info['ostackurl'] = ostack_info['keystoneurl']43# 44# 45# 46# 47# policy_defaults = {48# 'smc_policy_template': 'Layer 2 Firewall Inspection Template',49# 'smc_policy': "smc_layer2_policy1"50# }51# 52# policy_info = {53# 'smc_policy_template': args['smc_policy_template'] or policy_defaults['smc_policy_template'],54# 'smc_policy': args['smc_policy'] or policy_defaults['smc_policy']55# }56# 57# 58# 59# ##60# ## Args: {'iscpassword': 'admin123', 'iscport': 8090, 'ostackip': '10.71.85.62', 'ostackversion': '2', 'keystoneip': '10.71.85.62', 'smc_policy': None, 'ostackprojectid': 'b38d21a9ac3b464492f1b8cb18d77a25', 'ostackuser': 'admin', 'vcname': 'vctest', 'keystoneuser': 'admin', 'smckey': None, 'keystonepassword': 'admin123', 'smc_policy_template': 'Layer 2 Firewall Inspection Template', 'smcversion': '5.10', 'smcproto': 'https', 'ostackpassword': 'admin123', 'smcport': None, 'iscuser': 'admin', 'ostackproject': 'admin', 'smcip': None, 'mcname': 'OSQAET-SMC', 'sgname': 'sgtest', 'iscip': '10.71.85.64'}61# ##62# ##63# ###########################################################64###########################################################65##66## ---------------- Begin Debug Code -----------------67##68#######################################################69#70# Regex Pattern Objects71#72# rgx = re.compile(r'\w+')73# print("\nLongevity - Line: 73 - RGX Type: %s RGX Obj: %s\n\n" %(type(rgx), rgx))74#75# RGX Type: (<class '_sre.SRE_Pattern'>)76# RGX Obj: re.compile('\\w+')77#78#######################################################79###########################################################################################################80###########################################################################################################81#---------------------------------------------------------------------82##83## ISC - MC Related Methods84##85# def createManagerConnector(self, mcname, smcip, smckey):86# def getManagerConnectorByID(self, mcid):87# def getDomainsofManagerConnector(self, mcid):88# def getManagerConnectors(self):89# def syncManagerConnector(self, name, mgrID, mgrIP):90# def updateManagerConnector(self, mcid, mcname, smcip, smckey):91# def deleteMC(self,mcid):92#93##94##95#---------------------------------------------------------------------96def createMC(osc, mc):97 osc.createMC(mc)98def updateMC(osc, mc, id):99 osc.updateMC(mc, id)100def deleteMC(osc, mcid):101 osc.deleteMC(mcid=mcid)102def getManagerConnectors(osc):103 return osc.getManagerConnectors()104def getMcID(osc, name):105 return osc.getManagerConnectorByName(name)106###107### _get_mgrconns(osc, mcname=None, mcid=None)108###109### Return existing Manager Connectors (MCs). If mcname is given, return only those MCs, if any, whose name110### matches mcname111###112###113def _get_mgrconns(osc, mcname=None, mcid=None, mcnames=None, mcids=None):114 if False:115 Log.prdbg("Enter _get_mgrconns - MCName: \"%s\" MCID: \"%s\"\n -- MC Names Arg: %s\n -- MC Ids Arg: %s" %(mcname, mcid, mcnames, mcids))116 pass117 all_nm_to_id = osc.getManagerConnectors()118 if not all_nm_to_id:119 all_nm_to_id = {}120 pass121 sel_nm_to_id = None122 if mcids:123 sel_nm_to_id = { nm:id for nm,id in all_nm_to_id.items() if id in mcids }124 elif mcnames:125 sel_nm_to_id = { nm:id for nm,id in all_nm_to_id.items() if nm in mcnames }126 else:127 sel_nm_to_id = all_nm_to_id128 pass129 if False:130 Log.prdbg("_get_mgrconns \n\n - All-MC-Name-To-ID-Index:\n%s\n\n - MCIDs: %s\n\n - MCNames: %s\n\n - Selected Name-To-Id: %s" %(Log.pformat(all_nm_to_id), mcids, mcnames, Log.pformat(sel_nm_to_id), mcname, mcid, Log.pformat(sel_nm_to_id)))131 pass132 rtn = sel_nm_to_id133 if False:134 Log.prdbg("Exit _get_mgrconns\n - MCName: \"%s\" MCID: \"%s\"\n - MC Names Arg: %s\n - MC Ids Arg: %s\n\n -- Returning:\n%s" %(mcname, mcid, mcnames, mcids, rtn))135 pass136 return(rtn)137pass138def _getManagerConnectorIdByName(osc, mcname):139 sleep(3)140 _get_mgrconns(osc, mcname=mcname)141 sleep(2)142 mc_name_to_id_dict = osc.getManagerConnectors()143 Log.log_debug("MC Name To Id Dict:\n%s" %(Log.pformat(mc_name_to_id_dict)))144 if mcname in mc_name_to_id_dict:145 return(mc_name_to_id_dict[mcname])146 else:147 Log.log_abort("_getManagerConnectorIdByName: No MC Found For MC Name: \"%s\"\n -- In Manager Connectors: %s" %(mcname, mc_name_to_id_dict))148 pass149pass150#151###152### def _update_mgrconn(osc, mcid, mcname, mgrip, mgrkey):153###154### Just a call to the corresponding ISC method. Errors are propoagated.155###156### # updateManagerConnector(self, mcid, mcname, mgrip, mgrkey)157###158def _update_mgrconn(osc, mcid, mcname, mgrip, mgrkey):159 ###_fcnargs = {'osc':osc, 'mcid':mcid, 'mcname':mcname, 'mgrip':mgrip, 'mgrkey':mgrkey}160 Log.prdbg("Enter _update_mgrconn - MC ID: %s MCName: %s mgr IP: %s mgr Key: %s" %(mcid, mcname, mgrip, mgrkey))161 sleep(1)162 osc.pdateManagerConnector(mcid, mcname, mgrip, mgrkey)163 sleep(1)164 Log.prdbg("Exit _update_mgrconn - MC ID: %s MCName: %s mgr IP: %s mgr Key: %s" %(mcid, mcname, mgrip, mgrkey))165 pass166pass167###168### def _sync_mgrconn(osc, mcname, mcid, mgrip):169###170### Just a call to the corresponding ISC method. Errors are propoagated.171###172### # syncManagerConnector(self, name, mgrID, mgrIP):173###174def _sync_mgrconn(osc, mcname, mcid, mgrip):175 ###_fcnargs = {'osc':osc, 'mcid':mcid}176 Log.prdbg("Enter _sync_mgrconn - MC ID: %s" %(mcid))177 sleep(1)178 osc.syncManagerConnector(mcname, mcid, mgrip)179 sleep(1)180 Log.prdbg("Exit _sync_mgrconn - MC ID \"%s\"" %(mcid))181 pass182pass183###184### _delete_single_mgrconn(osc, mcid):185###186### Just a call to the corresponding ISC method. Errors are propoagated.187###188### # osc.deleteMC(mcid)189###190def _delete_single_mgrconn(osc, mcid):191 ###_fcnargs = {'osc':osc, 'mcid':mcid}192 Log.prdbg("Enter _delete_single_mgrconn - MC ID: %s" %(mcid))193 sleep(1)194 osc.deleteMC(mcid)195 sleep(1)196 Log.prdbg("Exit _delete_single_mgrconn - MC ID \"%s\"" %(mcid))197 pass198pass199###200###201### do_pretest -- One of: True, False202### pretest_fail_actions -- One or more of: ['continue', 'return', 'warn', 'error', 'abort' ]203### pretest_continue_on_fail -- One of: True, False204###205### _safe_delete_mgrconns(osc, mcname=None, mcid=None, do_pretest=True, pretest_fail_action="abort"):206###207### Delete existing Manager Connectors (MCs). If mcname is given, delete only those208### MCs (if any) whose name matches mcname. Otherwise delete all MCs209###210def _safe_delete_mgrconns(osc, mcname=None, mcid=None, mcids_to_delete=None, mcnames_to_delete=None, mcids_to_keep=None, mcnames_to_keep=None):211 _fcnargs = {'osc':osc, 'mcname':mcname, 'mcid':mcid}212 if True:213 Log.prdbg("Enter _safe_delete_mgrconns - MC Name: \"%s\" MCId: \"%s\"\n\n - MC Names To Delete: %s\n\nMC IDs To Delete: %s\n\n - MC Names To Keep: %s\n\n - MC Ids To Keep: %s" %(mcname, mcid, mcnames_to_delete, mcids_to_delete, mcnames_to_keep, mcids_to_keep))214 #sleep(4)215 pass216 nm_to_id_before_deletion = _get_mgrconns(osc)217 ##mcids_before_deletion = [ x['id'] for x in nm_to_id_before_deletion ]218 mcids_before_deletion = [ id for id in nm_to_id_before_deletion.values() ]219 if True:220 Log.log_debug("_safe_delete_mgrconns -- MC IDs Before Deletion:\n%s" %(mcids_before_deletion))221 #sleep(5)222 pass223 if (mcid is None) and (mcname is None) and (mcids_to_delete is None) and (mcnames_to_delete is None):224 mcids_to_delete = mcids_before_deletion225 Log.log_debug("_safe_delete_mgrconns -- Will Delete All Exisiting MC IDs: %s" %(mcids_to_delete))226 pass227 mcnames_to_delete = (mcnames_to_delete or [])228 mcids_to_delete = (mcids_to_delete or [])229 mcnames_to_keep = (mcnames_to_keep or [])230 mcids_to_keep = (mcids_to_keep or [])231 mcid_to_keep_data = None232 mcid_to_delete_data = None233 if mcname:234 mcnames_to_delete = [ mcname ]235 elif mcid:236 mcids_to_delete = [ mcid ]237 pass238 if mcnames_to_keep:239 mcid_to_keep_data = _get_mgrconns(osc, mcnames=mcnames_to_keep)240 ## mcids_to_keep = [ x['id'] for x in mcid_to_keep_data ]241 mcids_to_keep += [ id for nm,id in nm_to_id_before_deletion.items() if nm in mcnames_to_keep ]242 pass243 if mcnames_to_delete:244 mcid_to_delete_data = _get_mgrconns(osc, mcnames=mcnames_to_delete)245 ## mcids_to_delete = [ x['id'] for x in mcid_to_delete_data ]246 mcids_to_delete += [ id for nm,id in nm_to_id_before_deletion.items() if nm in mcnames_to_delete ]247 pass248 raw_mcids_to_delete = copy.copy(mcids_to_delete)249 if mcids_to_keep:250 mcids_to_delete = [ x for x in mcids_to_delete if x not in mcids_to_keep ]251 pass252 extra_mcids = [ id for id in mcids_to_delete if id not in mcids_before_deletion ]253 if True:254 ##Log.prdbg("_safe_delete_mgrconns - Existing MCs To Delete for MC Name: \"%s\" MC ID: \"%s\"\n -- Before Deletion:\n%s" %(mcname, mcid, Log.pformat(mcid_to_delete))255 Log.prdbg("_safe_delete_mgrconns - Existing MCs To Delete for MC Name: \"%s\" MC ID: \"%s\"\n - MC Names To Delete: %s\n"256 " - Raw MC IDs To Delete: %s\n - IDs To Delete: %s\n - MC Names To Keep: %s\n - MC IDs To Keep: %s\n\n - Non-Existing MC Ids To Delete: %s"257 " -- Before Deletion -- \n\n - All MC IDs: %s" %(mcname, mcid, mcnames_to_delete, raw_mcids_to_delete, mcids_to_delete, mcnames_to_keep, mcids_to_keep, mcids_before_deletion, extra_mcids))258 pass259 if mcids_to_delete:260 for mcid in mcids_to_delete:261 if False:262 Log.log_debug("_safe_delete_mgrconns -- Deleting MC ID: \"%s\" ..." %(mcid))263 pass264 _delete_single_mgrconn(osc, mcid)265 if False:266 Log.log_debug("_safe_delete_mgrconns -- ... Finished Deleting MC ID: \"%s\"" %(mcid))267 pass268 pass269 else:270 Log.log_debug("Exit _safe_delete_mgrconns -- No MCs To Delete")271 return272 pass273 sleep(1)274 nm_to_id_after_deletion = _get_mgrconns(osc, mcname=mcname, mcid=mcid)275 ##mcids_after_deletion = [ x['id'] for x in nm_to_id_after_deletion ]276 mcids_after_deletion = [ id for nm,id in nm_to_id_after_deletion.items() ]277 mcids_failed_delete = [ x for x in mcids_to_delete if x in mcids_after_deletion ]278 if True:279 Log.log_debug("_safe_delete_mgrconns\n - MCs To Be Deleted: %s\n - MCs Remaining After Deletion %s\n - MC IDs Failed To Delete: %s" %(mcids_to_delete, mcids_after_deletion, mcids_failed_delete))280 sleep(8)281 pass282 if mcids_failed_delete:283 msg = "_safe_delete_mgrconns -- Failed to Delete MCs for mcname \"%s\" - %s" %(mcname, mcids_failed_delete)284 ##raise Exception(msg)285 Log.log_abort(msg)286 pass287 if True:288 Log.log_debug("Exit _safe_delete_mgrconns -- All Manager Connectors Deleted")289 #sleep(8)290 pass291pass292###293### _create_mgrconn(osc, mcname=None, mgrip=None, mgrkey=None, mgrtype='NSM'):294###295### Just a call to the corresponding ISC method. Errors are propoagated.296###297def _create_mgrconn(osc, mcname=None, mgrip=None, mgrkey=None, mgrtype='NSM', mgruser='admin', mgrpasswd='admin123'):298 _fcnargs = {'osc':osc, 'mcname':mcname, 'mgrip':mgrip, 'mgrkey':mgrkey}299 if True:300 Log.prdbg("Enter _create_mgrconn - mcname: \"%s\" mgrip: \"%s\" mgrkey: \"%s\""%(mcname, mgrip, mgrkey))301 #sleep(5)302 pass303 mcid = osc.createManagerConnector(mcname=mcname, mgrip=mgrip, mgrkey=mgrkey, mgrtype=mgrtype, mgruser=mgruser, mgrpasswd=mgrpasswd)304 if True:305 Log.prdbg("_create_mgrconn - Manager Connector Created - MC ID: %s - %s" %(mcid, mcid.__repr__()))306 #sleep(5)307 pass308 return(mcid)309pass310###311### _safe_create_mgrconn(osc, mcname=args['mcname'], mgrip=args['mgrip'], mgrkey=args['mgrkey'], mgrtype=None):312###313###314def _safe_create_mgrconn(osc, mgrtype='NSM', mcname=None, mgrip=None, mgrkey=None, mgruser=None, mgrpasswd=None):315 cfgdict = configDict.get(mgrtype, None)316 if cfgdict:317 if mgrip is None:318 mgrip = cfgdict['ip']319 if mgrpasswd is None:320 mgrpasswd = cfgdict['password']321 if mgruser is None:322 mgruser = cfgdict['user']323 pass324 pass325 ###_fcnargs = {'osc':osc, 'mcname':mcname, 'mgrip':mgrip, 'mgrkey':mgrkey}326 Log.log_debug("Enter _safe_create_mgrconn - mcname: \"%s\" mgrip: %s mgrkey: %s mgrtype: \"%s\"" %(mcname, mgrip, mgrkey, mgrtype))327 ##if mgrtype and isinstance(mgrtype, basestring):328 if mgrtype and isinstance(mgrtype, str):329 mgrtype = mgrtype.upper()330 pass331 if mgrtype not in ['NSM', 'SMC']:332 Log.log_abort("'mgrtype' must be one of 'nsm' or 'smc': \"%s\"" %(mgrtype))333 pass334 sleep(1)335 nm_to_id_before_creation = _get_mgrconns(osc, mcname=mcname)336 # nm_to_id_before_creation = [ x['id'] for x in mcid_before_creation_data ]337 ### mcids_to_preserve = [ v for v in nm_to_id_before_creation.values() ]338 mcids_to_delete = [ v for v in nm_to_id_before_creation.values() ]339 if True:340 ### Log.log_debug("_safe_create_mgrconn - Existing mgr Manager Connectors IDs for mcname: \"%s\"\n\n -- MC-Name-To-IDs Before Creation:\n%s\n\n%s\n\n -- MCIDs To Preserve:\n%s" %(mcname, nm_to_id_before_creation, mcids_to_preserve))341 Log.log_debug("_safe_create_mgrconn - Existing Manager Connectors IDs for MC Name: \"%s\"\n\n -- MC-Name-To-IDs Before Creation:\n%s\n\n -- MC Ids To Delete: %s" %(mcname, nm_to_id_before_creation, mcids_to_delete))342 #sleep(5)343 pass344 if nm_to_id_before_creation:345 Log.log_debug("_safe_create_mgrconn - Deleting Matching mgr MCs for MC Name: \"%s\"\n- %s" %(mcname, nm_to_id_before_creation))346 _safe_delete_mgrconns(osc, mcname=mcname)347 Log.log_debug("_safe_create_mgrconn - Finished Deleting Matching mgr MCs for MC Name: \"%s\"" %(mcname))348 else:349 Log.log_debug("_safe_create_mgrconn - No Existing mgr MCs for MC Name: \"%s\"" %(mcname))350 pass351 Log.log_debug("_safe_create_mgrconn - Creating Manager connector" %())352 mcid = _create_mgrconn(osc, mcname=mcname, mgrip=mgrip, mgrkey=mgrkey, mgrtype=mgrtype, mgruser=mgruser, mgrpasswd=mgrpasswd)353 ###mcid = osc.createManagerConnector(args['mcname'], args['mgrip'], args['mgrkey'])354 Log.log_debug("_safe_create_mgrconn - Manager connector created - MC ID: %s" %(mcid))355 ##all_mcid_dict = _get_mgrconns(osc, rtn_format='dict')356 #357 # mcid_after_creation_data = _get_mgrconns(osc, mcname=mcname)358 # mcids_after_creation = [ x['id'] for x in mcid_after_creation_data ]359 #360 nm_to_id_after_creation = _get_mgrconns(osc, mcname=mcname)361 mcids_after_creation = [ v for v in nm_to_id_after_creation.values() ]362 Log.log_debug("_safe_create_mgrconn - Matching MCs for MC Name \"%s\" After Creating New MC: - %s" %(mcname, mcids_after_creation))363 if not mcids_after_creation:364 msg = "_safe_create_mgrconn -- Failed to create new mgr MC for MC Name: \"%s\"" %(mcname)365 ##raise Exception(msg)366 Log.log_abort(msg)367 elif len(mcids_after_creation) != 1:368 msg = "_safe_create_mgrconn -- Expected Exactly 1 Matching MC for MC Name %s After Creating New MC - Got %d:\n%s" %(mcname, len(mcid_list), Log.pformat(mcids_after_creation))369 ##raise Exception(msg)370 Log.log_abort(msg)371 pass372 mcid = mcids_after_creation[0]373 Log.log_debug("Exit _safe_create_mgrconn - mcname: \"%s\" - Returning: MC ID \"%s\""%(mcname, mcid))374 ##sleep(3)375 return(mcid)376pass377###########################################################################################################378###########################################################################################################379def mctest_tab1_n1(osc=None, mcconfig=None):380 test_name = "Test#1 -- NSM MC Test Cases Tab#1 -- MC Name Syntax/Positive Tests"381 test_funcname = "mctest_tab1_n1"382 test_desc = "Verify Manager Connectors Can Be Created With Any Valid MC Name - test-snort, snort-mc, snort-123 etc. "383 test_is_positive = True384 test_step = 0385 test_err_count = 0386 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)387 nsmC = copy.deepcopy(nsmConnector)388 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))389 for mcname in [ 'snort', 'snort-123', 'mc-snort', 'foo-bar' ]:390 nsmC2 = copy.deepcopy(nsmConnector)391 nsmC2.name = mcname392 Log.log_debug("%s:Step %d\n -- Will attempt to create NSM Connector with Valid-Syntax Name: \"%s\"" %(test_funcname, test_step, mcname))393 err_match_str = ""394 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)395 pass396 if test_err_count:397 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))398 else:399 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))400 pass401 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)402pass403def mctest_tab1_n2(osc=None, mcconfig=None):404 test_name = "Test#2 -- NSM MC Test Cases Tab#1 -- MC-Name Syntax/Negative Tests"405 test_funcname = "mctest_tab1_n2"406 test_desc = "Verify that MC-Name Cannot be Blank (empty-string) for MC Creation on ISC"407 test_is_positive = False408 test_err_count = 0409 test_step = 0410 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)411 nsmC = copy.deepcopy(nsmConnector)412 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))413 mcname = ""414 nsmC2 = copy.deepcopy(nsmConnector)415 nsmC2.name = mcname416 err_match_str = "Security Controller: Name should not have an empty value"417 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)418 if test_err_count:419 Log.log_debug("Exit Test %s -- Found %d unexpected Errors" %(test_funcname, test_err_count))420 else:421 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))422 pass423 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)424pass425def mctest_tab1_n3(osc=None, mcconfig=None):426 test_name = "Test#3 -- NSM MC Test Cases Tab#1 ---MC Name with special characters - Positive Tests"427 test_funcname = "mctest_tab1_n3"428 test_desc = "Verify Manager Connectors Can use specical characters while Valid-Syntax MC Name - 'special with space', 'VerySpecial!!%%$', '*Strange name<>&', '$#valid still ?? % !!7 ??? yes it is!!' etc. "429 test_is_positive = True430 test_step = 0431 test_err_count = 0432 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)433 nsmC = copy.deepcopy(nsmConnector)434 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))435 for mcname in [ 'special with space', 'VerySpecial!!%%$', '*Strange name<>&', '$#valid still ?? % !!7 ??? yes it is!!' ]:436 nsmC2 = copy.deepcopy(nsmConnector)437 nsmC2.name = datastructUtils.escape(mcname)438 Log.log_debug("%s:Step %d\n -- Will attempt to create Manager Connector with Valid-Syntax Name with special characters: \"%s\"" %(test_funcname, test_step, mcname))439 err_match_str = ""440 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)441 pass442 if test_err_count:443 Log.log_error("Exit Test %s -- Found %d Errors" %(test_funcname, test_err_count))444 else:445 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))446 pass447 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)448pass449def mctest_tab1_n4_n5(osc=None, mcconfig=None):450 test_name = "Test#4 -- NSM MC Test Cases Tab#1 --- MC Name Syntax/Negative Tests - should not exceed more than 155 characters"451 test_funcname = "mctest_tab1_n4"452 test_desc = "Verify that Manager Connector Name Cannot be over 155 characters"453 test_is_positive = False454 test_step = 0455 test_err_count = 0456 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)457 mcname = "too-long-mc-name-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890"458 nsmC2 = copy.deepcopy(nsmConnector)459 nsmC2.name = datastructUtils.escape(mcname)460 Log.log_debug("%s:Step %d\n -- Negative Test: %s -- Expecting Failure" %(test_funcname, test_step, test_desc))461 err_match_str = "Name length should not exceed 155 characters. The provided field exceeds this limit by"462 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)463 pass464 if test_err_count:465 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))466 else:467 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))468 pass469 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)470pass471def mctest_tab1_n6(osc=None, mcconfig=None):472 test_name = "Test#5 -- MC Test Cases Tab#1 'MC name Syntax/Positive Test"473 test_funcname = "mctest_tab1_n6"474 test_desc = "Verify Manager Connectors Can Be Created With an MC name of exactly 155 characters - like: VC!!-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"475 test_is_positive = True476 test_step = 0477 test_err_count = 0478 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)479 for mcname in [ 'Test-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',480 'MC!!-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',481 'Real-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',482 'Fooo 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890' ]:483 nsmC2 = copy.deepcopy(nsmConnector)484 nsmC2.name = datastructUtils.escape(mcname)485 Log.log_debug("%s:Step %d\n -- Will attempt to create a Manager Connector with Valid-Syntax vc Name: \"%s\"" %(test_funcname, test_step, mcname))486 err_match_str = "com.vcafee.vmidc.rest.client.exception.RestClientException: Authentication problem. Please recheck credentials"487 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)488 pass489 if test_err_count:490 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))491 else:492 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))493 pass494 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)495pass496def mctest_tab3_n1(osc=None, mcconfig=None):497 test_name = "MC Test Cases Tab#3 -- IP Address Tests -- Test#1 Blank IP Address -- Negative Test"498 test_funcname = "mctest_tab3_n1"499 test_desc = "Verify Manager Connectors Cannot Be Created With Blank/Empty IP Address"500 test_is_positive = False501 test_step = 0502 test_err_count = 0503 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)504 nsmC2 = copy.deepcopy(nsmConnector)505 nsmC2.ip = ""506 err_match_str = "Open Security Controller: IP Address should not have an empty value"507 Log.log_debug("%s:Step %d\n -- Will attempt to create NSM Connector with Blank IP Address -- Negative Test:" %(test_funcname, test_step))508 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=False, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)509 if test_err_count:510 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))511 else:512 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))513 pass514 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)515pass516def mctest_tab3_n2(osc=None, mcconfig=None):517 test_name = "MC Test Cases Tab#3 -- IP Address Tests -- Test#2 Invalid IP Address -- Negative Test"518 test_funcname = "mctest_tab3_n2"519 test_desc = "Verify Manager Connectors IP Address Must Be Syntactically Correct -- E.g. 4 Octets, with values v: (1 <= v <= 255)"520 test_is_positive = False521 test_step = 0522 test_err_count = 0523 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)524 nsmC2 = copy.deepcopy(nsmConnector)525 nsmC2.ip = ""526 ##err_match_str = "Open Security Controller: IP Address .* has invalid format"527 err_match_str = "Open Security Controller: IP Address: .* has invalid format"528 for ipaddr in [ '10', '10.10', '10.10.10.', '.10.10.10', '.10.10.10.', '10..10.10', '...', '..10.10.10', '10..10.10.10',529 '10.10..10', '10.10.10..10', '10.10..10', '10.10.10..10', '10.10..10.10', '256.10.10.10', '10.256.10.10',530 '10.10.256.10', '10.10.10.256', '256.256.256.256' ]:531 nsmC2 = copy.deepcopy(nsmConnector)532 ##nsmC2.name = datastructUtils.escape(mcname)533 nsmC2.ip = ipaddr534 Log.log_debug("%s:Step %d\n -- Will attempt to create a Manager Connector with InValid-Syntax IP Address: \"%s\"" %(test_funcname, test_step, ipaddr))535 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)536 pass537 if test_err_count:538 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))539 else:540 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))541 pass542 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)543pass544def mctest_tab3_n3(osc=None, mcconfig=None):545 test_name = "MC Test Cases Tab#3 -- IP Address Tests -- Test#3 Syntactically-Correct IP Address"546 test_funcname = "mctest_tab3_n3"547 test_desc = "Verify OSC Does Not Give Error When Incorrect But Syntactically Valid IP Address Given"548 test_is_positive = False549 test_step = 0550 test_err_count = 0551 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)552 nsmC2 = copy.deepcopy(nsmConnector)553 nsmC2.ip = ""554 ##err_match_str = "Open Security Controller: IP Address .* has invalid format"555 err_match_str = "com.mcafee.vmidc.rest.client.exception.RestClientException: Failed to GET resource"556 for ipaddr in [ '127.0.0.1', '127.0.0.2', '127.0.1.1', '127.0.1.2' ]:557 nsmC2 = copy.deepcopy(nsmConnector)558 ##nsmC2.name = datastructUtils.escape(mcname)559 nsmC2.ip = ipaddr560 Log.log_debug("%s:Step %d\n -- Will attempt to create a Manager Connector with Syntactically-Correct (But Non-NSM) IP Address -- IP Address: \"%s\"" %(test_funcname, test_step, ipaddr))561 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)562 pass563 if test_err_count:564 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))565 else:566 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))567 pass568 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)569pass570def mctest_tab4_n1(osc=None, mcconfig=None):571 test_name = "MC Test Cases Tab#4 -- Username/Password Tests -- Test#1 Blank Username -- Negative Test"572 test_funcname = "mctest_tab4_n1"573 test_desc = "Verify Manager Connectors Cannot Be Created With Blank/Empty Username"574 test_is_positive = False575 test_step = 0576 test_err_count = 0577 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)578 nsmC = copy.deepcopy(nsmConnector)579 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))580 nsmC2 = copy.deepcopy(nsmConnector)581 nsmC2.user = ""582 err_match_str = "Open Security Controller: User Name should not have an empty value"583 Log.log_debug("%s:Step %d\n -- Will attempt to create NSM Connector with Blank Username" %(test_funcname, test_step))584 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=False, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)585 if test_err_count:586 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))587 else:588 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))589 pass590 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)591pass592def mctest_tab4_n2(osc=None, mcconfig=None):593 test_name = "MC Test Cases Tab#4 -- Username/Password Tests -- Test#2 Blank Password -- Negative Test"594 test_funcname = "mctest_tab4_n2"595 test_desc = "Verify Manager Connectors Cannot Be Created With Blank/Empty Password"596 test_is_positive = False597 test_step = 0598 test_err_count = 0599 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)600 nsmC = copy.deepcopy(nsmConnector)601 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))602 nsmC2 = copy.deepcopy(nsmConnector)603 nsmC2.passwd = ""604 err_match_str = "Open Security Controller: Password should not have an empty value"605 Log.log_debug("%s:Step %d\n -- Will attempt to create NSM Connector with Blank Password" %(test_funcname, test_step))606 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=False, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)607 if test_err_count:608 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))609 else:610 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))611 pass612 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)613pass614def mctest_tab4_n3(osc=None, mcconfig=None):615 test_name = "MC Test Cases Tab#4 -- Username/Password Tests -- Test#3 Valid Username (Valid Chars Up to Lenght 155) -- Positive Test"616 test_funcname = "mctest_tab4_n3"617 test_desc = "Verify Manager Connectors Can Be Created With Syntactically-Correct Username (Valid Chars, Len <= 155)"618 test_is_positive = False619 test_step = 0620 test_err_count = 0621 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)622 nsmC = copy.deepcopy(nsmConnector)623 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))624 ##nsmC2.mcname = datastructUtils.escape(mcname)625 err_match_str = "com.mcafee.vmidc.rest.client.exception.RestClientException: Authentication problem. Please recheck credentials"626 Log.log_debug("%s:Step %d\n -- Will attempt to create NSM Connector with Blank Password" %(test_funcname, test_step))627 for user in [628 'Test-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',629 'MC!!-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',630 'Real-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',631 'Fooo 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',632 'Bar__123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',633 ]:634 nsmC2 = copy.deepcopy(nsmConnector)635 nsmC2.user = user636 Log.log_debug("%s:Step %d\n -- Will attempt to create a Manager Connector with Valid-Syntax Username (Length=155): \"%s\"" %(test_funcname, test_step, user))637 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)638 pass639 if test_err_count:640 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))641 else:642 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))643 pass644 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)645pass646def mctest_tab4_n4(osc=None, mcconfig=None):647 test_name = "MC Test Cases Tab#4 -- Username/Password Tests -- Test#4 Valid Password (Valid Chars Up to Lenght 155) -- Positive Test"648 test_funcname = "mctest_tab4_n4"649 test_desc = "Verify Manager Connectors Can Be Created With Syntactically-Correct Password (Valid Chars, Len <= 155)"650 test_is_positive = False651 test_step = 0652 test_err_count = 0653 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)654 nsmC = copy.deepcopy(nsmConnector)655 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))656 ##nsmC2.mcname = datastructUtils.escape(mcname)657 err_match_str = "com.mcafee.vmidc.rest.client.exception.RestClientException: Authentication problem. Please recheck credentials"658 Log.log_debug("%s:Step %d\n -- Will attempt to create NSM Connector with Blank Password" %(test_funcname, test_step))659 for passwd in [660 'Test-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',661 'MC!!-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',662 'Real-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',663 'Fooo 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',664 'Bar__123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890',665 ]:666 nsmC2 = copy.deepcopy(nsmConnector)667 nsmC2.passwd = passwd668 Log.log_debug("%s:Step %d\n -- Will attempt to create a Manager Connector with Valid-Syntax Password (Length=155): \"%s\"" %(test_funcname, test_step, passwd))669 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=True, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)670 pass671 if test_err_count:672 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))673 else:674 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))675 pass676 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)677pass678def mctest_tab5_n1(osc=None, mcconfig=None):679 test_name = "Test#1 -- NSM MC Test Cases Tab#5 -- Add/EditDelete/Sync"680 test_funcname = "mctest_tab5_n1"681 test_desc = "Verify Manager Connectors Can Be Created With All Valid Parameters"682 test_is_positive = True683 test_step = 0684 test_err_count = 0685 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)686 nsmC = copy.deepcopy(nsmConnector)687 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))688 nsmC2 = copy.deepcopy(nsmConnector)689 Log.log_debug("%s:Step %d\n -- Will attempt to create NSM Connector with All Valid Input" %(test_funcname, test_step))690 err_match_str = ""691 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=False, osc=osc, obj=nsmC2, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)692 if test_err_count:693 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))694 else:695 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))696 pass697 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)698pass699def mctest_tab5_n2(osc=None, mcconfig=None):700 test_name = "NSM MC Test Cases Tab#5 -- Add/EditDelete/Sync Tests -- Test#2: Create Baseline Manager Connector & Update with Unchanged Params"701 test_funcname = "mctest_tab5_n2"702 test_desc = "Verify Manager Connectors Can Be Created With All Valid Parameters & Updated With Valid Parameters (None Changed)"703 test_is_positive = True704 test_step = 0705 test_err_count = 0706 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)707 nsmC = copy.deepcopy(nsmConnector)708 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))709 orig_mcname = nsmC.name710 orig_mctype = nsmC.type711 orig_user = nsmC.user712 orig_passwd = nsmC.passwd713 Log.log_debug("%s:Step %d\n -- Will attempt to Create NSM Connector with All Valid Input -- Err Count: %d" %(test_funcname, test_step, test_err_count))714 err_match_str = ""715 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=True, finish_clean=False, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)716 update_mcid = _getManagerConnectorIdByName(osc, orig_mcname)717 Log.log_debug("MC Id For MC Name \"%s\": \"%s\"" %(orig_mcname, update_mcid))718 if not update_mcid:719 Log.log_abort("%s:Step %d\n -- Failed to Get MC Id of New Manager Connector \"%s\"" %(orig_mcname))720 pass721 nsmC.update_mcid = update_mcid722 ##nsmC.user = new_user723 Log.log_debug("%s:Step %d\n -- Will attempt to Perform 'Update NSM Connector' Operation With No Unchanged Data -- Update MC Id: \"%s\" -- Err Count: %d" %(test_funcname, test_step, update_mcid, test_err_count))724 err_match_str = ""725 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=False, finish_clean=True, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=updateMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)726 Log.log_debug("%s:Step %d\n -- Will attempt to Perform 'Update NSM Connector' Operation With No Unchanged Data -- Update MC Id: \"%s\" -- Err Count: %d" %(test_funcname, test_step, update_mcid, test_err_count))727 if test_err_count:728 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))729 else:730 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))731 pass732 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)733pass734def mctest_tab5_n3(osc=None, mcconfig=None):735 test_name = "NSM MC Test Cases Tab#5 -- Add/EditDelete/Sync Tests -- Test#3: Create Baseline Manager Connector & Update with Valid Username & Passwd"736 test_funcname = "mctest_tab5_n3"737 test_desc = "Verify Manager Connectors Can Be Created With All Valid Parameters & Updated With Valid 'Username' & 'Passwd'"738 test_is_positive = False739 test_step = 0740 test_err_count = 0741 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)742 nsmC = copy.deepcopy(nsmConnector)743 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))744 orig_mcname = nsmC.name745 orig_mctype = nsmC.type746 orig_user = nsmC.user747 orig_passwd = nsmC.passwd748 new_user = (orig_user + "_UPDATE")749 new_passwd = (orig_passwd + "_UPDATE")750 Log.log_debug("%s:Step %d\n -- Will attempt to Create NSM Connector with All Valid Input -- Err Count: %d" %(test_funcname, test_step, test_err_count))751 err_match_str = ""752 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=True, start_clean=True, finish_clean=False, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)753 update_mcid = _getManagerConnectorIdByName(osc, orig_mcname)754 Log.log_debug("MC Id For MC Name \"%s\": \"%s\"" %(orig_mcname, update_mcid))755 if not update_mcid:756 Log.log_abort("%s:Step %d\n -- Failed to Get MC Id of New Manager Connector \"%s\"" %(orig_mcname))757 pass758 nsmC.update_mcid = update_mcid759 nsmC.user = new_user760 nsmC.passwd = new_passwd761 Log.log_debug("%s:Step %d\n -- Will attempt to Perform 'Update NSM Connector' Operation With New Syntactically-Valid 'Username' & 'Password' -- Update MC Id: \"%s\" -- Err Count: %d" %(test_funcname, test_step, update_mcid, test_err_count))762 ##err_match_str = None763 err_match_str = "com.mcafee.vmidc.rest.client.exception.RestClientException: Authentication problem. Please recheck credentials."764 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=False, finish_clean=True, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=updateMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)765 if test_err_count:766 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))767 else:768 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))769 pass770 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)771pass772def mctest_tab5_n4(osc=None, mcconfig=None):773 test_name = "NSM MC Test Cases Tab#5 -- Add/EditDelete/Sync Tests -- Test#4: Create Baseline Manager Connector & Update with Valid Username & Passwd"774 test_funcname = "mctest_tab5_n4"775 test_desc = "Verify Manager Connectors Can Be Created With All Valid Parameters & Updated With Valid 'Username' & 'Passwd'"776 test_is_positive = True777 test_step = 0778 test_err_count = 0779 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)780 nsmC = copy.deepcopy(nsmConnector)781 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))782 orig_mcname = nsmC.name783 orig_mctype = nsmC.type784 orig_user = nsmC.user785 orig_passwd = nsmC.passwd786 new_mcname = (orig_mcname + "_UPDATE")787 Log.log_debug("%s:Step %d\n -- Will attempt to Create NSM Connector with All Valid Input -- Err Count: %d" %(test_funcname, test_step, test_err_count))788 err_match_str = ""789 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=True, start_clean=True, finish_clean=False, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)790 update_mcid = _getManagerConnectorIdByName(osc, orig_mcname)791 Log.log_debug("MC Id For MC Name \"%s\": \"%s\"" %(orig_mcname, update_mcid))792 if not update_mcid:793 Log.log_abort("%s:Step %d\n -- Failed to Get MC Id of New Manager Connector \"%s\"" %(orig_mcname))794 pass795 nsmC.update_mcid = update_mcid796 nsmC.name = new_mcname797 Log.log_debug("%s:Step %d\n -- Will attempt to Perform 'Update NSM Connector' Operation With New Syntactically-Valid 'MC Name' -- Update MC Id: \"%s\" -- Err Count: %d" %(test_funcname, test_step, update_mcid, test_err_count))798 ##err_match_str = None799 err_match_str = ""800 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=False, finish_clean=True, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=updateMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)801 if test_err_count:802 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))803 else:804 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))805 pass806 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)807pass808def mctest_tab5_n5(osc=None, mcconfig=None):809 test_name = "NSM MC Test Cases Tab#5 -- Add/EditDelete/Sync Tests -- Test#4: Create Baseline Manager Connector & Update with Valid Username & Passwd"810 test_funcname = "mctest_tab5_n5"811 test_desc = "Verify Manager Connectors Can Be Created With All Valid Parameters & Updated With New MC Name"812 test_is_positive = False813 test_step = 0814 test_err_count = 0815 Log.testBegin(test_name, test_funcname, test_desc, test_is_positive)816 nsmC = copy.deepcopy(nsmConnector)817 Log.log_debug("%s:Step %d\n -- Baseline NSM Definition -- nsmC2:\n%s" %(test_funcname, test_step, Log.objformat(nsmC)))818 orig_mcname = nsmC.name819 orig_mctype = nsmC.type820 orig_user = nsmC.user821 orig_passwd = nsmC.passwd822 new_mcip = "127.0.0.1"823 Log.log_debug("%s:Step %d\n -- Will attempt to Create NSM Connector with All Valid Input -- Err Count: %d" %(test_funcname, test_step, test_err_count))824 err_match_str = ""825 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=True, start_clean=True, finish_clean=False, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)826 update_mcid = _getManagerConnectorIdByName(osc, orig_mcname)827 Log.log_debug("MC Id For MC Name \"%s\": \"%s\"" %(orig_mcname, update_mcid))828 if not update_mcid:829 Log.log_abort("%s:Step %d\n -- Failed to Get MC Id of New Manager Connector \"%s\"" %(orig_mcname))830 pass831 nsmC.update_mcid = update_mcid832 nsmC.ip = new_mcip833 Log.log_debug("%s:Step %d\n -- Will attempt to Perform 'Update NSM Connector' Operation With New Syntactically-Valid 'IP Address' -- Update MC Id: \"%s\" -- Err Count: %d" %(test_funcname, test_step, update_mcid, test_err_count))834 ##err_match_str = None835 err_match_str = "com.mcafee.vmidc.rest.client.exception.RestClientException: Failed to GET resource:"836 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=False, finish_clean=True, osc=osc, obj=nsmC, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=updateMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=test_step, test_err_count=test_err_count)837 if test_err_count:838 Log.log_error("Exit Test %s -- Found %d Errors -- Err Info\n%s" %(test_funcname, test_err_count, err_info))839 else:840 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))841 pass842 Log.testEnd(test_name, test_funcname, test_desc, test_step, test_err_count)843pass844def getText(tree, tag):845 element = tree.find(tag)846 if element == None:847 return None848 else:849 return element.text850def getElement(tree, tag):851 element = tree.find(tag)852 if element == None:853 return None854 else:855 return element856def getParams(xml_str):857 global nsmConnector, smcConnector858 global osc859 tree = xml.etree.ElementTree.fromstring(xml_str)860 if tree.tag == 'Params' :861 # third party executables862 py27 = getText(tree, "thirdParty/py27")863 ovfToolExe = getText(tree, "thirdParty/ovfToolExe")864 Log.log_debug("py27=%s, ovfToolExe=%s" % (py27, ovfToolExe))865 # osc credentials866 #iscVersion = getText(tree, "ISC/version")867 iscIp = getText(tree, "ISC/ip")868 iscPort = getText(tree, "ISC/port")869 iscUser = getText(tree, "ISC/user")870 iscPass = getText(tree, "ISC/pass")871 Log.log_debug("iscIp=%s, iscUser=%s, iscPass=%s" % (iscIp, iscUser, iscPass))872 # NSM Connector873 nsmElement = getElement(tree, "nsm")874 nsmConnectorXml = xml.etree.ElementTree.tostring(nsmElement, encoding='utf8', method='xml')875 nsmConnector = mc.mc(nsmConnectorXml)876 Log.log_debug("nsmConnectorXml=%s" % nsmConnectorXml)877 osc = ISC( iscIp, iscPort, iscUser, iscPass)878 pass879pass880def init_all():881 global Log882 Log = Output()883 parser = argparse.ArgumentParser( description="MC Tests For NSM -- ")884 parser.add_argument( '-c', '--configFile', default="McTestsParams.xml", help='Path to XML Param File')885 parser.add_argument('-v', '--verbose', required=False, help='Enable verbose output', dest='verbose', default=False, action='store_true')886 parser.add_argument('-d', '--delay', default='0', help='Delay between operation so we can see it in the OSC UI')887 args = vars(parser.parse_args())888 xml_test_path = args['configFile']889 Log.log_debug('xml_test_path %s' % xml_test_path)890 verbose = args['verbose']891 Log.set_module_name(os.path.basename(__file__))892 Log.set_debug(verbose=verbose)893 if verbose:894 Log.log_info('debug message will be displayed')895 else:896 Log.log_info("debug message won't be displayed")897 seconds = args['delay']898 try:899 f_sec = float(seconds)900 except:901 Log.log_abort('--delay should be a positive floating number')902 if f_sec < 0:903 Log.log_abort('--delay should be a POSITIVE floating number')904 else: # f_sec >= 0905 Log.set_delay(seconds=f_sec)906 Log.log_debug("Reading parameters from '%s'" % xml_test_path)907 xml_params_test_file = open(xml_test_path, "r")908 xml_params_test_str = xml_params_test_file.read()909 xml_params_test_file.close()910 getParams(xml_params_test_str)911def get_mc(mcType, mcName, mcIP, mcUser, mcPass, mcApiKey):912 mc = forrobot.mc(mcType, mcName, mcIP, mcUser, mcPass, mcApiKey)913 return mc914def get_mc_smc(mcType, mcName, mcIP, mcUser, mcPass, mcApiKey):915 mc = forrobot.mc(mcType, mcName, mcIP, mcUser, mcPass, mcApiKey)916 return mc917def positive_test_mc_name(start_clean, finish_clean, mcname, mc, osc, log):918 global Log919 vcid = None920 err_match_str = ""921 test_funcname = "positive_test_mc_name"922 test_is_positive = True923 test_desc = "Verify Manager Connectors Can Be Created With Any Valid name like: " + mcname924 test_mc = copy.deepcopy(mc)925 test_mc.name = mcname926 Log=log927 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=start_clean, finish_clean=finish_clean, osc=osc, obj=test_mc, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=0, test_err_count=0, fail_on_error=False)928 if test_err_count:929 Log.log_error("Exit Test %s -- Found %d Errors\n -- Err Info:\n%s" %(test_funcname, test_err_count, err_info))930 else:931 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))932 pass933 Log.testEnd(test_funcname, test_funcname, test_desc, test_step, test_err_count)934 return test_err_count935def negative_test_mc_name(err_match_str, start_clean, finish_clean, mcname, mc, osc, log):936 global Log937 test_funcname = "negative_test_mc_name"938 test_is_positive = False939 test_desc = "Verify Manager Connectors Cannot be created with invalid name Be Created With Any Valid name like: '" + mcname + "'"940 test_mc = copy.deepcopy(mc)941 test_mc.name = mcname942 Log=log943 test_step, test_err_count, err_info = datastructUtils.wrap_test_plus_cleaning(positive=test_is_positive, start_clean=start_clean, finish_clean=finish_clean, osc=osc, obj=test_mc, calling_func=test_funcname, err_match_str=err_match_str, test_fcn=createMC, clean_fcn=deleteMC, verification_fcn=getManagerConnectors, test_step=0, test_err_count=0, fail_on_error=False)944 if test_err_count:945 Log.log_error("Exit Test %s -- Found %d Errors\n -- Err Info:\n%s" %(test_funcname, test_err_count, err_info))946 else:947 Log.log_debug("Exit Test %s -- All Tests Passed" %(test_funcname))948 pass949 Log.testEnd(test_funcname, test_funcname, test_desc, test_step, test_err_count)950 return test_err_count, err_info951def main():952 init_all()953 mctest_tab1_n1(osc=osc, mcconfig=None)954 mctest_tab1_n2(osc=osc, mcconfig=None)955 mctest_tab1_n3(osc=osc, mcconfig=None)956 mctest_tab1_n4_n5(osc=osc, mcconfig=None)957 mctest_tab1_n6(osc=osc, mcconfig=None)958 mctest_tab3_n1(osc=osc, mcconfig=None)959 mctest_tab3_n2(osc=osc, mcconfig=None)960 mctest_tab3_n3(osc=osc, mcconfig=None)961 mctest_tab4_n1(osc=osc, mcconfig=None)962 mctest_tab4_n2(osc=osc, mcconfig=None)963 mctest_tab4_n3(osc=osc, mcconfig=None)964 mctest_tab4_n4(osc=osc, mcconfig=None)965 mctest_tab5_n1(osc=osc, mcconfig=None)966 mctest_tab5_n2(osc=osc, mcconfig=None)967 mctest_tab5_n3(osc=osc, mcconfig=None)968 mctest_tab5_n4(osc=osc, mcconfig=None)969 mctest_tab5_n5(osc=osc, mcconfig=None)970 Log.summarize_module_tests()971pass972##973## End start()974##975if __name__ == "__main__":...

Full Screen

Full Screen

sgdr_learning_rate_decay_test.py

Source:sgdr_learning_rate_decay_test.py Github

copy

Full Screen

1# Copyright 2015 The TensorFlow Authors. All Rights Reserved.2#3# Licensed under the Apache License, Version 2.0 (the "License");4# you may not use this file except in compliance with the License.5# You may obtain a copy of the License at6#7# http://www.apache.org/licenses/LICENSE-2.08#9# Unless required by applicable law or agreed to in writing, software10# distributed under the License is distributed on an "AS IS" BASIS,11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12# See the License for the specific language governing permissions and13# limitations under the License.14# ==============================================================================15"""Functional test for sgdr learning rate decay."""16from __future__ import absolute_import17from __future__ import division18from __future__ import print_function19import math20from sgdr_learning_rate_decay import sgdr_decay21from tensorflow.python.platform import googletest22from tensorflow.python.framework import test_util23from tensorflow.python.framework import dtypes24from tensorflow import placeholder25class SGDRDecayTest(test_util.TensorFlowTestCase):26 """Unit tests for SGDR learning rate decay."""27 def get_original_values(self, lr, t_e, mult_factor, iter_per_epoch, epochs):28 """Get an array with learning rate values from the consecutive steps using29 the original implementation30 (https://github.com/loshchil/SGDR/blob/master/SGDR_WRNs.py)."""31 t0 = math.pi / 2.032 tt = 033 te_next = t_e34 lr_values = []35 sh_lr = lr36 for epoch in range(epochs):37 for _ in range(iter_per_epoch):38 # In the original approach training function is executed here39 lr_values.append(sh_lr)40 dt = 2.0 * math.pi / float(2.0 * t_e)41 tt = tt + float(dt) / iter_per_epoch42 if tt >= math.pi:43 tt = tt - math.pi44 cur_t = t0 + tt45 new_lr = lr * (1.0 + math.sin(cur_t)) / 2.0 # lr_min = 0, lr_max = lr46 sh_lr = new_lr47 if (epoch + 1) == te_next: # time to restart48 sh_lr = lr49 tt = 0 # by setting to 0 we set lr to lr_max, see above50 t_e = t_e * mult_factor # change the period of restarts51 te_next = te_next + t_e # note the next restart's epoch52 return lr_values53 def get_sgdr_values(self, lr, initial_period_steps, t_mul, iters):54 """Get an array with learning rate values from the consecutive steps55 using current tensorflow implementation."""56 with self.cached_session():57 step = placeholder(dtypes.int32)58 decay = sgdr_decay(lr, step, initial_period_steps, t_mul)59 lr_values = []60 for i in range(iters):61 lr_values.append(decay.eval(feed_dict={step: i}))62 return lr_values63 def testCompareToOriginal(self):64 """Compare values generated by tensorflow implementation to the values65 generated by the original implementation66 (https://github.com/loshchil/SGDR/blob/master/SGDR_WRNs.py)."""67 with self.cached_session():68 lr = 10.069 init_steps = 270 t_mul = 371 iters = 1072 epochs = 5073 org_lr = self.get_original_values(lr, init_steps, t_mul, iters, epochs)74 sgdr_lr = self.get_sgdr_values(lr, init_steps*iters, t_mul, iters*epochs)75 for org, sgdr in zip(org_lr, sgdr_lr):76 self.assertAllClose(org, sgdr)77 def testMDecay(self):78 """Test m_mul argument. Check values for learning rate at the beginning79 of the first, second, third and fourth period. """80 with self.cached_session():81 step = placeholder(dtypes.int32)82 lr = 0.183 t_e = 1084 t_mul = 385 m_mul = 0.986 decay = sgdr_decay(lr, step, t_e, t_mul, m_mul)87 test_step = 088 self.assertAllClose(decay.eval(feed_dict={step: test_step}),89 lr)90 test_step = t_e91 self.assertAllClose(decay.eval(feed_dict={step: test_step}),92 lr * m_mul)93 test_step = t_e + t_e*t_mul94 self.assertAllClose(decay.eval(feed_dict={step: test_step}),95 lr * m_mul**2)96 test_step = t_e + t_e*t_mul + t_e * (t_mul**2)97 self.assertAllClose(decay.eval(feed_dict={step: test_step}),98 lr * (m_mul**3))99 def testCos(self):100 """Check learning rate values at the beginning, in the middle101 and at the end of the period."""102 with self.cached_session():103 step = placeholder(dtypes.int32)104 lr = 0.2105 t_e = 1000106 t_mul = 1107 decay = sgdr_decay(lr, step, t_e, t_mul)108 test_step = 0109 self.assertAllClose(decay.eval(feed_dict={step: test_step}), lr)110 test_step = t_e//2111 self.assertAllClose(decay.eval(feed_dict={step: test_step}), lr/2)112 test_step = t_e113 self.assertAllClose(decay.eval(feed_dict={step: test_step}), lr)114 test_step = t_e*3//2115 self.assertAllClose(decay.eval(feed_dict={step: test_step}), lr/2)116if __name__ == "__main__":...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Molotov automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful