feat: unify NocoBase API key authentication

This commit is contained in:
nac
2026-07-15 04:12:40 +00:00
parent 7385d1de82
commit ad0d6fe468
15 changed files with 352 additions and 60 deletions
+8 -7
View File
@@ -187,16 +187,17 @@ class ProjectServiceTests(unittest.TestCase):
def test_association_errors_keep_project_id_and_map_to_stable_codes(self) -> None:
cases = [
(404, "attachment_not_found"),
(401, "nb_upload_unauthorized"),
(403, "nb_upload_unauthorized"),
(500, "nb_upload_failed"),
(NocoBaseHttpError(404, "attachment request failed"), "attachment_not_found"),
(NocoBaseHttpError(401, "attachment request failed"), "nb_upload_unauthorized"),
(NocoBaseHttpError(403, "permission denied"), "nb_upload_failed"),
(NocoBaseHttpError(403, "expired", authentication_failed=True), "nb_upload_unauthorized"),
(NocoBaseHttpError(500, "attachment request failed"), "nb_upload_failed"),
]
for status_code, error_code in cases:
with self.subTest(status_code=status_code):
for upstream_error, error_code in cases:
with self.subTest(status_code=upstream_error.status_code, error_code=error_code):
self.setUp()
self.http.add_error = NocoBaseHttpError(status_code, "attachment request failed")
self.http.add_error = upstream_error
result = self.service.create_project(name="x", attachment_ids=[8])