Skip to content

Commit a3c21fb

Browse files
committed
pytest compatibility
1 parent 0f060b8 commit a3c21fb

6 files changed

Lines changed: 39 additions & 33 deletions

File tree

tests/admin_fixtures.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ async def mongo_admin(resource_name='test_post', security=setup_security):
6363
@pytest.fixture
6464
def create_admin(request, admin_type):
6565
if admin_type == 'mongo':
66-
f = request.getfuncargvalue('mongo_admin_creator')
66+
f = request.getfixturevalue('mongo_admin_creator')
6767
elif admin_type == 'mysql':
68-
f = request.getfuncargvalue('mysql_admin_creator')
68+
f = request.getfixturevalue('mysql_admin_creator')
6969
else:
70-
f = request.getfuncargvalue('pg_admin_creator')
70+
f = request.getfixturevalue('pg_admin_creator')
7171
return f
7272

7373

tests/db_fixtures.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
from trafaret.contrib.rfc_3339 import DateTime
1414

1515

16-
def pytest_namespace():
17-
dbs = 'pg', 'mongo', 'mysql'
18-
return {'admin_type_list': dbs}
16+
ADMIN_TYPE_LIST = 'pg', 'mongo', 'mysql'
1917

2018

2119
@pytest.fixture
@@ -27,9 +25,9 @@ def admin_type():
2725
@pytest.fixture
2826
def database(request, admin_type):
2927
if admin_type == 'mysql':
30-
f = request.getfuncargvalue('mysql')
28+
f = request.getfixturevalue('mysql')
3129
else:
32-
f = request.getfuncargvalue('postgres')
30+
f = request.getfixturevalue('postgres')
3331
return f
3432

3533

tests/test_admin_handlers.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import pytest
22

3+
from db_fixtures import ADMIN_TYPE_LIST
4+
35

46
async def prepare_admin(create_admin):
57
resource = 'posts'
@@ -9,7 +11,7 @@ async def prepare_admin(create_admin):
911
return admin, client
1012

1113

12-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
14+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
1315
@pytest.mark.run_loop
1416
async def test_login_page(create_admin):
1517
_, client = await prepare_admin(create_admin)
@@ -19,7 +21,7 @@ async def test_login_page(create_admin):
1921
assert b'username' in page
2022

2123

22-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
24+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
2325
@pytest.mark.run_loop
2426
async def test_admin_page_redirect(create_admin):
2527
_, client = await prepare_admin(create_admin)
@@ -30,7 +32,7 @@ async def test_admin_page_redirect(create_admin):
3032
assert b"ng-admin" in page
3133

3234

33-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
35+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
3436
@pytest.mark.run_loop
3537
async def test_token(create_admin):
3638
_, client = await prepare_admin(create_admin)
@@ -44,7 +46,7 @@ async def test_token(create_admin):
4446
assert ctx.value.error_json == msg
4547

4648

47-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
49+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
4850
@pytest.mark.run_loop
4951
async def test_token_invalid_payload(create_admin):
5052
_, client = await prepare_admin(create_admin)
@@ -60,7 +62,7 @@ async def test_token_invalid_payload(create_admin):
6062
assert ctx.value.error_json == msg
6163

6264

63-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
65+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
6466
@pytest.mark.run_loop
6567
async def test_logout(create_admin):
6668
_, client = await prepare_admin(create_admin)

tests/test_permissions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from aiohttp_admin.security import DummyAuthPolicy, DummyTokenIdentityPolicy
66
from aiohttp_admin.security import Permissions
77

8+
from db_fixtures import ADMIN_TYPE_LIST
9+
810

911
def setup_security(app, permissions=None):
1012
# setup dummy auth and identity
@@ -24,7 +26,7 @@ async def prepare_admin(create_admin, permissions=None):
2426
return resource, client
2527

2628

27-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
29+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
2830
@pytest.mark.run_loop
2931
async def test_list_without_permisson(create_admin):
3032
p = [Permissions.edit, Permissions.add, Permissions.delete]

tests/test_rest.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import pytest
22

3+
from db_fixtures import ADMIN_TYPE_LIST
34

4-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
5+
6+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
57
@pytest.mark.run_loop
68
async def test_basic_rest(create_admin):
79
resource = 'posts'
@@ -22,7 +24,7 @@ async def test_basic_rest(create_admin):
2224
assert entity == resp[0]
2325

2426

25-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
27+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
2628
@pytest.mark.run_loop
2729
async def test_detail_entity_that_not_exists(create_admin):
2830
resource = 'posts'
@@ -57,7 +59,7 @@ async def test_detail_entity_that_not_exists(create_admin):
5759
assert err.error_json == err_dict
5860

5961

60-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
62+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
6163
@pytest.mark.run_loop
6264
async def test_list_pagination(create_admin):
6365
resource = 'posts'
@@ -83,7 +85,7 @@ async def test_list_pagination(create_admin):
8385
assert set(all_ids) == set(paged_ids)
8486

8587

86-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
88+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
8789
@pytest.mark.run_loop
8890
async def test_list_filtering_by_pk(create_admin):
8991
resource = 'posts'
@@ -108,7 +110,7 @@ async def test_list_filtering_by_pk(create_admin):
108110
assert entity == resp[0]
109111

110112

111-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
113+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
112114
@pytest.mark.run_loop
113115
async def test_list_text_like_filtering(create_admin):
114116
resource = 'posts'
@@ -131,7 +133,7 @@ async def test_list_text_like_filtering(create_admin):
131133
assert len(resp) == 6
132134

133135

134-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
136+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
135137
@pytest.mark.run_loop
136138
async def test_list_q_filter(create_admin):
137139
resource = 'posts'
@@ -156,7 +158,7 @@ async def test_list_q_filter(create_admin):
156158
assert len(resp) == 6
157159

158160

159-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
161+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
160162
@pytest.mark.run_loop
161163
async def test_list_sorting(create_admin):
162164
resource = 'posts'
@@ -182,7 +184,7 @@ async def test_list_sorting(create_admin):
182184
assert sorted_values == expected[::-1]
183185

184186

185-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
187+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
186188
@pytest.mark.run_loop
187189
async def test_list_filtering(create_admin):
188190
resource = 'posts'
@@ -233,7 +235,7 @@ async def test_list_filtering(create_admin):
233235
assert len(resp) == 3
234236

235237

236-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
238+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
237239
@pytest.mark.run_loop
238240
async def test_create(create_admin):
239241
resource = 'posts'
@@ -264,7 +266,7 @@ async def test_create(create_admin):
264266
assert resp['title'] == entity['title']
265267

266268

267-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
269+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
268270
@pytest.mark.run_loop
269271
async def test_update(create_admin):
270272
resource = 'posts'
@@ -302,7 +304,7 @@ async def test_update(create_admin):
302304
assert new_entity == entity
303305

304306

305-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
307+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
306308
@pytest.mark.run_loop
307309
async def test_update_deleted_entity(create_admin):
308310
resource = 'posts'
@@ -339,7 +341,7 @@ async def test_update_deleted_entity(create_admin):
339341
assert err.error_json == err_dict
340342

341343

342-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
344+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
343345
@pytest.mark.run_loop
344346
async def test_update_not_valid_payload(create_admin):
345347
resource = 'posts'
@@ -375,7 +377,7 @@ async def test_update_not_valid_payload(create_admin):
375377
assert foo_error == 'foo is not allowed key'
376378

377379

378-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
380+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
379381
@pytest.mark.run_loop
380382
async def test_delete(create_admin):
381383
resource = 'posts'
@@ -399,7 +401,7 @@ async def test_delete(create_admin):
399401
assert len(all_rows) == 0
400402

401403

402-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
404+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
403405
@pytest.mark.run_loop
404406
async def test_delete_entity_that_not_exists(create_admin):
405407
resource = 'posts'

tests/test_token.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
from aiohttp_admin.security import DummyAuthPolicy, DummyTokenIdentityPolicy
66

7+
from db_fixtures import ADMIN_TYPE_LIST
8+
79

810
def setup_security(app, permissions=None):
911
# setup dummy auth and identity
@@ -23,7 +25,7 @@ async def prepare_admin(create_admin, permissions=None):
2325
return resource, client
2426

2527

26-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
28+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
2729
@pytest.mark.run_loop
2830
async def test_list_without_token(create_admin):
2931
resource, client = await prepare_admin(create_admin)
@@ -38,7 +40,7 @@ async def test_list_without_token(create_admin):
3840
assert ctx.value.status_code == 401
3941

4042

41-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
43+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
4244
@pytest.mark.run_loop
4345
async def test_details_without_token(create_admin):
4446
resource, client = await prepare_admin(create_admin)
@@ -55,7 +57,7 @@ async def test_details_without_token(create_admin):
5557
assert ctx.value.status_code == 401
5658

5759

58-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
60+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
5961
@pytest.mark.run_loop
6062
async def test_delete_without_token(create_admin):
6163
resource, client = await prepare_admin(create_admin)
@@ -72,7 +74,7 @@ async def test_delete_without_token(create_admin):
7274
assert ctx.value.status_code == 401
7375

7476

75-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
77+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
7678
@pytest.mark.run_loop
7779
async def test_update_without_token(create_admin):
7880
resource, client = await prepare_admin(create_admin)
@@ -90,7 +92,7 @@ async def test_update_without_token(create_admin):
9092
assert ctx.value.status_code == 401
9193

9294

93-
@pytest.mark.parametrize('admin_type', pytest.admin_type_list)
95+
@pytest.mark.parametrize('admin_type', ADMIN_TYPE_LIST)
9496
@pytest.mark.run_loop
9597
async def test_create_without_token(create_admin):
9698
resource, client = await prepare_admin(create_admin)

0 commit comments

Comments
 (0)