142 def testCheckState(self):
143 allAvailableTaskIds = [
"1",
"2"]
144 TasksStateUpdateService.FETCH_TASKS_IDS_INTERVAL = 1
147 time.sleep(TasksStateUpdateService.FETCH_TASKS_IDS_INTERVAL)
148 pollResult = self.taskManagerConnServer.poll(0.1)
149 self.assertEqual(zmq.POLLIN, zmq.POLLIN & pollResult)
150 event = self.taskManagerConnServer.recv()
151 self.assertEqual(event.eventType, DTM_CONSTS.EVENT_TYPES.FETCH_AVAILABLE_TASK_IDS)
152 res = AvailableTaskIds(allAvailableTaskIds)
153 responseEvent = self.eventBuilder.build(DTM_CONSTS.EVENT_TYPES.AVAILABLE_TASK_IDS_RESPONSE, res)
154 responseEvent.connect_identity = event.connect_identity
155 self.taskManagerConnServer.send(responseEvent)
159 pollResult = self.eeManagerServer.poll(0.1)
160 self.assertEqual(zmq.POLLIN, zmq.POLLIN & pollResult)
161 event = self.eeManagerServer.recv()
162 self.assertEqual(event.eventType, DTM_CONSTS.EVENT_TYPES.CHECK_TASK_STATE)
163 self.assertTrue(isinstance(event.eventObj, CheckTaskState))
164 firstId = event.eventObj.id
165 self.assertIn(firstId, allAvailableTaskIds)
168 time.sleep(TasksStateUpdateService.FETCH_TASKS_IDS_INTERVAL)
169 pollResult = self.taskManagerConnServer.poll(0.1)
170 self.assertEqual(zmq.POLLIN, zmq.POLLIN & pollResult)
171 event = self.taskManagerConnServer.recv()
172 self.assertEqual(event.eventType, DTM_CONSTS.EVENT_TYPES.FETCH_AVAILABLE_TASK_IDS)
173 res = AvailableTaskIds(allAvailableTaskIds)
174 responseEvent = self.eventBuilder.build(DTM_CONSTS.EVENT_TYPES.AVAILABLE_TASK_IDS_RESPONSE, res)
175 responseEvent.connect_identity = event.connect_identity
176 self.taskManagerConnServer.send(responseEvent)
179 pollResult = self.eeManagerServer.poll(0.1)
180 self.assertEqual(zmq.POLLIN, zmq.POLLIN & pollResult)
181 event = self.eeManagerServer.recv()
182 self.assertEqual(event.eventType, DTM_CONSTS.EVENT_TYPES.CHECK_TASK_STATE)
183 self.assertTrue(isinstance(event.eventObj, CheckTaskState))
184 secondId = event.eventObj.id
185 self.assertIn(secondId, allAvailableTaskIds)
187 self.assertNotEqual(firstId, secondId)
190 time.sleep(TasksStateUpdateService.FETCH_TASKS_IDS_INTERVAL)
191 pollResult = self.taskManagerConnServer.poll(0.1)
192 self.assertEqual(zmq.POLLIN, zmq.POLLIN & pollResult)
193 event = self.taskManagerConnServer.recv()
194 self.assertEqual(event.eventType, DTM_CONSTS.EVENT_TYPES.FETCH_AVAILABLE_TASK_IDS)
195 res = AvailableTaskIds(allAvailableTaskIds)
196 responseEvent = self.eventBuilder.build(DTM_CONSTS.EVENT_TYPES.AVAILABLE_TASK_IDS_RESPONSE, res)
197 responseEvent.connect_identity = event.connect_identity
198 self.taskManagerConnServer.send(responseEvent)
202 pollResult = self.eeManagerServer.poll(0.1)
203 self.assertEqual(zmq.POLLIN, zmq.POLLIN & pollResult)
204 event = self.eeManagerServer.recv()
205 self.assertEqual(event.eventType, DTM_CONSTS.EVENT_TYPES.CHECK_TASK_STATE)
206 self.assertTrue(isinstance(event.eventObj, CheckTaskState))
207 self.assertIn(event.eventObj.id, allAvailableTaskIds)