Breaking : migrate your tests that use the TestDomain.client method following the instructions here https://github.com/Kludex/bump-testclient Squashed commit of the following: commit0417f27b3f
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 11:08:44 2023 +0100 [deps] starlette 0.23 commit552f00a65b
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:59:42 2023 +0100 [deps] starlette 0.22 commitaefe448717
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:55:45 2023 +0100 [tests][fix] compares the json interpreted value instead of the string commit01333a200c
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:55:20 2023 +0100 [testing] changes from requests to httpx for Starlette TestClient (breaks) commitf3784fab7f
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:54:10 2023 +0100 [deps][breaking] starlette 0.21 commit717d3f8bd6
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:26:31 2023 +0100 [responses] use a wrapper function for exception handling (fix starlette 0.20) commitd0876e45da
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:25:21 2023 +0100 [deps][breaking] starlette 0.20 commit6504191c53
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:12:51 2023 +0100 [deps] starlette 0.19 commit7b639a8dc2
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:11:14 2023 +0100 [deps] starlette 0.18 commit20bd9077a4
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr> Date: Sat Jan 14 10:07:48 2023 +0100 pipenv update
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import pytest
|
|
from starlette.responses import PlainTextResponse
|
|
from starlette.testclient import TestClient
|
|
from halfapi.half_route import HalfRoute
|
|
from halfapi.lib import acl
|
|
|
|
def test_acl_Check(dummy_app, token_debug_false_builder):
|
|
"""
|
|
A request with ?check should always return a 200 status code
|
|
"""
|
|
|
|
@HalfRoute.acl_decorator(params=[{'acl':acl.public}])
|
|
async def test_route_public(request, **kwargs):
|
|
raise Exception('Should not raise')
|
|
return PlainTextResponse('ok')
|
|
|
|
dummy_app.add_route('/test_public', test_route_public)
|
|
test_client = TestClient(dummy_app)
|
|
|
|
resp = test_client.request('get', '/test_public?check')
|
|
assert resp.status_code == 200
|
|
|
|
@HalfRoute.acl_decorator(params=[{'acl':acl.private}])
|
|
async def test_route_private(request, **kwargs):
|
|
raise Exception('Should not raise')
|
|
return PlainTextResponse('ok')
|
|
|
|
dummy_app.add_route('/test_private', test_route_private)
|
|
test_client = TestClient(dummy_app)
|
|
|
|
resp = test_client.request('get', '/test_private')
|
|
assert resp.status_code == 401
|
|
|
|
resp = test_client.request('get', '/test_private?check')
|
|
assert resp.status_code == 200
|
|
|
|
|