Пример #1
0
class TestPublicConfigWatcher(unittest.TestCase):
    def setUp(self):
        mock_inbox_q = mock.Mock()
        with mock.patch(
            'paasta_tools.deployd.watchers.pyinotify.WatchManager', autospec=True,
        ), mock.patch(
            'paasta_tools.deployd.watchers.PublicConfigEventHandler', autospec=True,
        ), mock.patch(
            'paasta_tools.deployd.watchers.pyinotify.Notifier', autospec=True,
        ) as mock_notifier_class, mock.patch(
            'paasta_tools.deployd.watchers.PublicConfigFileWatcher.mask', autospec=True,
        ):
            self.mock_notifier = mock.Mock()
            mock_notifier_class.return_value = self.mock_notifier
            self.watcher = PublicConfigFileWatcher(mock_inbox_q, 'westeros-prod', config=mock.Mock())
            assert mock_notifier_class.called

    def test_mask(self):
        with mock.patch(
            'paasta_tools.deployd.watchers.pyinotify.EventsCodes', autospec=True,
        ) as mock_event_codes:
            mock_event_codes.OP_FLAGS = {'UNION_JACK': 1, 'STARS_AND_STRIPES': 2, 'IN_OPEN': 4}
            assert self.watcher.mask == 3

    def test_run(self):
        self.watcher.run()
        self.mock_notifier.loop.assert_called_with(callback=self.watcher.startup_checker)

    def test_startup_checker(self):
        assert not self.watcher.is_ready
        self.watcher.startup_checker(mock.Mock())
        assert self.watcher.is_ready
Пример #2
0
class TestPublicConfigWatcher(unittest.TestCase):
    def setUp(self):
        mock_instances_to_bounce = mock.Mock()
        with mock.patch(
                "paasta_tools.deployd.watchers.pyinotify.WatchManager",
                autospec=True
        ), mock.patch(
                "paasta_tools.deployd.watchers.PublicConfigEventHandler",
                autospec=True
        ), mock.patch(
                "paasta_tools.deployd.watchers.pyinotify.Notifier",
                autospec=True
        ) as mock_notifier_class, mock.patch(
                "paasta_tools.deployd.watchers.PublicConfigFileWatcher.mask",
                autospec=True):
            self.mock_notifier = mock.Mock()
            mock_notifier_class.return_value = self.mock_notifier
            self.watcher = PublicConfigFileWatcher(mock_instances_to_bounce,
                                                   "westeros-prod",
                                                   config=mock.Mock())
            assert mock_notifier_class.called

    def test_mask(self):
        with mock.patch("paasta_tools.deployd.watchers.pyinotify.EventsCodes",
                        autospec=True) as mock_event_codes:
            mock_event_codes.OP_FLAGS = {
                "UNION_JACK": 1,
                "STARS_AND_STRIPES": 2,
                "IN_OPEN": 4,
            }
            assert self.watcher.mask == 3

    def test_run(self):
        self.watcher.run()
        self.mock_notifier.loop.assert_called_with(
            callback=self.watcher.startup_checker)

    def test_startup_checker(self):
        assert not self.watcher.is_ready
        self.watcher.startup_checker(mock.Mock())
        assert self.watcher.is_ready