Commit Graph

51454 Commits

Author SHA1 Message Date
Marcial Rosales 7f14fa77f7 Skip logout selenium test 2022-08-30 17:11:21 +01:00
Marcial Rosales 9c7a36f626 Explain how to launch rabbitq from source 2022-08-30 17:11:21 +01:00
Marcial Rosales 4961992501 Capture UAA logs before killing it 2022-08-30 17:11:20 +01:00
Marcial Rosales bcfd3d01e0 Run action against oidc-integration branch 2022-08-30 17:11:20 +01:00
Marcial Rosales 9d599449e7 Run selenium tests with Actions 2022-08-30 17:11:20 +01:00
Marcial Rosales 021c7ebc15 Move it temporary to a feature branch
To work on the github action and then
merge back to this branch
2022-08-30 17:11:20 +01:00
Marcial Rosales 1de4ccbaac Add first commit for github action to run
Selenium tests
2022-08-30 17:11:20 +01:00
Marcial Rosales 99930e1fef Improve docs and fix some mistakes on the selenium tests 2022-08-30 17:11:20 +01:00
Marcial Rosales c8f6d9ee86 Enable oauth2 plugin
However this change will not take any effect
unless we add the aouth2 plugin as a dependency
in the Makefile
2022-08-30 17:11:20 +01:00
Marcial Rosales 1fa83260ba Ensure first oauth2 plugin is configured 2022-08-30 17:11:19 +01:00
Marcial Rosales fe34d27413 Fix test case oauth_test 2022-08-30 17:11:19 +01:00
Marcial Rosales 78d1be295a Fix auth_test
It was skipping the www-authenticate response header
regardless of the auth method when it should really skip it
when using oauth2
2022-08-30 17:11:19 +01:00
Marcial Rosales 1be9db3221 WIP prepare to run all tests
Waiting for the docker image to be pushed to repo
2022-08-30 17:11:19 +01:00
Marcial Rosales 33f14060c6 Comment why test last 20sec 2022-08-30 17:11:19 +01:00
Marcial Rosales 4f3c7caa3c Document testing 2022-08-30 17:11:19 +01:00
Marcial Rosales 745ff0b4b2 Fix issue related to refreshing access tokens 2022-08-30 17:11:19 +01:00
Marcial Rosales 5c4e92ba25 Issue found on token refresh 2022-08-30 17:11:19 +01:00
Marcial Rosales c5d137121e Verify login,logout when uaa is up 2022-08-30 17:11:18 +01:00
Marcial Rosales 93cee6dede Verify happy-login scenario
With auto-approved scopes
2022-08-30 17:11:18 +01:00
Marcial Rosales f402f4a3bc WIP fixing test case happy-login.js using ObjectPages 2022-08-30 17:11:18 +01:00
Marcial Rosales 7e0adbbb1f Tested landing page
WIP: happy login scenario
2022-08-30 17:11:18 +01:00
Marcial Rosales 84e9f653e8 WIP Using PageObject pattern to write tests 2022-08-30 17:11:18 +01:00
Marcial Rosales 5fc370c88f WIP only landing.js working 2022-08-30 17:11:18 +01:00
Marcial Rosales cc25fdee87 WIP running selenium tests from docker
There is still an issue running the tests in docker
2022-08-30 17:11:18 +01:00
Marcial Rosales 316b520b17 Remove dummy state 2022-08-30 17:11:17 +01:00
Marcial Rosales 7fb967f572 Run tests 2022-08-30 17:11:17 +01:00
Marcial Rosales 4d098fcfbf Complete login and logout flows 2022-08-30 17:11:17 +01:00
Marcial Rosales 05d13f99b0 Auto approve scopes
This is to avoid the authorization page in
UAA. It is not clear how to remove approvals therefore
once they are approved the user has the scopes approved
until they expire. If the user has some approved scopes,
they will not be prompted to approve them until they
expire hence the ui flow differs when the user has to
approve scopes and when not.
2022-08-30 17:11:17 +01:00
Marcial Rosales bcb26a20fc Testing happy login for oauth 2022-08-30 17:11:17 +01:00
Marcial Rosales b555ef6d66 Explain what it is needed to run tests 2022-08-30 17:11:17 +01:00
Marcial Rosales dd7ee46e07 Explain how automated testing works 2022-08-30 17:11:17 +01:00
Marcial Rosales 14b5c67b53 Test home page with oauth2 and without token 2022-08-30 17:11:17 +01:00
Marcial Rosales 896e07d4e6 Add audience request parameter to /authorize
Oauth0 requires this parameter in order to
return a proper JWT token and not an opaque JWT
token.
2022-08-30 17:11:16 +01:00
Marcial Rosales 15637ba944 Fix two issues
One in the management ui when the user has
not enough priviledges
And a second one with the api/auth endpoint
which was using a worng json attribute
2022-08-30 17:11:16 +01:00
Marcial Rosales c73f95d3ac Handle not authorized oauth user
When the oauth user has a token without enough
credentials to access the management ui, the
rest request `/api/whoami` returns a 401 with
www-authentication response header which instructs
the browser to show a popup dialog box for basic
auth. With this change, we had to remove the response
header so that we could use the same mechanism we
use to show other oauth errors, i.e. use the login-status
panel instead.
2022-08-30 17:11:16 +01:00
Marcial Rosales 6426d116c0 Handle rabbitmq session timeout 2022-08-30 17:11:16 +01:00
Marcial Rosales 448d8ecb34 Handle scopes
It is important that RabbitMQ specifies which
scopes it has to request. We control that via the
management.oauth_scopes field. If we have enable_uaa = true,
the scopes are automatically configured for us as follows:
"openid profile " + authSettings.oauth_resource_id + ".*"

Else we have to configure oauth_scopes field.
2022-08-30 17:11:16 +01:00
Marcial Rosales 10ccf33d4f WIP login/logout/token-refresh against keycloak 2022-08-30 17:11:16 +01:00
Marcial Rosales 827d0cc4a0 Refresh token 2022-08-30 17:11:16 +01:00
Marcial Rosales 91ba01e7c5 Set cookies expiry from token expiry claim 2022-08-30 17:11:15 +01:00
Marcial Rosales 6218618fbf Replace singular with oidc-client-ts library
Right now only login and logout flows are supported
To be added refresh token
And test all possible failure scenarios
2022-08-30 17:11:15 +01:00
Michael Klishin 03ed79833f
Merge pull request #5677 from rabbitmq/use-otp-24.3.4.4-in-docker-image
Use OTP 24.3.4.4 to build docker images using make
2022-08-30 17:05:33 +04:00
Marcial Rosales d2a47e847e Use otp 24.3.4.4 2022-08-30 13:21:04 +01:00
Michael Klishin 5a26bd56be
Merge pull request #5674 from rabbitmq/mk-correct-erlang-jose-fork-for-erlang-mk
Bump deps: michaelklishin/erlang-jose and Thoas
2022-08-29 15:55:05 +04:00
Michael Klishin a9b72877f5 Bump deps: michaelklishin/erlang-jose and Thoas 2022-08-29 15:28:37 +04:00
Michael Klishin ab5eeb745c
Merge pull request #5659 from Ayanda-D/allow-ignoring-supervisor2-error-reports
Controllable way to ignore supervisor2 error reports
2022-08-29 02:13:57 +04:00
Ayanda Dube 55526755ec Ensure clean shutdown of rabbit_event manager in supervisor2_SUITE to avoid noisy test terminations 2022-08-28 22:45:52 +01:00
Ayanda Dube f10f81bf90 Rename TRACE_SUP2 to TRACE_SUPERVISOR2 and add to Makefile 2022-08-28 22:41:54 +01:00
Ayanda Dube daf1a52e99 Inlcude test_event_handler in rabbit_common supervisor2_SUITE bazel 2022-08-28 22:37:34 +01:00
Ayanda Dube 80f2116935 Use local include to reference rabbit.hrl in test_event_handler 2022-08-28 19:52:44 +01:00