예제 #1
0
 def setUp(self):
     self.queue = DedupedPriorityQueue("BounceQueue")
     assert not self.queue.bouncing
     self.mock_service_instance = BaseServiceInstance(
         service='universe',
         instance='c137',
         watcher='tests',
         priority=0,
         bounce_by=1,
         bounce_timers=None,
         failures=0,
     )
예제 #2
0
class TestDedupedPriorityQueue(unittest.TestCase):
    def setUp(self):
        self.queue = DedupedPriorityQueue("BounceQueue")
        assert not self.queue.bouncing
        self.mock_service_instance = BaseServiceInstance(
            service='universe',
            instance='c137',
            watcher='tests',
            priority=0,
            bounce_by=1,
            bounce_timers=None,
            failures=0,
        )

    def test_put(self):
        with mock.patch(
                'paasta_tools.deployd.master.PaastaPriorityQueue.put',
                autospec=True,
        ) as mock_paasta_queue_put:

            self.queue.put(0, self.mock_service_instance)
            mock_paasta_queue_put.assert_called_with(
                self.queue, 0, self.mock_service_instance)
            assert 'universe.c137' in self.queue.bouncing

            mock_paasta_queue_put.reset_mock()
            self.queue.put(0, self.mock_service_instance)
            assert not mock_paasta_queue_put.called
            assert 'universe.c137' in self.queue.bouncing

    def test_get(self):
        with mock.patch(
                'paasta_tools.deployd.master.PaastaPriorityQueue.get',
                autospec=True,
        ) as mock_paasta_queue_get:

            self.mock_service_instance = BaseServiceInstance(
                service='universe',
                instance='c137',
                watcher='tests',
                priority=0,
                bounce_by=1,
                bounce_timers=None,
                failures=0,
            )
            self.queue.bouncing.add('universe.c137')
            mock_paasta_queue_get.return_value = self.mock_service_instance

            assert self.queue.get() is self.mock_service_instance
            assert mock_paasta_queue_get.called
            assert 'universe.c137' not in self.queue.bouncing