Conversation
This is working okay, although it doens't really work smoothly for the API based login and the http command based login isn't great, as it requires the user to copy and past token around. Compared to ldap which just logs the user in. So still some work to do here to smooth out the user experience.
This solves the problem that what was implemented was actually authenticating the application and not the user like expected. It worked but it required that the user input a code. This solves that problem so that when you click the login link, if you are already logged in with you SSO provider you'll just automatically log in to the HTTP Server. Likewise if you use the bluesky queueserver api, when you call RM.Login you'll automatically be logged in, no user interaction required.
These should correct some of the problems in the last CI workflow. I moved the LDAP and docker image into the continuous_integration folder so it matches tiled.
This addresses documentation problems, the levels were incorrect as I did not understand what the next level should have been in the docs. I've also updated the usage documentation a little to be more useful.
These allow for running the unit tests in a containerized system just like how they are done in the ci pipeline, but locally and in a way that can maximize processor usage and minimize runtime.
Testing with ms entra
I didn't run it beforehand. Oops.
These seem to resolve the LDAP server issues locally, pushing the changes to see if that fixes them remotely as well.
This migrates to pyproject.toml which better supports the pixi and uv tools. Pip should work just fine as well. This removes the "python 2" support in setup.py but that was removed a long time ago already.
This reverts commit 7a1b290.
There was an unused import.
Phase A
Use a local re_manager_cmd fixture with worker-scoped ZMQ/Redis settings and route tests to it to prevent cross-worker collisions and startup cascades. Also switch queue reset calls to zmq_secure_request so control requests consistently target the active manager.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
test_access_control.py,test_auth_api.py) where manager state is not intentionally mutated.pytest-xdistand--dist=loadfile.Why
Implementation Details
re_manager_modulefixture inbluesky_httpserver/tests/conftest.pyand switched auth suites to use it.test_resource_access_01to preserve deterministic behavior with shared manager lifetime.bluesky_httpserver/tests/conftest.pyto assign unique ports and env vars per xdist worker.re_managerfixture in localconftest.pyto startReManageron worker-specific ZMQ ports.pytest-xdisttorequirements-dev.txt.--durations=20 -n auto --dist=loadfile.Validation
uv run pre-commit run --all-filesuv run pytest bluesky_httpserver/tests/test_auth_api.py -quv run pytest bluesky_httpserver/tests/test_access_control.py -quv run pytest -q -n 2 --dist=loadfile bluesky_httpserver/tests/test_auth_api.py bluesky_httpserver/tests/test_core_api_main.py -k "test_http_server_start_01 or test_http_server_ping_handler or test_api_auth_post_apikey_01"Expected Impact