2 Created on Mar 14, 2014 7 from mock
import MagicMock, ANY
20 from dtm.EventObjects import NewTask, UpdateTask, DeleteTask, ResourcesAVG, GetScheduledTasks
24 from test_dtm_TasksManager
import Matcher
29 FORMAT =
'%(asctime)s - %(thread)ld - %(threadName)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s' 30 logging.basicConfig(level=logging.DEBUG, format=FORMAT)
34 return first.uid == second.uid
and first.eventType == second.eventType
38 return first.uid == second.uid
42 print "first ", first.eventObj.__dict__,
"second ", second.eventObj.__dict__
43 return first.eventObj.__dict__ == second.eventObj.__dict__
50 self.
config = ConfigParser.RawConfigParser()
51 cfg_section =
"Scheduler" 53 tf = tempfile.NamedTemporaryFile()
54 sql_name =
"sqlite:///" + os.path.basename(tf.name) +
"Scheduler.db" 56 self.
config.add_section(cfg_section)
57 self.
config.set(cfg_section, Scheduler.SERVER,
"Scheduler")
58 self.
config.set(cfg_section, Scheduler.RESOURCES_MANAGER_CLIENT,
"ResourcesManager")
59 self.
config.set(cfg_section,
"db_name", sql_name)
62 self.
adminServerFake = connectionBuilderLight.build(tr_consts.SERVER_CONNECT, BaseServerManager.ADMIN_CONNECT_ENDPOINT)
98 schedulerTask.id = task.id
100 resSchedulerTaskScheme = self.
scheduler.dbi.fetch(lookSchedulerTaskScheme,
"id=%s" % task.id)[0]
101 resTaskLog = resSchedulerTaskScheme._getSchedulerTask()
103 if task.id == resTaskLog.id:
105 if resTaskLog.state == state_condition:
115 schedulerTask.id = task.id
117 resSchedulerTaskScheme = self.
scheduler.dbi.fetch(lookSchedulerTaskScheme,
"id=%s" % task.id)[0]
118 if resSchedulerTaskScheme ==
None:
125 schedulerTask.id = task.id
127 self.
scheduler.dbi.delete(lookSchedulerTaskScheme,
"id=%s" % task.id)
134 expect_GetAVGResourceEvent = self.
eventBuilder.build(EVENT_TYPES.GET_AVG_RESOURCES,
None)
137 match_event =
Matcher(matchGetAVGResourceEvent, expect_GetAVGResourceEvent)
141 self.assertEqual(self.
scheduler.waitResourcesTasks[self.
newTask.id],
True,
"")
149 expect_GetAVGResourceEvent = self.
eventBuilder.build(EVENT_TYPES.GET_AVG_RESOURCES,
None)
151 match_event =
Matcher(matchGetAVGResourceEvent, expect_GetAVGResourceEvent)
216 self.assertEqual(len(self.
scheduler.waitResourcesTasks), 0,
"")
217 self.assertEqual(len(self.
scheduler.waitResourcesEvents), 0,
"")
242 self.assertEqual(len(self.
scheduler.waitResourcesTasks), 0,
"")
243 self.assertEqual(len(self.
scheduler.waitResourcesEvents), 0,
"")
260 self.assertEqual(len(self.
scheduler.waitResourcesTasks), 0,
"")
261 self.assertEqual(len(self.
scheduler.waitResourcesEvents), 0,
"")
276 self.assertEqual(len(self.
scheduler.waitResourcesTasks), 0,
"")
277 self.assertEqual(len(self.
scheduler.waitResourcesEvents), 0,
"")
293 self.assertEqual(len(self.
scheduler.waitResourcesTasks), 0,
"")
294 self.assertEqual(len(self.
scheduler.waitResourcesEvents), 0,
"")
301 match_event =
Matcher(matchGetScheduledTasks, expect_response_event)
311 match_event =
Matcher(matchGetScheduledTasks, expect_response_event)
313 self.
scheduler.dbi.errorCode = dbi_const.DBI_DELETE_ERROR_CODE
326 match_event =
Matcher(matchGetScheduledTasks, expect_response_event)
338 schedulerTask.id = self.
newTask.id
339 schedulerTask.state = SELECTED_EE
345 match_event =
Matcher(matchGetScheduledTasks, expect_response_event)
357 self.
scheduler.modifyTaskInSchedule(task)
363 match_event =
Matcher(matchGetScheduledTasks, expect_response_event)
UpdateTask event object, for update task field operation.
def test_get_scheduled_tasks_broken_db(self)
def test_delete_task_present_in_schedule(self)
def test_get_scheduled_tasks_select_one_task(self)
def check_task_not_in_dbi(self, task)
def test_resourceAVG_resources_exceed(self)
def test_update_task_no_pending_task(self)
NewTask event object, defines the Task object fields.
connectionBuilderLight_mock
def test_resourceAVG_update_non_exist_task(self)
Class describes structures of task item used in Scheduler.
DeleteTask event object, to delete task from DTM application and from EE.
def test_delete_task_no_present_in_schedule(self)
def matchGetScheduledTasks(first, second)
def delete_task_in_dbi(self, task)
ResourcesAVG event object, represents summary of the EE resources utilization.
def test_resourceAVG_insert_thesame_task(self)
def test_resourceAVG_finish_add(self)
def test_update_task_present_in_pending_tasks(self)
def matchEventUID(first, second)
def test_get_scheduler_tasks_all_tasks_selected_by_ee(self)
def test_get_scheduler_tasks_check_select_order(self)
GetScheduledTasks event object, to get tasks per time slot range from the Scheduler.
Class hides routines of bulding connection objects.
def test_resourceAVG_finish_update(self)
def test_resourceAVG_finish_no_pending_event(self)
def test_get_scheduled_tasks_empty_db(self)
The Scheduler object implements algorithms of tasks scheduling.
getScheduledTasksResponse
def matchGetAVGResourceEvent(first, second)
def check_task_in_dbi(self, task, state_condition=None)
def test_delete_task_present_in_pending_tasts(self)
GetScheduledTasksResponse event object, to return list of task from the Scheduler.