Compare commits

..
Author SHA1 Message Date
SAPHID c33dc0ccb6 test: avoid unread body in Windows auth guard probe 2026-10-28 16:22:47 +00:00
Alex Southwell b5bbcec1a0 Merge pull request #376 from saphid/docs/v0452-release-verification
docs: record v0.4.52 release verification
2026-10-28 16:14:01 +00:00
2 changed files with 22 additions and 1 deletions

No files matched your search

@@ -0,0 +1,18 @@
# Main Windows test gate, 28 October 2026
Exact main commit `b5bbcec1a0cc3f8b3d25ef2686fd8315e209f167`
([checks run 40723931638](https://github.com/saphid/frame-control/actions/runs/40723931638))
failed in `server-tests (windows-latest, 3.12)`. Its server test step had one
error: `test_settings_need_and_accept_the_ui_key` received Windows
`ConnectionAbortedError [WinError 10053]` while reading an unauthorized
POST response. The test sent a JSON body, but the missing-key guard rejects
the request before reading it. Closing a connection with an unread body can
reset it on Windows; that is the likely cause, rather than a settings write
failure. The other Windows tests completed, and the exact-main native Decky
runtime run passed.
The test now sends an empty POST when checking that a missing key is refused.
Its subsequent authorized POST still sends a settings body and verifies the
saved value. The local `tests/test_server.py` module passed 45 tests after
this change. Hosted Windows CI on the repair commit and green exact-main CI
remain required before further merges.
+4 -1
View File
@@ -497,7 +497,10 @@ class ArtworkSettings(unittest.TestCase):
time.sleep(0.05)
key = {"X-Frame-UI": "1", "Content-Type": "application/json"}
self.assertEqual(request("GET", "/api/settings/artwork")[0], 403)
self.assertEqual(request("POST", "/api/settings/artwork", {"steamgriddb_api_key": "abc"})[0], 403)
# The missing-key guard runs before reading a body. Leaving an
# unread body on Windows can reset this test connection before
# http.client receives the 403 response.
self.assertEqual(request("POST", "/api/settings/artwork")[0], 403)
status, payload = request("GET", "/api/settings/artwork", headers=key)
self.assertEqual((status, json.loads(payload)["steamgriddb_configured"]), (200, False))
status, payload = request("POST", "/api/settings/artwork", {"steamgriddb_api_key": "abc_1"}, key)