1
2import pytest
3
4
5@pytest.mark.pgsql('auth', files=['test_data.sql'])
6async def test_postgres(service_client):
7 response = await service_client.get('/v1/hello')
8 assert response.status == 401
9 assert response.text == "Empty 'Authorization' header"
10
11 response = await service_client.get(
12 '/v1/hello',
13 headers={'Authorization': 'Bearer THE_USER_TOKEN'},
14 )
15 assert response.status == 200
16 assert 'text/plain' in response.headers['Content-Type']
17 assert response.text == 'Hello world, Dear User!\n'
18
19
20 response = await service_client.get(
21 '/v1/hello',
22 headers={'Authorization': 'wrong format'},
23 )
24 assert response.status == 401
25 assert b'Bearer some-token' in response.content
26
27 response = await service_client.get(
28 '/v1/hello',
29 headers={'Authorization': 'wrong'},
30 )
31 assert response.status == 401
32 assert b'Bearer some-token' in response.content
33
34 response = await service_client.get(
35 '/v1/hello',
36 headers={'Authorization': 'Bearer wrong-token'},
37 )
38 assert response.status == 403
39
40 response = await service_client.get(
41 '/v1/hello',
42 headers={'Authorization': 'Bearer '},
43 )
44 assert response.status == 403
45
46 response = await service_client.get(
47 '/v1/hello',
48 headers={'Authorization': 'Bearer wrong-scopes-token'},
49 )
50 assert response.status == 403