Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/dev/manual-tests/testsuite.yaml
2492 views
1
id: gitpod
2
name: Gitpod
3
description: "Testsuite for testing gitpod-io/gitpod."
4
testset: []
5
case:
6
- id: Circuito-io-ComponentEditor
7
name: Circuito-io/ComponentEditor (C++)
8
group: Repositories
9
description: Check the C++ dev experience in the ComponentEditor repo
10
steps: |
11
- Open https://gitpod-staging.com#https://github.com/Circuito-io/ComponentEditor in Gitpod
12
- Verify that the circuito web app works properly
13
- Open a few `*.cpp` component files
14
- Check syntax highlighting
15
- Check hovers
16
- Check auto-complete
17
- Check go to definition
18
- Check rename symbol
19
- Check format document
20
mustpass: true
21
mintestercount: 1
22
annotations: {}
23
- id: GitLab-Project
24
name: GitLab Context URLs
25
group: GitLab
26
description: Testing the GitLab integration.
27
steps: |+
28
Testing different contexts:
29
- default: https://gitpod-staging.com/#https://gitlab.com/AlexTugarev/gp-test
30
- branch: https://gitpod-staging.com/#https://gitlab.com/AlexTugarev/gp-test/tree/wip
31
- issue: https://gitpod-staging.com/#https://gitlab.com/AlexTugarev/gp-test/issues/1
32
- merge-request: https://gitpod-staging.com/#https://gitlab.com/AlexTugarev/gp-test/merge_requests/2
33
34
mustpass: true
35
mintestercount: 1
36
annotations: {}
37
- id: access-control
38
name: Access Control
39
group: Dashboard
40
description: Verify that Access Control page works properly
41
steps: |
42
1. Check push to remote is not possible, if no write permissions were granted
43
1. Check push to remote is possible, if write permissions were granted
44
mustpass: true
45
mintestercount: 1
46
annotations: {}
47
- id: ant-design
48
name: ant-design/ant-design (JavaScript)
49
group: Repositories
50
description: Check the JavaScript dev experience in the Ant Design repo
51
steps: |
52
- Open https://gitpod-staging.com#https://github.com/ant-design/ant-design in Gitpod
53
- Verify that the Ant Design web app opens in a preview
54
- Open a few `*.js` files
55
- Check syntax highlighting
56
- Check hovers
57
- Check auto-complete
58
- Check go to definition
59
- Check rename symbol
60
- Check format document
61
mustpass: true
62
mintestercount: 1
63
annotations: {}
64
- id: vue-router
65
name: vuejs/vue-router (HTML/CSS)
66
group: Repositories
67
description: Check the HTML/CSS dev experience in the Vue Router repo
68
steps: |
69
- Open https://gitpod-staging.com#https://github.com/vuejs/vue-router in Gitpod
70
- Open an `*.html` file (e.g. `/examples/index.html`)
71
- Add a new paragraph after the heading (`h1`) element
72
- Type `<p>` and it should autocomplete itself with a closing tag like `<p></p>`
73
- Open a `*.css` file (e.g. `/examples/global.css` )
74
- Add a background property in the `a` selector
75
- Type `background: red;` inside the `a { }` selector under the `text-decoration` property
76
mustpass: true
77
mintestercount: 1
78
annotations: {}
79
- id: change_color_theme
80
name: Change color theme
81
group: IDE
82
description: Change color theme via File > Settings
83
steps: ""
84
mustpass: true
85
mintestercount: 1
86
annotations: {}
87
- id: commit-and-push
88
name: Commit and push
89
group: IDE
90
description: Use the side panels to commit some change, then push it to an upstream
91
repository
92
steps: ""
93
mustpass: true
94
mintestercount: 1
95
annotations: {}
96
- id: delete-workspace
97
name: Delete a workspace
98
group: Dashboard
99
description: ""
100
steps: ""
101
mustpass: true
102
mintestercount: 1
103
annotations: {}
104
- id: devto
105
name: thepracticaldev/dev.to (Ruby)
106
group: Repositories
107
description: Check the Ruby dev experience in the dev.to repo
108
steps: |
109
- Open https://gitpod-staging.com#https://github.com/thepracticaldev/dev.to in Gitpod
110
- Verify the web app works properly (requires creating free Algolia credentials, as explained in the Terminal)
111
- Open a few `*.rb` files
112
- Check syntax highlighting
113
- Check hovers
114
- Check auto-complete
115
- Check go to definition
116
- Check rename symbol
117
- Check format document
118
mustpass: true
119
mintestercount: 1
120
annotations: {}
121
- id: envvar_smoketest
122
name: Basic environment variable test
123
group: Dashbord
124
description: Set an env var in the dashboard, pass as context and manipulate using gp
125
steps: |
126
1. On the dashboard go to "Environment Variables" in the menu
127
2. Click the `+` button and use `testvar` as name, `foobar` as value and `gitpod-io/*` as repo pattern
128
3. Click the `+` button and use `notpresent` as name, `foobar` as value and `doesnotexist/*` as repo pattern
129
4. Start a workspace with https://gitpod-staging.com/#passedin=test%20value/https://github.com/gitpod-io/gitpod-test-repo
130
5. In the workspace run:
131
- `env | grep testvar` to verify that `testvar == foobar`
132
- `env | grep notpresent` to verify that `notpresent` is not present
133
- `env | grep passedin` to verify that `passedin == "test value"`
134
- `gp env` to verify that only `testvar` is found
135
- `gp env another=value && gp env | grep another` to verify that setting env vars works
136
- `gp env another=differentValue && gp env | grep another` to verify that overriding env vars works
137
- `gp env -u another && gp env | grep another` to verify that unsetting env vars works
138
6. In the dashboard's "environment variables" section delete `testvar`
139
7. In the workspace run `gp env | grep testvar` to verify that the variable was deleted
140
8. In the dashboard's "environment variables" section add a new variable and use `testvar` as name, `newvalue` as value and `gitpod-io/*` as repo pattern
141
9. In the workspace run `gp env | grep testvar` to verify that the new version of `testvar` was created
142
10. Stop the workspace, wait until it is stopped and re-start that very same workspace
143
11. In the restarted workspace run:
144
- `env | grep testvar` to verify that `testvar == newvalue`
145
- `env | grep passedin` to verify that `passedin == "test value"`
146
mustpass: true
147
mintestercount: 1
148
annotations: {}
149
- id: external-links
150
name: External links
151
group: IDE
152
description: Verify all external links in Help; Avatar-Menu; and bottom bar (chat
153
icon)
154
steps: ""
155
mustpass: true
156
mintestercount: 1
157
annotations: {}
158
- id: fork-repository
159
name: Fork repository
160
group: IDE
161
description: |
162
Open a repository for which you don't have write access.
163
Create a commit and see a yellow box on top of the git view.
164
Press the action to fork.
165
Also: Press `F1` and use the 'fork' feature
166
steps: ""
167
mustpass: true
168
mintestercount: 1
169
annotations: {}
170
- id: git_status
171
name: Workspace Git status
172
group: Dashboard
173
description: ""
174
steps: |-
175
1. Open a fresh workspace: https://gitpod-staging.com/#github.com/32leaves/bel
176
2. Create an untracked file: `touch untracked`
177
3. Create an unpushed change: `echo foo > README.md; git commit -a -m 'foo'`
178
4. Create an uncommited change: `echo bar > doc.go`
179
5. Stop the workspace
180
6. Once stopped, make sure the three unpushed changes are shown in the dashboard
181
7. Download the workspace from the dashboard, and verify it contains the three unpushed changes
182
8. Restart the workspace, then verify that the uncommitted, untracked and unpushed changes are restored
183
mustpass: true
184
mintestercount: 1
185
annotations: {}
186
- id: gitlab-auth
187
name: GitLab Authentication and Authorization
188
group: GitLab
189
description: ""
190
steps: |-
191
Test1)
192
- Delete GitpodStaging entry from https://gitlab.com/-/profile/applications if present.
193
- open a new private browser
194
- open https://gitpod-staging.com/#https://gitlab.com/AlexTugarev/gp-test
195
- ensure the onboarding flow works nicely.
196
197
Test2)
198
- Delete GitpodStaging entry from https://gitlab.com/-/profile/applications if present.
199
- open a new private browser
200
- login to https://gitpod-staging.com/login/ using GitHub Auth
201
- open https://gitpod-staging.com/#https://gitlab.com/AlexTugarev/gp-test
202
- ensure the onboarding flow works nicely.
203
mustpass: true
204
mintestercount: 1
205
annotations: {}
206
- id: gitlab-prebuilds
207
name: Prebuilds in GitLab
208
group: GitLab
209
description: Prebuilds in GitLab are configured automatically when openeing a project
210
with `/#prebuild/` context.
211
steps: |-
212
- Create a fresh fork of https://gitlab.com/AlexTugarev/gp-test (or any other project).
213
- open it in Gitpod and add an init task
214
- push and open with https://gitpod-staging.com/#prebuild/ context.
215
- ensure the prebuild runs through.
216
- ensure opening a project on that branch opens a prebuilt snapshot.
217
- ensure pushing a new branch triggers a prebuild on that branch as well.
218
mustpass: true
219
mintestercount: 1
220
annotations: {}
221
- id: go-gin-app
222
name: gitpod-io/go-gin-app (Go)
223
group: Repositories
224
description: Check the Go dev experience in the Go gin app repo
225
steps: |
226
- Open https://gitpod-staging.com#https://github.com/gitpod-io/go-gin-app in Gitpod
227
- Verify that the gin web app appears in a preview and works properly
228
- Open a few `*.go` files
229
- Check syntax highlighting
230
- Check hovers
231
- Check auto-complete
232
- Check go to definition
233
- Check rename symbol
234
- Check format document
235
mustpass: true
236
mintestercount: 1
237
annotations: {}
238
- id: go-swagger
239
name: go-swagger/go-swagger (Go)
240
group: Repositories
241
description: Check the Go dev experience in the go-swagger repo
242
steps: |
243
- Open https://gitpod-staging.com#https://github.com/go-swagger/go-swagger in Gitpod
244
- Verify that you can run the `swagger` CLI after the build
245
- Open a few `*.go` files
246
- Check syntax highlighting
247
- Check hovers
248
- Check auto-complete
249
- Check go to definition
250
- Check rename symbol
251
- Check format document
252
- Run a test through a code lense (debug should work)
253
mustpass: true
254
mintestercount: 1
255
annotations: {}
256
- id: gs-spring-boot
257
name: gitpod-io/spring-petclinic (Java)
258
group: Repositories
259
description: Check the Java dev experience in the Spring Pet Clinic Example
260
steps: |
261
- Open https://gitpod-staging.com/#https://gitlab.com/gitpod/spring-petclinic
262
- Verify that the demo web app opens
263
- Open a few `*.java` files
264
- Check syntax highlighting
265
- Check hovers
266
- Check auto-complete
267
- Check go to definition
268
- Check rename symbol
269
- Check format document
270
- Check debugging!
271
mustpass: true
272
mintestercount: 1
273
annotations: {}
274
- id: ide_stop_workspace
275
name: Stop Workspace
276
group: IDE
277
description: ""
278
steps: |-
279
1. start a workspace
280
2. once the IDE is open, use the command palette to stop the workspace
281
mustpass: true
282
mintestercount: 1
283
annotations: {}
284
- id: install-vscode-extension
285
name: Install VS Code extension
286
group: IDE
287
description: Install a VS Code extension
288
steps: |
289
- Download TODO.vsix, then install it in a Gitpod workspace
290
- Verify that the extension works, and that it was added to .gitpod.yml
291
- push commit to a branch
292
- start new workspace and verify that the TODO extension is installed.
293
mustpass: true
294
mintestercount: 1
295
annotations: {}
296
- id: logout-and-login
297
group: Dashboard
298
mustpass: true
299
mintestercount: 1
300
annotations: {}
301
description: ""
302
name: Log out and log in again
303
steps: |
304
1. On logout, you should be redirected to the empty dashboard (or whatever is configured at that time)
305
2. Next, on login noo ToS page should be shown (unless there was a update in the meantime)
306
- id: login-with-second-provider
307
group: Dashboard
308
mustpass: true
309
mintestercount: 1
310
annotations: {}
311
description: ""
312
name: Login with second privider
313
steps: |
314
1. First of, log out.
315
2. Try to log in with a different provider;
316
- If the provider was already connected, you get logged in into the account.
317
BEFORE proceeding with the following steps, go to Access Control and disconnect that provider.
318
- (ALTERNATIVE 1) If the primary email address is matching your existing account (and first provider,) you should be able to log in into the first account.
319
Verify in Access Control, that you have both providers connected.
320
- (ALTERNATIVE 2) If the primary email address is NOT matching, you are about to create a new account.
321
Verify in Access Control, that you have connected just a single provider.
322
- id: connect-with-second-provider
323
group: Dashboard
324
mustpass: true
325
mintestercount: 1
326
annotations: {}
327
description: ""
328
name: Connect with second provider
329
steps: |
330
1. First of, ensure you are logged in, and in Access Control only one provider is connected.
331
2. Connect to a second provider.
332
- id: connect-with-provider-already-connected
333
group: Dashboard
334
mustpass: true
335
mintestercount: 1
336
annotations: {}
337
description: ""
338
name: Connect with a provider which is already connected
339
steps: |
340
1. First of, ensure you have two accounts with distict provider connections, e.g. one with GitHub and one with GitLab.
341
2. Log in with user A.
342
3. Go to Access Controll, try to connect with second provider (which is connected to user B)
343
4. See the Select Account page explaining the current situation. Verify the shown information.
344
5. Select the `Switch Account` action, and notice that you're logged into the other account.
345
6. Go to Access Controll, try to connect with second provider (which is connected to user A)
346
7. Disconnect a provider in one account (or delete one account) to proceed with connecting in the other account.
347
- id: disconnect-providers
348
group: Dashboard
349
mustpass: true
350
mintestercount: 1
351
annotations: {}
352
description: ""
353
name: Disconnect second provider
354
steps: |
355
1. First of, ensure you are logged in, and in Access Control two providers are connected.
356
2. Disconnect one provider. Verify, a single provider is left connected.
357
3. Try to disconnect the single provider, notice the message tells you to delete account in Settings.
358
- id: tos-update
359
group: Dashboard
360
mustpass: true
361
mintestercount: 1
362
annotations: {}
363
description: ""
364
name: ToS Update
365
steps: |
366
1. First of, ensure you are logged in, and terms were already accepted.
367
2. Start a workspace. Keep running in background. (cf. 4.)
368
3. Connect to DB, and run `update d_b_user_acceptance_entry set termsRevision='' where userId='YOUR_ID'`
369
4. Verify the running workspace was not impacted.
370
5. Verify, you can load the workspaces list. (/workspaces)
371
6. Verify, you can load Settings page.
372
7. Verify, you see /tos page with the update message when trying to create/start a workspace. Once accepted, workspace start should be resumed.
373
8. (repeat 3.)
374
9. Log out.
375
10. Verify, you see the /tos page with the update on login.
376
11. Verify, you get logged out if you decline.
377
- id: open-branch
378
name: Open a GitHub branch
379
group: IDE
380
description: Open Gitpod on a branch, e.g. https://gitpod-staging.com/#https://github.com/gitpod-io/website/tree/cloud-tweaks
381
steps: ""
382
mustpass: true
383
mintestercount: 1
384
annotations: {}
385
- id: open-from-referrer
386
name: Open a workspace using /from-referrer/
387
group: Dashboard
388
description: Open Gitpod from a GitHub button using https://gitpod-staging.com/from-referrer/
389
steps: |-
390
- Click on the link https://gitpod-staging.com/from-referrer/ embeded on a GitHub README. E.g. https://github.com/geropl/gitpod-redirect/blob/master/README.md (must be a non-private repo!!!)
391
- Should parse the context and open workspace successfully
392
mustpass: true
393
mintestercount: 1
394
annotations: {}
395
- id: open-issue
396
name: Open a GitHub issue
397
group: IDE
398
description: Open Gitpod on a issue, e.g. https://gitpod-staging.com/#https://github.com/gitpod-io/website/issues/202
399
steps: ""
400
mustpass: true
401
mintestercount: 1
402
annotations: {}
403
- id: open-prebuild
404
name: Open a prebuilt workspace
405
group: IDE
406
description: ""
407
steps: |
408
- Trigger prebuild with https://gitpod-staging.com/#prebuild/<contextURL> (will show an error, but that's expected, the prebuild should still be triggered)
409
- Open https://gitpod-staging.com/<contextURL> while the prebuild is running, test 'Skip Prebuild' button
410
- Once the prebuild is complete, open a new workspace on the same repo, then verify the prebuild worked
411
mustpass: true
412
mintestercount: 1
413
annotations: {}
414
- id: open-tag
415
name: Open a GitHub tag
416
group: IDE
417
description: Open Gitpod on a tag, e.g. https://gitpod-staging.com/#https://github.com/JanitorTechnology/selfapi/tree/0.3.3
418
steps: ""
419
mustpass: true
420
mintestercount: 1
421
annotations: {}
422
- id: rails_sample_app
423
name: gitpod-io/rails_sample_app (Ruby)
424
group: Repositories
425
description: Check the Ruby dev experience in the Rails repo
426
steps: |
427
- Open https://gitpod-staging.com#https://github.com/gitpod-io/rails_sample_app in Gitpod
428
- Verify that the sample app works properly
429
- Open a few `*.rb` files
430
- Check syntax highlighting
431
- Check hovers
432
- Check auto-complete
433
- Check go to definition
434
- Check rename symbol
435
- [not supported] Check format document
436
mustpass: true
437
mintestercount: 1
438
annotations: {}
439
- id: rename-workspace
440
name: Rename workspace
441
group: Dashboard
442
description: Rename a workspace, then find its by name using the search feature
443
steps: ""
444
mustpass: true
445
mintestercount: 1
446
annotations: {}
447
- id: review-a-pull-request
448
name: Review a Pull Request
449
group: IDE
450
description: Open a Pull Request in Gitpod, then make a few comments and publish
451
a code review
452
steps: ""
453
mustpass: true
454
mintestercount: 1
455
annotations: {}
456
- id: rust-repo-ripgrep
457
name: BurntSushi/ripgrep (Rust)
458
group: Repositories
459
description: |
460
- Open https://gitpod-staging.com/#https://github.com/BurntSushi/ripgrep
461
- Verify that the ripgrep tests passed
462
- Open a few *.rs files
463
- Check syntax highlighting
464
- Check hovers
465
- Check auto-complete
466
- Check go to definition
467
- Check rename symbol
468
- Check format document
469
steps: ""
470
mustpass: true
471
mintestercount: 1
472
annotations: {}
473
- id: search-in-repository
474
name: Search in repository
475
group: IDE
476
description: Use all IDE search features inside a repository
477
steps: |
478
- Press `Cmd+P` and search for a file name
479
- Use the Search panel to search for files containing some text
480
- Search & replace some text from within the editor
481
mustpass: true
482
mintestercount: 1
483
annotations: {}
484
- id: share-snapshot
485
name: Share snapshot
486
group: IDE
487
description: Take a Snapshot of a workspace, share the link with someone, then verify
488
that they get the same workspace state
489
steps: ""
490
mustpass: true
491
mintestercount: 1
492
annotations: {}
493
- id: share-unshare
494
name: Share and unshare a workspace
495
group: Dashboard
496
description: Share and unshare a workspace from the Dashboard, ask someone to confirm
497
both states
498
steps: ""
499
mustpass: true
500
mintestercount: 1
501
annotations: {}
502
- id: ssloy-tinyraytracer
503
name: ssloy/tinyraytracer (C++)
504
group: Repositories
505
description: Check the C++ dev experience in the tinyraytracer repo
506
steps: |
507
- Open https://gitpod-staging.com#https://github.com/ssloy/tinyraytracer in Gitpod
508
- Verify that `out.png` gets generated and displayed properly
509
- Open `geometry.h` and `tinyraytracer.cpp`
510
- Check syntax highlighting
511
- Check hovers
512
- Check auto-complete
513
- Check go to definition
514
- Check rename symbol
515
- Check format document
516
- Check there are no C++ errors in the Problems panel
517
mustpass: true
518
mintestercount: 1
519
annotations: {}
520
- id: symfony-demo
521
name: gitpod-io/symfony-demo (PHP)
522
group: Repositories
523
description: Check the PHP dev experience in the Symfony Demo Application repo
524
steps: |
525
- Open https://gitpod-staging.com#https://github.com/gitpod-io/symfony-demo in Gitpod
526
- Verify that the demo app works properly
527
- Open a few `*.php` files
528
- Check syntax highlighting
529
- Check hovers
530
- Check auto-complete
531
- Check go to definition
532
- //Check rename symbol
533
- Check format document
534
mustpass: true
535
mintestercount: 1
536
annotations: {}
537
- id: openai-gym
538
name: openai/gym (Python)
539
group: Repositories
540
description: Check the Python dev experience in the OpenAI Gym repo
541
steps: |
542
- Open https://gitpod-staging.com/#https://github.com/openai/gym in Gitpod
543
- Verify that the videos are successfully generated (in the preview, click on any .mp4)
544
- Open a few `*.py` files
545
- Check syntax highlighting
546
- Check hovers
547
- Check auto-complete
548
- Check go to definition
549
- Check rename symbol
550
- Check format document
551
mustpass: true
552
mintestercount: 1
553
annotations: {}
554
- id: workspace-timeout
555
name: Workspace timeout
556
group: Dashboard
557
description: Workspace timeout, when closing tab and just leaving it in the background
558
steps: ""
559
mustpass: true
560
mintestercount: 1
561
annotations: {}
562
- id: wsdl-fraught
563
name: Download other user's workspace
564
group: Dashboard
565
description: Check if workspace content download prevents ilicit access
566
steps: |
567
- Start a workspace on any repo
568
- Stop that workspace
569
- Copy the workspace download link from the dashboard (right click on the download button)
570
- Log in as a different user than the one who started the workspace
571
- Attempt to access the previously copied URL
572
- You should see an error page
573
mustpass: true
574
mintestercount: 1
575
annotations: {}
576
577