Skip to content

Commit 9bfcb26

Browse files
gorecodesclaude
andcommitted
fix(tests): add url.scheme to FakeRequest; guard request.url access in login
FakeRequest lacked a .url attribute, causing AttributeError on the _secure = request.url.scheme == "https" line added for dynamic cookie Secure flag. Added url=SimpleNamespace(scheme="http") to FakeRequest and used getattr fallback in main.py for any other bare-request call sites. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 983a182 commit 9bfcb26

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

backend/arbor/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ async def auth_login(request: Request):
259259
"step_up_method": session.get("step_up_method", ""),
260260
},
261261
)
262-
_secure = request.url.scheme == "https"
262+
_secure = getattr(getattr(request, "url", None), "scheme", "http") == "https"
263263
set_session_cookie(response, session["session_id"], secure=_secure)
264264
set_csrf_cookie(response, generate_csrf_token(), secure=_secure)
265265
return response

backend/tests/test_phase7_local_auth_foundation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717

1818

1919
class FakeRequest:
20-
def __init__(self, body=None, *, cookies=None, headers=None, client_host="127.0.0.1"):
20+
def __init__(self, body=None, *, cookies=None, headers=None, client_host="127.0.0.1", scheme="http"):
2121
self._body = body
2222
self.cookies = cookies or {}
2323
self.headers = headers or {}
2424
self.client = SimpleNamespace(host=client_host)
25+
self.url = SimpleNamespace(scheme=scheme)
2526

2627
async def body(self):
2728
if self._body is None:

0 commit comments

Comments
 (0)