HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
ftest_TaskDataManager.py
Go to the documentation of this file.
1 from transport.Event import Event
2 from transport.Event import EventBuilder
3 from dtm.TaskDataManager import TaskDataManager
4 from dtm.Constants import EVENT_TYPES as EVENT
5 import unittest
6 import dtm.EventObjects
7 import ConfigParser
8 
9 globalEvent = None
10 globalReplyEvent = None
11 
12 def localReply(event, reply_event):
13  global globalEvent
14  globalEvent = event
15  global globalReplyEvent
16  globalReplyEvent = reply_event
17 
18 class TestTaskDataManager(unittest.TestCase):
19 
20 
21  def setUp(self):
22  self.config = ConfigParser.ConfigParser()
23  self.config.read("./TDM.ini")
24  self.taskDataManager = TaskDataManager(self.config)
26  self.taskDataManager.reply = localReply
27  self.event = None
28  self.reply_event = None
29  global globalEvent
30  globalEvent = None
31  global globalReplyEvent
32  globalReplyEvent = None
33 
34 
35  def tearDown(self):
36  pass
37 
38 
39  def insert(self, taskId):
40  newTask = dtm.EventObjects.NewTask("bash")
41  newTask.id = taskId
42  event = self.eventBuilder.build(EVENT.NEW_TASK, newTask)
43  self.taskDataManager.onNewTask(event)
44 
45  def testOnNewTask(self):
46  global globalEvent
47  global globalReplyEvent
48  taskId = 335
49  self.insert(taskId)
50  self.assertTrue(globalEvent != None, ">>> ret event is None")
51  self.assertTrue(globalReplyEvent != None, ">>> ret reply_event is None")
52  self.assertTrue(globalEvent.eventType == EVENT.NEW_TASK, ">>> ret event.eventType is wrong")
53  self.assertTrue(globalReplyEvent.eventType == EVENT.NEW_TASK_RESPONSE, ">>> reply_event event.eventType is wrong")
54 
55  def testOnFetchTask(self):
56  global globalEvent
57  global globalReplyEvent
58  taskId = 335
59  self.insert(taskId)
60  taskId = 200
61  fetchTask = dtm.EventObjects.FetchTaskData(taskId)
62  event = self.eventBuilder.build(EVENT.FETCH_TASK_DATA, fetchTask)
63  self.taskDataManager.onFetchTask(event)
64  self.assertTrue(globalEvent != None, ">>> ret event is None")
65  self.assertTrue(globalReplyEvent != None, ">>> ret reply_event is None")
66  self.assertTrue(globalEvent.eventType == EVENT.FETCH_TASK_DATA, ">>> ret event.eventType is wrong")
67  self.assertTrue(globalReplyEvent.eventType == EVENT.FETCH_TASK_DATA_RESPONSE,
68  ">>> reply_event event.eventType is wrong")
69  self.assertTrue(len(globalReplyEvent.eventObj) == 1, ">>> reply_event event.eventType not None")
70  self.assertTrue(globalReplyEvent.eventObj[0] == None, ">>> reply_event event.eventType not None")
71 
72  taskId = 335
73  fetchTask = dtm.EventObjects.FetchTaskData(taskId)
74  event = self.eventBuilder.build(EVENT.FETCH_TASK_DATA, fetchTask)
75  self.taskDataManager.onFetchTask(event)
76  self.assertTrue(len(globalReplyEvent.eventObj) == 1, ">>> reply_event event.eventType not None")
77  self.assertTrue(globalReplyEvent.eventObj[0] != None, ">>> reply_event event.eventType not None")
78 
79 
80  def testOnUpdateTask(self):
81  global globalEvent
82  global globalReplyEvent
83  taskId = 335
84  self.insert(taskId)
85  taskId = 200
86  updateTask = dtm.EventObjects.UpdateTask(taskId)
87  event = self.eventBuilder.build(EVENT.UPDATE_TASK, updateTask)
88  self.taskDataManager.onUpdateTask(event)
89  self.assertTrue(globalEvent != None, ">>> ret event is None")
90  self.assertTrue(globalReplyEvent != None, ">>> ret reply_event is None")
91 
92 
93  def testOnDeleteTask(self):
94  global globalEvent
95  global globalReplyEvent
96  taskId = 335
97  self.insert(taskId)
98  taskId = 335
99  deleteTask = dtm.EventObjects.UpdateTask(taskId)
100  event = self.eventBuilder.build(EVENT.DELETE_TASK, deleteTask)
101  self.taskDataManager.onDeleteTask(event)
102  self.assertTrue(globalEvent != None, ">>> ret event is None")
103  self.assertTrue(globalReplyEvent != None, ">>> ret reply_event is None")
104 
105 
107  global globalEvent
108  global globalReplyEvent
109  taskId = 335
110  insertEEResponse = dtm.EventObjects.EEResponseData(taskId)
111  event = self.eventBuilder.build(EVENT.INSERT_EE_DATA, insertEEResponse)
112  self.taskDataManager.onInsertEEResponse(event)
113  self.assertTrue(globalEvent != None, ">>> ret event is None")
114  self.assertTrue(globalReplyEvent != None, ">>> ret reply_event is None")
115 
116 
118  global globalEvent
119  global globalReplyEvent
120  taskId = 335
121  fetchEEResponse = dtm.EventObjects.FetchEEResponseData(taskId)
122  event = self.eventBuilder.build(EVENT.FETCH_EE_DATA, fetchEEResponse)
123  self.taskDataManager.onFetchEEResponse(event)
124  self.assertTrue(globalEvent != None, ">>> ret event is None")
125  self.assertTrue(globalReplyEvent != None, ">>> ret reply_event is None")
126  self.assertTrue(globalEvent.eventType == EVENT.FETCH_EE_DATA, ">>> ret event.eventType is wrong")
127  self.assertTrue(globalReplyEvent.eventType == EVENT.FETCH_EE_DATA_RESPONSE,
128  ">>> reply_event event.eventType is wrong")
129 
130 
132  global globalEvent
133  global globalReplyEvent
134  taskId = 335
135  deleteEEResponse = dtm.EventObjects.DeleteEEResponseData(taskId)
136  event = self.eventBuilder.build(EVENT.DELETE_EE_DATA, deleteEEResponse)
137  self.taskDataManager.onDeleteEEResponse(event)
138  self.assertTrue(globalEvent != None, ">>> ret event is None")
139  self.assertTrue(globalReplyEvent != None, ">>> ret reply_event is None")
140  self.assertTrue(globalEvent.eventType == EVENT.DELETE_EE_DATA, ">>> ret event.eventType is wrong")
141  self.assertTrue(globalReplyEvent.eventType == EVENT.DELETE_EE_DATA_RESPONSE,
142  ">>> reply_event event.eventType is wrong")
143 
144 
145 if __name__ == "__main__":
146  #import sys;sys.argv = ['', 'Test.testName']
147  unittest.main()
UpdateTask event object, for update task field operation.
NewTask event object, defines the Task object fields.
def localReply(event, reply_event)
FetchEEResponseData event object, to fetch EE response data from the storage.
DeleteEEResponseData event object, to delete EE response data from the storage.
FetchTaskData event object, to fetch task data from the storage.
EEResponseData event object, store task results data, returned from EE.