Add e2e test for web terminal
What does this MR do?
Adds an end-to-end test of starting a web terminal in the Web IDE.
Changes include:
- Making the runner resource and service more flexible, allowing the config to be overridden
- Add a Commit resource for using the Commit API to add files
- Add an alert component to the web IDE
CE backport MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31707
Limitations
- The terminal "screen" is a
canvas
element, so we can't interact with it easily. It's possible to send commands, but there doesn't seem to be a way to verify them except either image comparison, or OCR. Neither is a good option for a simple E2E test. So instead, the test checks that the terminal package loads and is dynamically added to the UI (as anxterm
element), and checks that there is no error alert displayed on the page. - Relative URLs don't currently work, so the test is quarantined. There's an issue to add support: https://gitlab.com/gitlab-org/gitlab-ee/issues/13833
What are the relevant issue numbers?
- Test plan: https://gitlab.com/gitlab-org/gitlab-ee/issues/7658
- Feature issue: https://gitlab.com/gitlab-org/gitlab-ee/issues/5426
- Testcase issue: gitlab-org/quality/testcases#85 (closed)
Closes gitlab-org/quality/testcases#85 (closed)
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry for user-facing changes, or community contribution. Check the link for other scenarios. -
Documentation created/updated or follow-up review issue created - [-] Code review guidelines
- [-] Merge request performance guidelines
- [-] Style guides
-
Database guides - [-] Separation of EE specific content
Edited by Mark Lapierre