feat: unify NocoBase API key authentication
This commit is contained in:
@@ -175,12 +175,17 @@ class UploadEndpointTests(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertEqual(list(Path(temp_dir).iterdir()), [])
|
||||
|
||||
async def test_upload_maps_upstream_errors_and_removes_temp_file(self) -> None:
|
||||
cases = ((401, "nb_upload_unauthorized"), (403, "nb_upload_unauthorized"), (500, "nb_upload_failed"))
|
||||
cases = (
|
||||
(NocoBaseHttpError(401, "upstream failure"), "nb_upload_unauthorized"),
|
||||
(NocoBaseHttpError(403, "permission denied"), "nb_upload_failed"),
|
||||
(NocoBaseHttpError(403, "expired", authentication_failed=True), "nb_upload_unauthorized"),
|
||||
(NocoBaseHttpError(500, "upstream failure"), "nb_upload_failed"),
|
||||
)
|
||||
|
||||
for status_code, error_code in cases:
|
||||
with self.subTest(status_code=status_code), TemporaryDirectory() as temp_dir:
|
||||
for upstream_error, error_code in cases:
|
||||
with self.subTest(status_code=upstream_error.status_code, error_code=error_code), TemporaryDirectory() as temp_dir:
|
||||
http_client = FakeHttpClient()
|
||||
http_client.error = NocoBaseHttpError(status_code, "upstream failure")
|
||||
http_client.error = upstream_error
|
||||
async with await self._client_for(http_client, temp_dir) as client:
|
||||
response = await client.post(
|
||||
"/uploads",
|
||||
|
||||
Reference in New Issue
Block a user