You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So a local server has no anonymous state — every request is that user. The three failures all follow from it:
test
symptom
why
test_home_page_sign_in_link
a.signin hidden
you are signed in
test_api_login_unauthenticated
new_user ≠ not_logged_in
authenticated, but no User record
test_docs_help_link_from_ide
click intercepted by ui-widget-overlay
the new-user dialog sits over the page
They now skip in local mode and still run against a deployed URL, where the assertions are meaningful. /api/login is the tell.
⚠️Not verified by me — I have no local glowscript server. Expect 21 passed, 3 skipped against http://localhost:8080.
Follow-up: the local-auth short-circuit is itself worth replacing with an auth emulator, so these paths can be exercised locally rather than skipped. The same hack exists in webvpython/flaskHost/src/auth.py:73.
ide/auth.py short-circuits identity for local servers:
def get_user_info():
if routes.is_running_locally():
return {'email': 'localuser@local.host'}
so a local server has NO anonymous state — every request is that user. Three
tests assert anonymous behaviour and therefore cannot pass locally:
test_home_page_sign_in_link a.signin is hidden (you are signed in)
test_api_login_unauthenticated /api/login returns new_user, not not_logged_in
test_docs_help_link_from_ide a jQuery-UI overlay (the new-user dialog)
intercepts the click
They now skip in that situation and still run against a deployed URL, where the
assertions mean something. /api/login is the tell: locally it reports new_user
for localuser@local.host, which has no User record.
This makes the local run honest rather than green-by-deletion; the underlying
hack is worth removing separately (see follow-up branch) so these paths can be
tested locally against an auth emulator instead of being skipped.
NOT VERIFIED BY ME — I have no local glowscript server. Expect 21 passed,
3 skipped against http://localhost:8080.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G7y9rTA1r8r8EhEnPSQenR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three e2e tests fail against a local server, and cannot pass there.
ide/auth.pyshort-circuits identity when running locally:So a local server has no anonymous state — every request is that user. The three failures all follow from it:
test_home_page_sign_in_linka.signinhiddentest_api_login_unauthenticatednew_user≠not_logged_intest_docs_help_link_from_ideui-widget-overlayThey now skip in local mode and still run against a deployed URL, where the assertions are meaningful.
/api/loginis the tell.http://localhost:8080.Follow-up: the local-auth short-circuit is itself worth replacing with an auth emulator, so these paths can be exercised locally rather than skipped. The same hack exists in
webvpython/flaskHost/src/auth.py:73.