示例#1
0
    def test_lazy_worker_set_cache_variable_if_not_set(self):
        with patch('kobo.hub.middleware.get_worker',
                   return_value=DummyWorker()) as get_worker_mock:
            req = PropertyMock(
                spec=['user'],
                user=PropertyMock(username='******'),
            )

            cached_worker = middleware.LazyWorker().__get__(req)
            self.assertIsInstance(cached_worker, DummyWorker)

            get_worker_mock.assert_called_once_with(req)
示例#2
0
    def test_lazy_worker_do_not_set_cache_variable_if_already_set(self):
        with patch('kobo.hub.middleware.get_worker',
                   return_value=DummyWorker('new-worker')) as get_worker_mock:
            req = PropertyMock(
                spec=['user', '_cached_worker'],
                user=PropertyMock(username='******'),
                _cached_worker=DummyWorker('cached-worker'),
            )

            cached_worker = middleware.LazyWorker().__get__(req)
            self.assertIsInstance(cached_worker, DummyWorker)
            self.assertEquals(cached_worker.name, 'cached-worker')

            get_worker_mock.assert_not_called()