1import dateutil
2import pytest
4
5import testsuite.plugins.mocked_time
6import testsuite.utils.http
7
8
9
10@pytest.mark.now('2019-12-31T11:22:33Z')
11async def test_now(service_client: pytest_userver.client.Client, mocked_time: testsuite.plugins.mocked_time.MockedTime):
12 response: testsuite.utils.http.ClientResponse = await service_client.get('/now')
13 assert response.status == 200
14 assert 'application/json' in response.headers['Content-Type']
15 assert response.json() == {'now': '2019-12-31T11:22:33+00:00'}
16
17
18 mocked_time.sleep(671)
19 await service_client.update_server_state()
20
21 response = await service_client.get('/now')
22 assert response.status == 200
23 assert 'application/json' in response.headers['Content-Type']
24 assert response.json() == {'now': '2019-12-31T11:33:44+00:00'}
25
26
27
28@pytest.mark.now('2019-12-31T10:00:00+0545')
29async def test_now_timezone_custom(service_client, mocked_time):
30 response = await service_client.get('/now')
31 assert response.status == 200
32 assert 'application/json' in response.headers['Content-Type']
33 assert response.json() == {'now': '2019-12-31T04:15:00+00:00'}
34
35 mocked_time.set(dateutil.parser.parse('2019-12-31T10:00:00+0400'))
36
37 response = await service_client.get('/now')
38 assert response.status == 200
39 assert 'application/json' in response.headers['Content-Type']
40 assert response.json() == {'now': '2019-12-31T06:00:00+00:00'}