-
Notifications
You must be signed in to change notification settings - Fork 249
feat(web): e2e tests setup for Apache Iggy Web UI #2520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this file does not fit our github actions CI. please check .github/config/components.yml and add task "test" to web-ui, and put the test implementation there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added e2e task to web-ui component (similar to how some of the SDKs got it named). This will hit Run Web UI E2E Test Suite step in _test.yml, which - in its turn - will call a dedicated action (.github/actions/rust/e2e-web). Quite a few indirections 😅
b71cb1d to
60982ce
Compare
e702241 to
1a64638
Compare
378b5cd to
0ca4c50
Compare
0ca4c50 to
f7af022
Compare
hubcio
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should reconsider the approach: maybe don't use docker and wire this test into existing testing infra?
The solution is to use the existing TestServer which already supports HTTP with random port allocation, startup detection, and automatic cleanup. The tests should be moved to core/integration/tests/server/web.rs to follow the existing test organization.
Also, test has to be ran only if server was built with feature iggy-web.
I'm proposing this because you based everything on Rust, and it seems like good fit here.
| # if we only detect changes to the Web UI end-to-end test suite, | ||
| # do not trigger all the workflows: it is "web-ui" component and | ||
| # its dedicated task that got e2e tests execution covered | ||
| - "!core/server/tests/e2e-web/**" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree. By changing iggy-server, you can change the binary protocol (contract or API), which can break the frontend tests you wrote, and we plan to catch it in CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this only ignores changes to the end-to-end test suite rather than iggy-server sources, no?
| paths: | ||
| - "web/**" | ||
| tasks: ["lint", "build"] | ||
| - "core/server/**" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this line and add depends-on: rust-server
|
Thanks for taking time to review the PR, I will need to close this and maybe re-open once I got extra capacity. |
covers first step of issue #2517 as described here
cc @spetz