From ecb77f52f14b01f17ab9e67a26d591a3bdb0b12b Mon Sep 17 00:00:00 2001 From: Faakhir30 Date: Fri, 21 Feb 2025 22:52:55 +0500 Subject: [PATCH] Fix status code in GET aliases Signed-off-by: Faakhir30 --- news/1862.bugfix | 1 + src/plone/restapi/services/aliases/get.py | 6 +++--- .../restapi/tests/http-examples/aliases_get.resp | 2 +- .../tests/http-examples/aliases_root_filter.resp | 2 +- .../tests/http-examples/aliases_root_get.resp | 2 +- .../http-examples/aliases_root_get_csv_format.resp | 2 +- src/plone/restapi/tests/test_services_aliases.py | 12 ++++++------ 7 files changed, 14 insertions(+), 13 deletions(-) create mode 100644 news/1862.bugfix diff --git a/news/1862.bugfix b/news/1862.bugfix new file mode 100644 index 0000000000..5b0eceb94b --- /dev/null +++ b/news/1862.bugfix @@ -0,0 +1 @@ +Fix wrong status code from aliases GET service. @Faakhir30 \ No newline at end of file diff --git a/src/plone/restapi/services/aliases/get.py b/src/plone/restapi/services/aliases/get.py index 3ac3f81210..b07f699ef0 100644 --- a/src/plone/restapi/services/aliases/get.py +++ b/src/plone/restapi/services/aliases/get.py @@ -26,7 +26,7 @@ def reply_item(self): context_path = "/".join(self.context.getPhysicalPath()) redirects = storage.redirects(context_path) aliases = [deroot_path(alias) for alias in redirects] - self.request.response.setStatus(201) + self.request.response.setStatus(200) self.request.response.setHeader("Content-Type", "application/json") return [{"path": alias} for alias in aliases], len(aliases) @@ -42,7 +42,7 @@ def reply_root(self): for redirect in redirects: del redirect["redirect"] redirect["datetime"] = datetimelike_to_iso(redirect["datetime"]) - self.request.response.setStatus(201) + self.request.response.setStatus(200) self.request.form["b_start"] = "0" self.request.form["b_size"] = "1000000" @@ -61,7 +61,7 @@ def reply_root_csv(self): for redirect in redirects: del redirect["redirect"] redirect["datetime"] = datetimelike_to_iso(redirect["datetime"]) - self.request.response.setStatus(201) + self.request.response.setStatus(200) self.request.form["b_start"] = "0" self.request.form["b_size"] = "1000000" diff --git a/src/plone/restapi/tests/http-examples/aliases_get.resp b/src/plone/restapi/tests/http-examples/aliases_get.resp index 6e0541929d..993f32bbb6 100644 --- a/src/plone/restapi/tests/http-examples/aliases_get.resp +++ b/src/plone/restapi/tests/http-examples/aliases_get.resp @@ -1,4 +1,4 @@ -HTTP/1.1 201 Created +HTTP/1.1 200 OK Content-Type: application/json { diff --git a/src/plone/restapi/tests/http-examples/aliases_root_filter.resp b/src/plone/restapi/tests/http-examples/aliases_root_filter.resp index fa823e30ff..88008b9906 100644 --- a/src/plone/restapi/tests/http-examples/aliases_root_filter.resp +++ b/src/plone/restapi/tests/http-examples/aliases_root_filter.resp @@ -1,4 +1,4 @@ -HTTP/1.1 201 Created +HTTP/1.1 200 OK Content-Type: application/json { diff --git a/src/plone/restapi/tests/http-examples/aliases_root_get.resp b/src/plone/restapi/tests/http-examples/aliases_root_get.resp index a0ea7e0022..3c993f7468 100644 --- a/src/plone/restapi/tests/http-examples/aliases_root_get.resp +++ b/src/plone/restapi/tests/http-examples/aliases_root_get.resp @@ -1,4 +1,4 @@ -HTTP/1.1 201 Created +HTTP/1.1 200 OK Content-Type: application/json { diff --git a/src/plone/restapi/tests/http-examples/aliases_root_get_csv_format.resp b/src/plone/restapi/tests/http-examples/aliases_root_get_csv_format.resp index 04246f1761..d21cbaa0a0 100644 --- a/src/plone/restapi/tests/http-examples/aliases_root_get_csv_format.resp +++ b/src/plone/restapi/tests/http-examples/aliases_root_get_csv_format.resp @@ -1,4 +1,4 @@ -HTTP/1.1 201 Created +HTTP/1.1 200 OK Content-Type: text/csv; charset=utf-8 old path,new path,datetime,manual diff --git a/src/plone/restapi/tests/test_services_aliases.py b/src/plone/restapi/tests/test_services_aliases.py index 27e4ca693e..d8038fe3ea 100644 --- a/src/plone/restapi/tests/test_services_aliases.py +++ b/src/plone/restapi/tests/test_services_aliases.py @@ -44,7 +44,7 @@ def test_alias_non_root(self): # Verify alias exists response = self.api_session.get("/front-page/@aliases") - self.assertEqual(response.status_code, 201) + self.assertEqual(response.status_code, 200) self.assertEqual(len(response.json()["items"]), 1) def test_alias_add_invalid_datetime(self): @@ -66,7 +66,7 @@ def test_alias_add_invalid_datetime(self): response = self.api_session.post("/@aliases", json=data) self.assertEqual(response.status_code, 204) response = self.api_session.get("/@aliases") - self.assertEqual(response.status_code, 201) + self.assertEqual(response.status_code, 200) self.assertEqual(len(response.json()["items"]), 2) def test_alias_add_invalid_path(self): @@ -76,7 +76,7 @@ def test_alias_add_invalid_path(self): response = self.api_session.post("/@aliases", json=data) self.assertEqual(response.status_code, 400) response = self.api_session.get("/@aliases") - self.assertEqual(response.status_code, 201) + self.assertEqual(response.status_code, 200) self.assertEqual(len(response.json()["items"]), 0) def test_duplicate_alias(self): @@ -108,7 +108,7 @@ def test_alias_csv_upload(self): self.assertEqual(response.status_code, 204) self.assertEqual(response.content, b"") response = self.api_session.get("/@aliases") - self.assertEqual(response.status_code, 201) + self.assertEqual(response.status_code, 200) self.assertEqual( response.json().get("items"), [ @@ -136,7 +136,7 @@ def test_alias_csv_download(self): self.api_session.post("/@aliases", json=data) headers = {"Accept": "text/csv"} response = self.api_session.get("/@aliases", headers=headers) - self.assertEqual(response.status_code, 201) + self.assertEqual(response.status_code, 200) self.assertIn("Content-Disposition", response.headers) self.assertEqual(response.headers["Content-Type"], "text/csv; charset=utf-8") content = b"old path,new path,datetime,manual\r\n/alias-page,/front-page,2022/01/01 00:00:00 GMT+0,True\r\n" @@ -158,5 +158,5 @@ def test_alias_delete(self): self.assertEqual(response.status_code, 204) response = self.api_session.get("/@aliases") - self.assertEqual(response.status_code, 201) + self.assertEqual(response.status_code, 200) self.assertEqual(len(response.json()["items"]), 0)