def testB_TestMonitoring(self): """ _TestMonitoring_ See if you can run the whole monitoring system """ # Get the necessary objects name = 'testB' job = self.createTestJob() workload = self.createWorkload() task = workload.getTask(taskName = "DataProcessing") report = self.createReport() # Fill the job environment self.setupJobEnvironment(name = name) step = task.getStep(stepName = "cmsRun1") monitor = setupMonitoring() myThread = threading.currentThread myThread.watchdogMonitor.setupMonitors(task = task, wmbsJob = job) myThread.watchdogMonitor.notifyJobStart(task) myThread.watchdogMonitor.notifyStepStart(step.data) myThread.watchdogMonitor.notifyStepEnd(step = step.data, stepReport = report) myThread.watchdogMonitor.notifyJobEnd(task) # Base a test on the idea that there's only one monitor mon = myThread.watchdogMonitor._Monitors[0] dbInfo = mon.dashboardInfo # Do some basic checks self.assertEqual(dbInfo.get('TaskType', None), task.taskType()) self.assertEqual(dbInfo.get('User', None), '*****@*****.**') self.assertEqual(dbInfo.get('JSTool', None), 'WMAgent') self.assertEqual(dbInfo.get('jobName', None), 'WMAgent_1_0_ThisIsASillyName') self.assertEqual(dbInfo.get('taskName', None), 'ProdAgent_-Tier1ReReco-DataProcessing_WMAgentPrimary') self.assertEqual(dbInfo.get('GridJobID', None), name) self.assertEqual(dbInfo.get('SyncCE', None), name) self.assertEqual(dbInfo.get('ExeStart', None), step.name()) self.assertEqual(dbInfo.get('ApplicationVersion', None), 'CMSSW_3_5_8') return
def testB_TestMonitoring(self): """ _TestMonitoring_ See if you can run the whole monitoring system """ # Get the necessary objects name = 'testB' job = self.createTestJob() workload = self.createWorkload() task = workload.getTask(taskName = "DataProcessing") report = self.createReport() # Fill the job environment self.setupJobEnvironment(name = name) step = task.getStep(stepName = "cmsRun1") monitor = setupMonitoring(logPath = os.path.join(self.testDir, 'log.log')) myThread = threading.currentThread myThread.watchdogMonitor.setupMonitors(task = task, wmbsJob = job) myThread.watchdogMonitor.notifyJobStart(task) myThread.watchdogMonitor.notifyStepStart(step.data) myThread.watchdogMonitor.notifyStepEnd(step = step.data, stepReport = report) myThread.watchdogMonitor.notifyJobEnd(task) # Base a test on the idea that there's only one monitor mon = myThread.watchdogMonitor._Monitors[0] dbInfo = mon.dashboardInfo # Do some basic checks self.assertEqual(dbInfo.get('TaskType', None), task.taskType()) self.assertEqual(dbInfo.get('User', None), '*****@*****.**') self.assertEqual(dbInfo.get('JSTool', None), 'WMAgent') self.assertEqual(dbInfo.jobName, '%s_%i' % (job['name'], job['retry_count'])) self.assertEqual(dbInfo.taskName, 'wmagent_Tier1ReReco') return