mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-06-28 06:41:43 +00:00
rewrite api under single /api endpoint
This commit is contained in:
@ -18,7 +18,7 @@ def test_status_url(web_client: WebClient) -> None:
|
||||
must generate package status url correctly
|
||||
"""
|
||||
assert web_client._status_url.startswith(web_client.address)
|
||||
assert web_client._status_url.endswith("/status-api/v1/status")
|
||||
assert web_client._status_url.endswith("/api/v1/status")
|
||||
|
||||
|
||||
def test_parse_address(configuration: Configuration) -> None:
|
||||
@ -80,7 +80,7 @@ def test_package_url(web_client: WebClient, package_ahriman: Package) -> None:
|
||||
must generate package status correctly
|
||||
"""
|
||||
assert web_client._package_url(package_ahriman.base).startswith(web_client.address)
|
||||
assert web_client._package_url(package_ahriman.base).endswith(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
assert web_client._package_url(package_ahriman.base).endswith(f"/api/v1/packages/{package_ahriman.base}")
|
||||
|
||||
|
||||
def test_add(web_client: WebClient, package_ahriman: Package, mocker: MockerFixture) -> None:
|
||||
|
@ -59,7 +59,7 @@ async def test_auth_handler_api(mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must ask for status permission for api calls
|
||||
"""
|
||||
aiohttp_request = pytest.helpers.request("", "/status-api", "GET")
|
||||
aiohttp_request = pytest.helpers.request("", "/api/v1/status", "GET")
|
||||
request_handler = AsyncMock()
|
||||
request_handler.get_permission.return_value = UserAccess.Read
|
||||
check_permission_mock = mocker.patch("aiohttp_security.check_permission")
|
||||
@ -91,7 +91,7 @@ async def test_auth_handler_allow_read_only(mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must allow pages with allow read only flag
|
||||
"""
|
||||
aiohttp_request = pytest.helpers.request("", "/status-api", "GET")
|
||||
aiohttp_request = pytest.helpers.request("", "/api/v1/status", "GET")
|
||||
request_handler = AsyncMock()
|
||||
request_handler.get_permission.return_value = UserAccess.Read
|
||||
check_permission_mock = mocker.patch("aiohttp_security.check_permission")
|
||||
@ -105,7 +105,7 @@ async def test_auth_handler_api_no_method(mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must ask for write permission if handler does not have get_permission method
|
||||
"""
|
||||
aiohttp_request = pytest.helpers.request("", "/status-api", "GET")
|
||||
aiohttp_request = pytest.helpers.request("", "/api/v1/status", "GET")
|
||||
request_handler = AsyncMock()
|
||||
request_handler.get_permission = None
|
||||
check_permission_mock = mocker.patch("aiohttp_security.check_permission")
|
||||
@ -119,7 +119,7 @@ async def test_auth_handler_api_post(mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must ask for status permission for api calls with POST
|
||||
"""
|
||||
aiohttp_request = pytest.helpers.request("", "/status-api", "POST")
|
||||
aiohttp_request = pytest.helpers.request("", "/api/v1/status", "POST")
|
||||
request_handler = AsyncMock()
|
||||
request_handler.get_permission.return_value = UserAccess.Full
|
||||
check_permission_mock = mocker.patch("aiohttp_security.check_permission")
|
||||
|
@ -21,7 +21,7 @@ async def test_post(client: TestClient, mocker: MockerFixture) -> None:
|
||||
must call post request correctly
|
||||
"""
|
||||
add_mock = mocker.patch("ahriman.core.spawn.Spawn.packages_add")
|
||||
response = await client.post("/service-api/v1/add", json={"packages": ["ahriman"]})
|
||||
response = await client.post("/api/v1/service/add", json={"packages": ["ahriman"]})
|
||||
|
||||
assert response.ok
|
||||
add_mock.assert_called_once_with(["ahriman"], now=True)
|
||||
@ -32,7 +32,7 @@ async def test_post_exception(client: TestClient, mocker: MockerFixture) -> None
|
||||
must raise exception on missing packages payload
|
||||
"""
|
||||
add_mock = mocker.patch("ahriman.core.spawn.Spawn.packages_add")
|
||||
response = await client.post("/service-api/v1/add")
|
||||
response = await client.post("/api/v1/service/add")
|
||||
|
||||
assert response.status == 400
|
||||
add_mock.assert_not_called()
|
||||
@ -43,7 +43,7 @@ async def test_post_update(client: TestClient, mocker: MockerFixture) -> None:
|
||||
must call post request correctly for alias
|
||||
"""
|
||||
add_mock = mocker.patch("ahriman.core.spawn.Spawn.packages_add")
|
||||
response = await client.post("/service-api/v1/update", json={"packages": ["ahriman"]})
|
||||
response = await client.post("/api/v1/service/update", json={"packages": ["ahriman"]})
|
||||
|
||||
assert response.ok
|
||||
add_mock.assert_called_once_with(["ahriman"], now=True)
|
||||
|
@ -21,7 +21,7 @@ async def test_post(client: TestClient, mocker: MockerFixture) -> None:
|
||||
must call post request correctly
|
||||
"""
|
||||
remove_mock = mocker.patch("ahriman.core.spawn.Spawn.packages_remove")
|
||||
response = await client.post("/service-api/v1/remove", json={"packages": ["ahriman"]})
|
||||
response = await client.post("/api/v1/service/remove", json={"packages": ["ahriman"]})
|
||||
|
||||
assert response.ok
|
||||
remove_mock.assert_called_once_with(["ahriman"])
|
||||
@ -32,7 +32,7 @@ async def test_post_exception(client: TestClient, mocker: MockerFixture) -> None
|
||||
must raise exception on missing packages payload
|
||||
"""
|
||||
remove_mock = mocker.patch("ahriman.core.spawn.Spawn.packages_remove")
|
||||
response = await client.post("/service-api/v1/remove")
|
||||
response = await client.post("/api/v1/service/remove")
|
||||
|
||||
assert response.status == 400
|
||||
remove_mock.assert_not_called()
|
||||
|
@ -21,7 +21,7 @@ async def test_post(client: TestClient, mocker: MockerFixture) -> None:
|
||||
must call post request correctly
|
||||
"""
|
||||
add_mock = mocker.patch("ahriman.core.spawn.Spawn.packages_add")
|
||||
response = await client.post("/service-api/v1/request", json={"packages": ["ahriman"]})
|
||||
response = await client.post("/api/v1/service/request", json={"packages": ["ahriman"]})
|
||||
|
||||
assert response.ok
|
||||
add_mock.assert_called_once_with(["ahriman"], now=False)
|
||||
@ -32,7 +32,7 @@ async def test_post_exception(client: TestClient, mocker: MockerFixture) -> None
|
||||
must raise exception on missing packages payload
|
||||
"""
|
||||
add_mock = mocker.patch("ahriman.core.spawn.Spawn.packages_add")
|
||||
response = await client.post("/service-api/v1/request")
|
||||
response = await client.post("/api/v1/service/request")
|
||||
|
||||
assert response.status == 400
|
||||
add_mock.assert_not_called()
|
||||
|
@ -22,7 +22,7 @@ async def test_get(client: TestClient, aur_package_ahriman: AURPackage, mocker:
|
||||
must call get request correctly
|
||||
"""
|
||||
mocker.patch("ahriman.core.alpm.remote.AUR.multisearch", return_value=[aur_package_ahriman])
|
||||
response = await client.get("/service-api/v1/search", params={"for": "ahriman"})
|
||||
response = await client.get("/api/v1/service/search", params={"for": "ahriman"})
|
||||
|
||||
assert response.ok
|
||||
assert await response.json() == [{"package": aur_package_ahriman.package_base,
|
||||
@ -34,7 +34,7 @@ async def test_get_exception(client: TestClient, mocker: MockerFixture) -> None:
|
||||
must raise 400 on empty search string
|
||||
"""
|
||||
search_mock = mocker.patch("ahriman.core.alpm.remote.AUR.multisearch", return_value=[])
|
||||
response = await client.get("/service-api/v1/search")
|
||||
response = await client.get("/api/v1/service/search")
|
||||
|
||||
assert response.status == 404
|
||||
search_mock.assert_called_once_with(pacman=pytest.helpers.anyvar(int))
|
||||
@ -45,7 +45,7 @@ async def test_get_join(client: TestClient, mocker: MockerFixture) -> None:
|
||||
must join search args with space
|
||||
"""
|
||||
search_mock = mocker.patch("ahriman.core.alpm.remote.AUR.multisearch")
|
||||
response = await client.get("/service-api/v1/search", params=[("for", "ahriman"), ("for", "maybe")])
|
||||
response = await client.get("/api/v1/service/search", params=[("for", "ahriman"), ("for", "maybe")])
|
||||
|
||||
assert response.ok
|
||||
search_mock.assert_called_once_with("ahriman", "maybe", pacman=pytest.helpers.anyvar(int))
|
||||
|
@ -24,12 +24,12 @@ async def test_get(client: TestClient, package_ahriman: Package, package_python_
|
||||
"""
|
||||
must return status for specific package
|
||||
"""
|
||||
await client.post(f"/status-api/v1/packages/{package_ahriman.base}",
|
||||
await client.post(f"/api/v1/packages/{package_ahriman.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
||||
await client.post(f"/status-api/v1/packages/{package_python_schedule.base}",
|
||||
await client.post(f"/api/v1/packages/{package_python_schedule.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_python_schedule.view()})
|
||||
|
||||
response = await client.get(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.ok
|
||||
|
||||
packages = [Package.from_json(item["package"]) for item in await response.json()]
|
||||
@ -41,7 +41,7 @@ async def test_get_not_found(client: TestClient, package_ahriman: Package) -> No
|
||||
"""
|
||||
must return Not Found for unknown package
|
||||
"""
|
||||
response = await client.get(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.status == 404
|
||||
|
||||
|
||||
@ -49,18 +49,18 @@ async def test_delete(client: TestClient, package_ahriman: Package, package_pyth
|
||||
"""
|
||||
must delete single base
|
||||
"""
|
||||
await client.post(f"/status-api/v1/packages/{package_ahriman.base}",
|
||||
await client.post(f"/api/v1/packages/{package_ahriman.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
||||
await client.post(f"/status-api/v1/packages/{package_python_schedule.base}",
|
||||
await client.post(f"/api/v1/packages/{package_python_schedule.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_python_schedule.view()})
|
||||
|
||||
response = await client.delete(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.delete(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.status == 204
|
||||
|
||||
response = await client.get(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.status == 404
|
||||
|
||||
response = await client.get(f"/status-api/v1/packages/{package_python_schedule.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_python_schedule.base}")
|
||||
assert response.ok
|
||||
|
||||
|
||||
@ -68,16 +68,16 @@ async def test_delete_unknown(client: TestClient, package_ahriman: Package, pack
|
||||
"""
|
||||
must suppress errors on unknown package deletion
|
||||
"""
|
||||
await client.post(f"/status-api/v1/packages/{package_python_schedule.base}",
|
||||
await client.post(f"/api/v1/packages/{package_python_schedule.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_python_schedule.view()})
|
||||
|
||||
response = await client.delete(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.delete(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.status == 204
|
||||
|
||||
response = await client.get(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.status == 404
|
||||
|
||||
response = await client.get(f"/status-api/v1/packages/{package_python_schedule.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_python_schedule.base}")
|
||||
assert response.ok
|
||||
|
||||
|
||||
@ -86,11 +86,11 @@ async def test_post(client: TestClient, package_ahriman: Package) -> None:
|
||||
must update package status
|
||||
"""
|
||||
post_response = await client.post(
|
||||
f"/status-api/v1/packages/{package_ahriman.base}",
|
||||
f"/api/v1/packages/{package_ahriman.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
||||
assert post_response.status == 204
|
||||
|
||||
response = await client.get(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.ok
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ async def test_post_exception(client: TestClient, package_ahriman: Package) -> N
|
||||
"""
|
||||
must raise exception on invalid payload
|
||||
"""
|
||||
post_response = await client.post(f"/status-api/v1/packages/{package_ahriman.base}", json={})
|
||||
post_response = await client.post(f"/api/v1/packages/{package_ahriman.base}", json={})
|
||||
assert post_response.status == 400
|
||||
|
||||
|
||||
@ -107,15 +107,15 @@ async def test_post_light(client: TestClient, package_ahriman: Package) -> None:
|
||||
must update package status only
|
||||
"""
|
||||
post_response = await client.post(
|
||||
f"/status-api/v1/packages/{package_ahriman.base}",
|
||||
f"/api/v1/packages/{package_ahriman.base}",
|
||||
json={"status": BuildStatusEnum.Unknown.value, "package": package_ahriman.view()})
|
||||
assert post_response.status == 204
|
||||
|
||||
post_response = await client.post(
|
||||
f"/status-api/v1/packages/{package_ahriman.base}", json={"status": BuildStatusEnum.Success.value})
|
||||
f"/api/v1/packages/{package_ahriman.base}", json={"status": BuildStatusEnum.Success.value})
|
||||
assert post_response.status == 204
|
||||
|
||||
response = await client.get(f"/status-api/v1/packages/{package_ahriman.base}")
|
||||
response = await client.get(f"/api/v1/packages/{package_ahriman.base}")
|
||||
assert response.ok
|
||||
statuses = {
|
||||
Package.from_json(item["package"]).base: BuildStatus.from_json(item["status"])
|
||||
@ -129,5 +129,5 @@ async def test_post_not_found(client: TestClient, package_ahriman: Package) -> N
|
||||
must raise exception on status update for unknown package
|
||||
"""
|
||||
post_response = await client.post(
|
||||
f"/status-api/v1/packages/{package_ahriman.base}", json={"status": BuildStatusEnum.Success.value})
|
||||
f"/api/v1/packages/{package_ahriman.base}", json={"status": BuildStatusEnum.Success.value})
|
||||
assert post_response.status == 400
|
||||
|
@ -25,12 +25,12 @@ async def test_get(client: TestClient, package_ahriman: Package, package_python_
|
||||
"""
|
||||
must return status for all packages
|
||||
"""
|
||||
await client.post(f"/status-api/v1/packages/{package_ahriman.base}",
|
||||
await client.post(f"/api/v1/packages/{package_ahriman.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
||||
await client.post(f"/status-api/v1/packages/{package_python_schedule.base}",
|
||||
await client.post(f"/api/v1/packages/{package_python_schedule.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_python_schedule.view()})
|
||||
|
||||
response = await client.get("/status-api/v1/packages")
|
||||
response = await client.get("/api/v1/packages")
|
||||
assert response.ok
|
||||
|
||||
packages = [Package.from_json(item["package"]) for item in await response.json()]
|
||||
@ -43,6 +43,6 @@ async def test_post(client: TestClient, mocker: MockerFixture) -> None:
|
||||
must be able to reload packages
|
||||
"""
|
||||
load_mock = mocker.patch("ahriman.core.status.watcher.Watcher.load")
|
||||
response = await client.post("/status-api/v1/packages")
|
||||
response = await client.post("/api/v1/packages")
|
||||
assert response.status == 204
|
||||
load_mock.assert_called_once_with()
|
||||
|
@ -28,10 +28,10 @@ async def test_get(client: TestClient, package_ahriman: Package) -> None:
|
||||
"""
|
||||
must generate web service status correctly
|
||||
"""
|
||||
await client.post(f"/status-api/v1/packages/{package_ahriman.base}",
|
||||
await client.post(f"/api/v1/packages/{package_ahriman.base}",
|
||||
json={"status": BuildStatusEnum.Success.value, "package": package_ahriman.view()})
|
||||
|
||||
response = await client.get("/status-api/v1/status")
|
||||
response = await client.get("/api/v1/status")
|
||||
assert response.ok
|
||||
|
||||
json = await response.json()
|
||||
@ -45,10 +45,10 @@ async def test_post(client: TestClient) -> None:
|
||||
must update service status correctly
|
||||
"""
|
||||
payload = {"status": BuildStatusEnum.Success.value}
|
||||
post_response = await client.post("/status-api/v1/status", json=payload)
|
||||
post_response = await client.post("/api/v1/status", json=payload)
|
||||
assert post_response.status == 204
|
||||
|
||||
response = await client.get("/status-api/v1/status")
|
||||
response = await client.get("/api/v1/status")
|
||||
status = InternalStatus.from_json(await response.json())
|
||||
|
||||
assert response.ok
|
||||
@ -59,7 +59,7 @@ async def test_post_exception(client: TestClient) -> None:
|
||||
"""
|
||||
must raise exception on invalid payload
|
||||
"""
|
||||
post_response = await client.post("/status-api/v1/status", json={})
|
||||
post_response = await client.post("/api/v1/status", json={})
|
||||
assert post_response.status == 400
|
||||
|
||||
|
||||
@ -70,5 +70,5 @@ async def test_post_exception_inside(client: TestClient, mocker: MockerFixture)
|
||||
payload = {"status": BuildStatusEnum.Success.value}
|
||||
mocker.patch("ahriman.core.status.watcher.Watcher.update_self", side_effect=Exception())
|
||||
|
||||
post_response = await client.post("/status-api/v1/status", json=payload)
|
||||
post_response = await client.post("/api/v1/status", json=payload)
|
||||
assert post_response.status == 500
|
||||
|
@ -21,7 +21,7 @@ async def test_get_default_validator(client_with_auth: TestClient) -> None:
|
||||
"""
|
||||
must return 405 in case if no OAuth enabled
|
||||
"""
|
||||
get_response = await client_with_auth.get("/user-api/v1/login")
|
||||
get_response = await client_with_auth.get("/api/v1/login")
|
||||
assert get_response.status == 405
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ async def test_get_redirect_to_oauth(client_with_oauth_auth: TestClient) -> None
|
||||
oauth = client_with_oauth_auth.app["validator"]
|
||||
oauth.get_oauth_url.return_value = "https://httpbin.org"
|
||||
|
||||
get_response = await client_with_oauth_auth.get("/user-api/v1/login")
|
||||
get_response = await client_with_oauth_auth.get("/api/v1/login")
|
||||
assert get_response.ok
|
||||
oauth.get_oauth_url.assert_called_once_with()
|
||||
|
||||
@ -44,7 +44,7 @@ async def test_get_redirect_to_oauth_empty_code(client_with_oauth_auth: TestClie
|
||||
oauth = client_with_oauth_auth.app["validator"]
|
||||
oauth.get_oauth_url.return_value = "https://httpbin.org"
|
||||
|
||||
get_response = await client_with_oauth_auth.get("/user-api/v1/login", params={"code": ""})
|
||||
get_response = await client_with_oauth_auth.get("/api/v1/login", params={"code": ""})
|
||||
assert get_response.ok
|
||||
oauth.get_oauth_url.assert_called_once_with()
|
||||
|
||||
@ -60,7 +60,7 @@ async def test_get(client_with_oauth_auth: TestClient, mocker: MockerFixture) ->
|
||||
oauth.max_age = 60
|
||||
remember_mock = mocker.patch("aiohttp_security.remember")
|
||||
|
||||
get_response = await client_with_oauth_auth.get("/user-api/v1/login", params={"code": "code"})
|
||||
get_response = await client_with_oauth_auth.get("/api/v1/login", params={"code": "code"})
|
||||
|
||||
assert get_response.ok
|
||||
oauth.get_oauth_username.assert_called_once_with("code")
|
||||
@ -78,7 +78,7 @@ async def test_get_unauthorized(client_with_oauth_auth: TestClient, mocker: Mock
|
||||
oauth.max_age = 60
|
||||
remember_mock = mocker.patch("aiohttp_security.remember")
|
||||
|
||||
get_response = await client_with_oauth_auth.get("/user-api/v1/login", params={"code": "code"})
|
||||
get_response = await client_with_oauth_auth.get("/api/v1/login", params={"code": "code"})
|
||||
|
||||
assert get_response.status == 401
|
||||
remember_mock.assert_not_called()
|
||||
@ -91,10 +91,10 @@ async def test_post(client_with_auth: TestClient, user: User, mocker: MockerFixt
|
||||
payload = {"username": user.username, "password": user.password}
|
||||
remember_mock = mocker.patch("aiohttp_security.remember")
|
||||
|
||||
post_response = await client_with_auth.post("/user-api/v1/login", json=payload)
|
||||
post_response = await client_with_auth.post("/api/v1/login", json=payload)
|
||||
assert post_response.ok
|
||||
|
||||
post_response = await client_with_auth.post("/user-api/v1/login", data=payload)
|
||||
post_response = await client_with_auth.post("/api/v1/login", data=payload)
|
||||
assert post_response.ok
|
||||
|
||||
remember_mock.assert_called()
|
||||
@ -105,7 +105,7 @@ async def test_post_skip(client: TestClient, user: User) -> None:
|
||||
must process if no auth configured
|
||||
"""
|
||||
payload = {"username": user.username, "password": user.password}
|
||||
post_response = await client.post("/user-api/v1/login", json=payload)
|
||||
post_response = await client.post("/api/v1/login", json=payload)
|
||||
assert post_response.ok
|
||||
|
||||
|
||||
@ -116,6 +116,6 @@ async def test_post_unauthorized(client_with_auth: TestClient, user: User, mocke
|
||||
payload = {"username": user.username, "password": ""}
|
||||
remember_mock = mocker.patch("aiohttp_security.remember")
|
||||
|
||||
post_response = await client_with_auth.post("/user-api/v1/login", json=payload)
|
||||
post_response = await client_with_auth.post("/api/v1/login", json=payload)
|
||||
assert post_response.status == 401
|
||||
remember_mock.assert_not_called()
|
||||
|
@ -24,7 +24,7 @@ async def test_post(client_with_auth: TestClient, mocker: MockerFixture) -> None
|
||||
mocker.patch("aiohttp_security.check_authorized")
|
||||
forget_mock = mocker.patch("aiohttp_security.forget")
|
||||
|
||||
post_response = await client_with_auth.post("/user-api/v1/logout")
|
||||
post_response = await client_with_auth.post("/api/v1/logout")
|
||||
assert post_response.ok
|
||||
forget_mock.assert_called_once_with(pytest.helpers.anyvar(int), pytest.helpers.anyvar(int))
|
||||
|
||||
@ -36,7 +36,7 @@ async def test_post_unauthorized(client_with_auth: TestClient, mocker: MockerFix
|
||||
mocker.patch("aiohttp_security.check_authorized", side_effect=HTTPUnauthorized())
|
||||
forget_mock = mocker.patch("aiohttp_security.forget")
|
||||
|
||||
post_response = await client_with_auth.post("/user-api/v1/logout")
|
||||
post_response = await client_with_auth.post("/api/v1/logout")
|
||||
assert post_response.status == 401
|
||||
forget_mock.assert_not_called()
|
||||
|
||||
@ -45,5 +45,5 @@ async def test_post_disabled(client: TestClient) -> None:
|
||||
"""
|
||||
must raise exception if auth is disabled
|
||||
"""
|
||||
post_response = await client.post("/user-api/v1/logout")
|
||||
post_response = await client.post("/api/v1/logout")
|
||||
assert post_response.ok
|
||||
|
Reference in New Issue
Block a user