|
|
@@ -112,10 +112,19 @@ async def test_action_dispatch_unknown_action(client):
|
|
|
@pytest.mark.asyncio
|
|
|
async def test_reload_clears_caches(client):
|
|
|
import room_cal.store as _cal
|
|
|
+ from room_cal.service_api import ServiceAPI
|
|
|
cal = _cal.get_calendar()
|
|
|
cal._event_cache[('fake_key',)] = []
|
|
|
cal._cached_url = 'http://example.com/cal'
|
|
|
|
|
|
+ class _StubClient:
|
|
|
+ cleared = False
|
|
|
+ def clear_cache(self):
|
|
|
+ self.cleared = True
|
|
|
+
|
|
|
+ stub = _StubClient()
|
|
|
+ ServiceAPI.set(ServiceAPI(clients={'stub': stub}))
|
|
|
+
|
|
|
with patch('room_cal.api.get_user', return_value=_AUTHED):
|
|
|
r = await client.post('/reload')
|
|
|
|
|
|
@@ -125,3 +134,5 @@ async def test_reload_clears_caches(client):
|
|
|
assert data['cleared_calendars'] >= 1
|
|
|
assert cal._event_cache == {}
|
|
|
assert cal._cached_url is None
|
|
|
+ assert data['cleared_services'] == 1
|
|
|
+ assert stub.cleared
|