Test plan for "Open Web Terminal from attached CI runner in Web IDE"
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=7658) </details> <!--IssueSummary end--> # Test Plan ## Introduction This test plan is for #5426. The feature allows a user to open a web terminal from the Web IDE and execute commands against the latest committed version of their code. ## Scope * EE-only (Ultimate) * The terminal will include only the latest commit, not any uncommited changes. A new commit will destroy the current web terminal instance and replace it. * The web terminal is displayed as a vertical panel. It can be resized but not moved. ## ACC Matrix | | Simple | Secure | Responsive | Intuitive | Reliable | |-------------|:------:|:------:|:----------:|:---------:|:--------:| | Web IDE | | | | | | | CI/CD | | | | | | For more information see the [Google Testing Blog article about the 10 minute test plan](https://testing.googleblog.com/2011/09/10-minute-test-plan.html) and [this wiki page from an open-source tool that implements the ACC model](https://code.google.com/archive/p/test-analytics/wikis/AccExplained.wiki). ## Capabilities Web IDE is: * Intuitive * When a new commit is made and the web terminal is already open the change in the web terminal is clear. * If a runner it not available the user is appropriately informed. * The terminal behaves as a typical terminal * Reliable * All code up to the latest commit can be accessed via the web terminal. * Responsive * The web terminal can be resized. CI/CD is: * Secure * The web terminal should allow access only to the code for the project. If a runner is reused or shared there should be no trace of any previous code or code from another project. * Only applicable runners are used for the web terminal. ## Test Plan End-to-end tests: * Add and configure a runner, push a change to a project, and then * start the web terminal and `cat` the changed file * make a change to a project via the Web IDE, commit it and `cat` the changed file * Start the web terminal while there are no runners available. Check that there is an appropriate message. * Check that the web terminal can't be started if there is no `web-ide` job defined in `.gitlab-ci.yml`. * Check that the web terminal can be stopped and restarted and that there is appropriate feedback. [Test Coverage sheet](https://docs.google.com/spreadsheets/d/1RlLfXGboJmNVIPP9jgFV5sXIACGfdcFq1tKd7xnlb74/)
issue