From a455233f95c56dc217787a6bbe8c10581f65de98 Mon Sep 17 00:00:00 2001 From: Luke Swanson Date: Mon, 24 Nov 2025 09:19:30 -0600 Subject: [PATCH 1/4] Add a bit at start of remote testbed workflow to announce which endpoint we're testing. --- .github/workflows/TEST_HelloAPI_remote.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/TEST_HelloAPI_remote.yml b/.github/workflows/TEST_HelloAPI_remote.yml index c8a14b3..b973143 100644 --- a/.github/workflows/TEST_HelloAPI_remote.yml +++ b/.github/workflows/TEST_HelloAPI_remote.yml @@ -25,6 +25,10 @@ jobs: cancel-in-progress: true steps: + + - name: Announce testing + run: echo "Testing HelloAPI endpoint at ${{ env.DEPLOY_URL }}" + # 1. Local checkout - name: Checkout repository uses: actions/checkout@v4 From 01e119d0167c9cfcc6bd3d8fb3f24a69250020dd Mon Sep 17 00:00:00 2001 From: Luke Swanson Date: Tue, 25 Nov 2025 18:28:32 -0600 Subject: [PATCH 2/4] Remove one level of 'json.dumps' in generating flask response. --- src/ogd/apis/utils/APIResponse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ogd/apis/utils/APIResponse.py b/src/ogd/apis/utils/APIResponse.py index d40607d..f7bed18 100644 --- a/src/ogd/apis/utils/APIResponse.py +++ b/src/ogd/apis/utils/APIResponse.py @@ -162,7 +162,7 @@ def Status(self) -> ResponseStatus: def AsDict(self): return { "type" : str(self._type), - "val" : json.dumps(self._val), + "val" : self._val, "msg" : self._msg, "status" : str(self._status) } From 1b9e0a34e23ee140c52c70043755c638dbe6b12e Mon Sep 17 00:00:00 2001 From: Luke Swanson Date: Tue, 25 Nov 2025 19:20:39 -0600 Subject: [PATCH 3/4] Update HelloAPI tests to look for non-stringified dicts/nulls. --- tests/cases/apis/HelloAPI/local/t_Hello.py | 6 +++--- tests/cases/apis/HelloAPI/local/t_ParamHello.py | 6 +++--- tests/cases/apis/HelloAPI/local/t_Version.py | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/cases/apis/HelloAPI/local/t_Hello.py b/tests/cases/apis/HelloAPI/local/t_Hello.py index f055fae..835e140 100644 --- a/tests/cases/apis/HelloAPI/local/t_Hello.py +++ b/tests/cases/apis/HelloAPI/local/t_Hello.py @@ -47,7 +47,7 @@ def test_get(self): self.assertNotEqual(result, None) self.assertEqual(result.status, "200 OK") self.assertEqual(body.get("type"), "GET") - self.assertEqual(body.get("val"), "null") + self.assertEqual(body.get("val"), None) self.assertEqual(body.get("msg"), "Hello! You GETted successfully!") self.assertEqual(body.get("status"), "SUCCESS") @@ -62,7 +62,7 @@ def test_post(self): self.assertNotEqual(result, None) self.assertEqual(result.status, "200 OK") self.assertEqual(body.get("type"), "POST") - self.assertEqual(body.get("val"), "null") + self.assertEqual(body.get("val"), None) self.assertEqual(body.get("msg"), "Hello! You POSTed successfully!") self.assertEqual(body.get("status"), "SUCCESS") @@ -77,6 +77,6 @@ def test_put(self): self.assertNotEqual(result, None) self.assertEqual(result.status, "200 OK") self.assertEqual(body.get("type"), "PUT") - self.assertEqual(body.get("val"), "null") + self.assertEqual(body.get("val"), None) self.assertEqual(body.get("msg"), "Hello! You PUTted successfully!") self.assertEqual(body.get("status"), "SUCCESS") diff --git a/tests/cases/apis/HelloAPI/local/t_ParamHello.py b/tests/cases/apis/HelloAPI/local/t_ParamHello.py index 5b1377b..83495c7 100644 --- a/tests/cases/apis/HelloAPI/local/t_ParamHello.py +++ b/tests/cases/apis/HelloAPI/local/t_ParamHello.py @@ -48,7 +48,7 @@ def test_get(self): self.assertNotEqual(result, None) self.assertEqual(result.status, "200 OK") self.assertEqual(body.get("type"), "GET") - self.assertEqual(body.get("val"), "null") + self.assertEqual(body.get("val"), None) self.assertEqual(body.get("msg"), f"Hello {param}! You GETted successfully!") self.assertEqual(body.get("status"), "SUCCESS") @@ -64,7 +64,7 @@ def test_post(self): self.assertNotEqual(result, None) self.assertEqual(result.status, "200 OK") self.assertEqual(body.get("type"), "POST") - self.assertEqual(body.get("val"), "null") + self.assertEqual(body.get("val"), None) self.assertEqual(body.get("msg"), f"Hello {param}! You POSTed successfully!") self.assertEqual(body.get("status"), "SUCCESS") @@ -80,6 +80,6 @@ def test_put(self): self.assertNotEqual(result, None) self.assertEqual(result.status, "200 OK") self.assertEqual(body.get("type"), "PUT") - self.assertEqual(body.get("val"), "null") + self.assertEqual(body.get("val"), None) self.assertEqual(body.get("msg"), f"Hello {param}! You PUTted successfully!") self.assertEqual(body.get("status"), "SUCCESS") diff --git a/tests/cases/apis/HelloAPI/local/t_Version.py b/tests/cases/apis/HelloAPI/local/t_Version.py index 1c45cb5..4d7a69c 100644 --- a/tests/cases/apis/HelloAPI/local/t_Version.py +++ b/tests/cases/apis/HelloAPI/local/t_Version.py @@ -47,6 +47,6 @@ def test_get(self): self.assertNotEqual(result, None) self.assertEqual(result.status, "200 OK") self.assertEqual(body.get("type"), "GET") - self.assertEqual(body.get("val"), '{"version": "0.0.0-Testing"}') + self.assertEqual(body.get("val"), {"version": "0.0.0-Testing"}) self.assertEqual(body.get("msg"), "Successfully retrieved API version.") self.assertEqual(body.get("status"), "SUCCESS") From 9bde69f5745d61a684819bc0bc3828b95499a4e7 Mon Sep 17 00:00:00 2001 From: Luke Swanson Date: Tue, 25 Nov 2025 19:24:46 -0600 Subject: [PATCH 4/4] Make similar changes to remote testbed calls. --- tests/cases/apis/HelloAPI/remote/t_Hello.py | 6 +++--- tests/cases/apis/HelloAPI/remote/t_ParamHello.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/cases/apis/HelloAPI/remote/t_Hello.py b/tests/cases/apis/HelloAPI/remote/t_Hello.py index d39a043..b13db75 100644 --- a/tests/cases/apis/HelloAPI/remote/t_Hello.py +++ b/tests/cases/apis/HelloAPI/remote/t_Hello.py @@ -36,7 +36,7 @@ def test_get(self): Logger.Log(f"Could not parse json from {result.text}", logging.ERROR) body = {} self.assertEqual(body.get("type"), "GET", f"Bad type from {_url}") - self.assertEqual(body.get("val"), "null", f"Bad val from {_url}") + self.assertEqual(body.get("val"), None, f"Bad val from {_url}") self.assertEqual(body.get("msg"), "Hello! You GETted successfully!", f"Bad msg from {_url}") self.assertEqual(body.get("status"), "SUCCESS", f"Bad status from {_url}") @@ -55,7 +55,7 @@ def test_post(self): Logger.Log(f"Could not parse json from {result.text}", logging.ERROR) body = {} self.assertEqual(body.get("type"), "POST", f"Bad type from {_url}") - self.assertEqual(body.get("val"), "null", f"Bad val from {_url}") + self.assertEqual(body.get("val"), None, f"Bad val from {_url}") self.assertEqual(body.get("msg"), "Hello! You POSTed successfully!", f"Bad msg from {_url}") self.assertEqual(body.get("status"), "SUCCESS", f"Bad status from {_url}") @@ -75,6 +75,6 @@ def test_put(self): Logger.Log(f"Could not parse json from {result.text}", logging.ERROR) body = {} self.assertEqual(body.get("type"), "PUT", f"Bad type from {_url}") - self.assertEqual(body.get("val"), "null", f"Bad val from {_url}") + self.assertEqual(body.get("val"), None, f"Bad val from {_url}") self.assertEqual(body.get("msg"), "Hello! You PUTted successfully!", f"Bad msg from {_url}") self.assertEqual(body.get("status"), "SUCCESS", f"Bad status from {_url}") diff --git a/tests/cases/apis/HelloAPI/remote/t_ParamHello.py b/tests/cases/apis/HelloAPI/remote/t_ParamHello.py index 78c5e48..01f3cc1 100644 --- a/tests/cases/apis/HelloAPI/remote/t_ParamHello.py +++ b/tests/cases/apis/HelloAPI/remote/t_ParamHello.py @@ -37,7 +37,7 @@ def test_get(self): Logger.Log(f"Could not parse json result '{result.text}' from {_url}", logging.ERROR) body = {} self.assertEqual(body.get("type"), "GET", f"Bad type from {_url}") - self.assertEqual(body.get("val"), "null", f"Bad val from {_url}") + self.assertEqual(body.get("val"), None, f"Bad val from {_url}") self.assertEqual(body.get("msg"), f"Hello {self.param}! You GETted successfully!", f"Bad msg from {_url}") self.assertEqual(body.get("status"), "SUCCESS", f"Bad status from {_url}") @@ -56,7 +56,7 @@ def test_post(self): Logger.Log(f"Could not parse json result '{result.text}' from {_url}", logging.ERROR) body = {} self.assertEqual(body.get("type"), "POST", f"Bad type from {_url}") - self.assertEqual(body.get("val"), "null", f"Bad val from {_url}") + self.assertEqual(body.get("val"), None, f"Bad val from {_url}") self.assertEqual(body.get("msg"), f"Hello {self.param}! You POSTed successfully!", f"Bad msg from {_url}") self.assertEqual(body.get("status"), "SUCCESS", f"Bad status from {_url}") @@ -76,6 +76,6 @@ def test_put(self): Logger.Log(f"Could not parse json result '{result.text}' from {_url}", logging.ERROR) body = {} self.assertEqual(body.get("type"), "PUT", f"Bad type from {_url}") - self.assertEqual(body.get("val"), "null", f"Bad val from {_url}") + self.assertEqual(body.get("val"), None, f"Bad val from {_url}") self.assertEqual(body.get("msg"), f"Hello {self.param}! You PUTted successfully!", f"Bad msg from {_url}") self.assertEqual(body.get("status"), "SUCCESS", f"Bad status from {_url}")