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)
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()