Ejemplo n.º 1
0
 def test_process_calls_processDHCP_for_rack_controller(self):
     rack_id = random.randint(0, 100)
     service = RackControllerService(sentinel.ipcWorker, sentinel.listener)
     service.watching = set([rack_id])
     service.needsDHCPUpdate = set([rack_id])
     service.running = True
     mock_processDHCP = self.patch(service, "processDHCP")
     service.startProcessing()
     yield service.processingDone
     self.assertThat(mock_processDHCP, MockCalledOnceWith(rack_id))
Ejemplo n.º 2
0
 def test_process_doesnt_call_processDHCP_when_nothing_to_process(self):
     rack_id = random.randint(0, 100)
     service = RackControllerService(sentinel.ipcWorker, sentinel.listener)
     service.watching = set([rack_id])
     service.needsDHCPUpdate = set()
     service.running = True
     mock_processDHCP = self.patch(service, "processDHCP")
     service.startProcessing()
     yield service.processingDone
     self.assertThat(mock_processDHCP, MockNotCalled())
Ejemplo n.º 3
0
 def test_process_calls_processDHCP_multiple_times(self):
     rack_ids = [random.randint(0, 100) for _ in range(3)]
     service = RackControllerService(sentinel.ipcWorker, sentinel.listener)
     service.watching = set(rack_ids)
     service.needsDHCPUpdate = set(rack_ids)
     service.running = True
     mock_processDHCP = self.patch(service, "processDHCP")
     service.startProcessing()
     for _ in range(len(rack_ids)):
         yield service.processingDone
     for rack_id in rack_ids:
         self.assertThat(mock_processDHCP, MockAnyCall(rack_id))
Ejemplo n.º 4
0
 def test_process_calls_processDHCP_multiple_times_on_failure(self):
     rack_id = random.randint(0, 100)
     service = RackControllerService(sentinel.ipcWorker, sentinel.listener)
     service.watching = set([rack_id])
     service.needsDHCPUpdate = set([rack_id])
     service.running = True
     mock_processDHCP = self.patch(service, "processDHCP")
     mock_processDHCP.side_effect = [
         fail(factory.make_exception()),
         succeed(None),
     ]
     service.startProcessing()
     for _ in range(2):
         yield service.processingDone
     self.assertThat(mock_processDHCP,
                     MockCallsMatch(call(rack_id), call(rack_id)))