Ejemplo n.º 1
0
 def test__tryUpdateNodes_sends_work_to_dbtasks(self):
     nodes_with_tokens = yield deferToDatabase(self.make_nodes_with_tokens)
     node_messages = {
         node: [self.make_message() for _ in range(3)]
         for node, _ in nodes_with_tokens
     }
     dbtasks = Mock()
     dbtasks.addTask = Mock()
     worker = StatusWorkerService(dbtasks)
     for node, token in nodes_with_tokens:
         for message in node_messages[node]:
             worker.queueMessage(token.key, message)
     yield worker._tryUpdateNodes()
     call_args = [
         (call_arg[0][1], call_arg[0][2])
         for call_arg in dbtasks.addTask.call_args_list
     ]
     self.assertThat(
         call_args,
         MatchesSetwise(
             *[
                 MatchesListwise([Equals(node), Equals(messages)])
                 for node, messages in node_messages.items()
             ]
         ),
     )
Ejemplo n.º 2
0
 def test__tryUpdateNodes_returns_None_when_empty_queue(self):
     worker = StatusWorkerService(sentinel.dbtasks)
     self.assertIsNone(worker._tryUpdateNodes())