Commit Graph

272 Commits

Author SHA1 Message Date
Asher e8443e2602
Fix helpers not working in e2e tests
It errors that jest is not defined so put it behind a function instead
of immediately creating the mock (this is probably a better pattern
anyway).

The constant tests had to be reworked a little. Since the logger mock is
hoisted it runs before createLoggerMock is imported. I moved it into a
beforeAll which means the require call also needed to be moved
there (since we need to mock the logger before requiring the constants
or it'll pull the non-mocked logger).

This means getPackageJson needs to be a let and assigned afterward. To
avoid having to define a type for getPackageJson I just added a let var
set to the type of the imported constants file and modified the other
areas to use the same paradigm.

I also replaced some hardcoded strings with the mocked package.json
object.
2021-05-06 15:01:35 -05:00
dependabot[bot] 14dbd16a7a
chore(deps): bump lodash from 4.17.20 to 4.17.21 in /test (#3300)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-07 01:30:47 +05:30
Asher ad4a70c684
Use warn log level for integration tests
Just to limit all the noise from code-server's startup output.
2021-05-06 14:27:16 -05:00
Asher 4925e97080
Add static route tests 2021-05-06 14:27:11 -05:00
Asher 1789cd1bcb
Move temp test dirs under a `tests` sub-directory
This is to match the other tests that create temp directories. It also
lets you clean up test temp directories all at once separately from
other non-test temporary directories.
2021-05-06 14:25:51 -05:00
Asher 52cf2fcf29
Move tmpdir test helper to test helpers file 2021-05-06 14:25:50 -05:00
Asher 0e4672f6b9
Move health route tests to routes directory 2021-05-06 14:25:49 -05:00
Joe Previte cb5ab48d48
fix: coveragePathIgnorePatterns to /out
We were accidentally ignoring `node/routes` because we had "out"
instead of "/out" in `coveragePathIgnorePatterns` which caused
us to not collect coverage for those files. Now we do.
2021-05-06 11:53:17 -07:00
Joe Previte 027106a5e1
feat(testing): add test for constants "version" and commit 2021-05-05 15:34:48 -07:00
Asher a882be5748
Refactor integration tests to use main entry point 2021-05-05 12:24:41 -05:00
Asher 083400b50a
Add flag to enable permessage-deflate 2021-05-05 12:24:34 -05:00
Asher 8b2c78c4a4
Re-enable update tests 2021-05-04 13:29:42 -05:00
Asher 10babb4a0c
Replace console with logger in sw register 2021-05-04 13:29:41 -05:00
Asher a48ac5080b
Share common util code with VS Code
This lets us re-use the normalized base path so when we expire/clear the
cookie we use the same base path.
2021-05-04 13:29:40 -05:00
Joe Previte 8e6c10e7ff
Merge pull request #3263 from cdr/jsjoeio/fix-e2e-test
fix(testing): reduce flakiness of terminal.test.ts and use 1 worker for e2e tests
2021-04-30 15:38:32 -07:00
Joe Previte cde30579c4
refactor: change to reloadUntilEditorIsReady 2021-04-30 13:44:16 -07:00
Joe Previte 2cb499385a
feat: add isConnected method to CodeServer model 2021-04-30 13:36:46 -07:00
Joe Previte 7309ea9d10
fix(e2e): use one worker to reduce flakiness 2021-04-29 16:27:19 -07:00
Joe Previte 17f4c4c330
fix(e2e): remove quotes from terminal type command 2021-04-29 16:22:21 -07:00
Joe Previte d07317ad01
docs: add maintaining.md with workflow 2021-04-28 11:25:25 -07:00
Joe Previte 449c6da77c
refactor: add timeout to terminal.test.ts 2021-04-27 14:35:31 -07:00
Joe Previte 8c727d96d6
refactor: make CodeServer methods more stable 2021-04-27 14:35:09 -07:00
Joe Previte 07d682392e
Merge pull request #3169 from cdr/jsjoeio/add-terminal-e2e-test
feat(testing): add e2e tests for code-server and terminal
2021-04-26 15:16:06 -07:00
Joe Previte 83746c8a1f
refactor: remove null check in register.ts options.base
Inside registerServiceWorker, we were originally using the nullash coalescing
operator to check if options.base was null or undefined. However, I realized
this check is not necessary.

If you look at getOptions' return value, we return an object with a key "base"
which is of type "string". We get that value by calling resolveBase which always
returns a string.

As a result, we didn't need to check if options.base was null or undefined
because it never can be.
2021-04-23 17:09:03 -07:00
Joe Previte 7bfdd13cb3
refactor: tmpdir and add to test utils 2021-04-23 16:40:39 -07:00
Joe Previte 6f2709bcaa
feat: add tests for registerServiceWorker 2021-04-23 16:31:56 -07:00
Joe Previte b0ecff338f
refactor: globalSetup to use CodeServer model 2021-04-23 14:35:33 -07:00
Joe Previte cb65590b98
refactor: move tmpdir into src/node/constants 2021-04-23 14:35:32 -07:00
Joe Previte cc99fddf24
feat: add test for terminal echo to file 2021-04-23 14:35:32 -07:00
Joe Previte 2bf0a0e76e
refactor: fix tests to check visibility correctly 2021-04-23 14:35:31 -07:00
Joe Previte 2665a4f61b
feat: add CodeServer page object for e2e tests 2021-04-23 14:35:31 -07:00
Joe Previte f80d5c3764
refactor: rateLimiter.canTry logic to check >= 1 2021-04-19 13:14:19 -07:00
Joe Previte 958f01262b
refactor: check errorMessage in login e2e test 2021-04-19 11:11:52 -07:00
Joe Previte a3f18d6158
refactor: change limiter.Try() to .removeToken() 2021-04-19 10:57:50 -07:00
Joe Previte 7928dc2bff
feat: add test for limiter.canTry() 2021-04-19 10:41:00 -07:00
Joe Previte a8719e1f79
refactor: change config to save all e2e videos 2021-04-19 10:40:59 -07:00
Joe Previte 1e6f4f2a14
feat(testing): add test for rate limiter 2021-04-19 10:40:59 -07:00
Joe Previte 83cfbf82cf
feat: increase timeout for playwright tests 2021-04-19 10:40:59 -07:00
Joe Previte faaa0a9e60
feat(testing): add e2e tests for password 2021-04-19 10:40:59 -07:00
Joe Previte ebbabc6e04
refactor(testing): combine loginPage with login 2021-04-19 10:40:58 -07:00
Joe Previte 58e17c5e50
feat(testing): add tests for RateLimiter 2021-04-19 10:40:58 -07:00
Joe Previte 450fcd5ba7
refactor: pass all args to test-e2e script 2021-04-15 11:46:45 -07:00
Joe Previte d6f0725399
fix: update path for e2e videos 2021-04-15 11:46:45 -07:00
Joe Previte c9fa931a0b
fix: add retry 2 for failing e2e tests 2021-04-15 11:46:44 -07:00
Joe Previte 92b7c1e9a8
refactor: test-e2e.sh script 2021-04-15 11:46:44 -07:00
Joe Previte 6c3bb101cd
chore(deps): add resolution for newest playwright 2021-04-15 11:46:44 -07:00
Joe Previte 7ea6d22b3e
refactor: add login to config.js for e2e tests 2021-04-15 11:46:44 -07:00
Joe Previte 52586706c4
refactor: use playwright-test syntax for e2e tests 2021-04-15 11:46:43 -07:00
Joe Previte 08cd2d8191
refactor: add new e2e config 2021-04-15 11:46:43 -07:00
Joe Previte 0a090bf12b
chore(deps): add @playwright/test 2021-04-15 11:46:43 -07:00
Joe Previte ad0f12e664
refactor: check for editor consistently in tests 2021-04-06 15:46:58 -07:00
Joe Previte dd80eed5b0
feat: add logger to tests 2021-04-06 15:46:57 -07:00
Joe Previte fd69f2db88
refactor: logout test 2021-04-06 15:46:57 -07:00
Joe Previte c666b47668
refactor: globalSetup and create cookie manually 2021-04-06 15:46:56 -07:00
Joe Previte 51010e73cb
feat: add test for globalSetup 2021-04-06 15:46:56 -07:00
Joe Previte 4b703cbd4d
refactor: e2e tests based on jest-playwright 2021-04-06 15:46:56 -07:00
Joe Previte 1782f2a239
refactor: rename e2e test to loginPage 2021-04-06 15:46:56 -07:00
Joe Previte bd55cb94be
refactor: move test dir to jest e2e config 2021-04-06 15:46:56 -07:00
Joe Previte 6b3db06c7a
feat: add new e2e test to test browser 2021-04-06 15:46:56 -07:00
Joe Previte 3db19843e2
chore: add eslint plugin for jest-playwright 2021-04-06 15:46:55 -07:00
Joe Previte b4193b8c68
feat: add jest-playwright and packages 2021-04-06 15:46:55 -07:00
Joe Previte 9eff1f0702
fix: add timeout to logout test 2021-03-23 12:14:42 -07:00
Joe Previte 090687d057
feat: add e2e test for logout 2021-03-23 10:02:03 -07:00
Joe Previte 071c8e15fc
Merge branch 'main' into jsjoeio/upgrade-vscode-1.54 2021-03-17 13:51:27 -07:00
Joe Previte 36714da613
fixup: move openHelpAbout 2021-03-17 11:25:33 -07:00
Joe Previte d3df963d39
Merge branch 'main' into jsjoeio/upgrade-vscode-1.54 2021-03-16 14:42:51 -07:00
Joe Previte 481dd1f1d6
fixup: rename test 2021-03-16 14:36:31 -07:00
Joe Previte 608871eba1
wip: change name back to goHome 2021-03-16 14:26:04 -07:00
Joe Previte 3d9d2e592d
refactor: add helpAbout test instead of goHome 2021-03-16 14:25:28 -07:00
Joe Previte bcdca86539
refactor: change goHome test to helpAbout 2021-03-16 14:25:28 -07:00
Joe Previte 0c2708302d
refactor: remove --home flag/feature
We are removing this because it was removed upstream in PR~115599.
2021-03-16 14:25:28 -07:00
Asher 964ebe8d0a
Replace fs-extra with fs.promises
Remove the Mac directory copy instead of refactoring it since we've had
this for a long time now and I think it's safe to assume that users
running code-server on Mac don't have the old directory anymore.
2021-03-16 12:51:08 -05:00
Asher f33402c503
Remove extra awaits from tests 2021-03-15 15:34:44 -05:00
Joe Previte 7e23575978
chore: update code-server path in tsconfig 2021-03-12 12:00:57 -07:00
Joe Previte 9ee2556dd1
chore: update gitignore with test dirs 2021-03-12 12:00:57 -07:00
Joe Previte 6fd30d91ea
feat: add jest e2e config 2021-03-12 12:00:57 -07:00
Joe Previte d10da3f7c3
refactor: move test-plugin 2021-03-12 12:00:56 -07:00
Joe Previte cf6fdb90eb
refactor: create test/utils 2021-03-12 12:00:56 -07:00
Joe Previte b468597872
refactor: move e2e tests to test/e2e 2021-03-12 12:00:56 -07:00
Joe Previte 3f7104bb4e
refactor: move unit tests to test/unit 2021-03-12 12:00:56 -07:00
Joe Previte 925073db31
Merge pull request #2773 from cdr/upgrade-vscode-1.53
feat(vscode): update to version 1.53.2
2021-03-05 14:03:10 -07:00
Joe Previte e47eabf375
fix: goHome test after location change 2021-03-05 11:58:17 -07:00
Joe Previte 8c14799797
refactor: add custom mock for serviceWorker test 2021-02-26 16:05:35 -07:00
Joe Previte 6b56e6572d
feat(testing): add serviceWorker tests 2021-02-26 16:00:18 -07:00
Joe Previte 46226ea26b
chore(testing): add service-worker-mock 2021-02-26 11:58:29 -07:00
Joe Previte 80a180079e
feat: add test for catching errors in Emitter 2021-02-26 11:58:29 -07:00
Joe Previte b232dcbd4a
feat(register): add test when navigator undefined 2021-02-26 11:58:28 -07:00
Joe Previte e6a324b484
refactor: update mocking logger in register test 2021-02-26 11:58:28 -07:00
Joe Previte cb4185b360
refactor: use loggerModule in util 2021-02-26 11:58:28 -07:00
Joe Previte 1c737f1f93
refactor: hoist jest.mock in constants 2021-02-26 11:55:17 -07:00
Joe Previte 1470ff203a
refactor: dont use actual logger in helper 2021-02-26 11:55:17 -07:00
Joe Previte 711abd8d84
refactor: move loggerModule into helpers 2021-02-26 11:55:00 -07:00
Joe Previte 027e8e5adf
refactor: use LogModule from Asher in tests 2021-02-26 11:51:52 -07:00
Joe Previte a44a51462c
refactor: use same syntax as logger spy 2021-02-26 11:51:52 -07:00
Joe Previte 7ef630f7a4
refactor(register): use logError instead of logger 2021-02-26 11:51:52 -07:00
Joe Previte 38891de0d9
feat(test): add test handleRegisterServiceWorker 2021-02-26 11:51:52 -07:00
Joe Previte 44b9874fbe
feat: test failure to register service worker 2021-02-26 11:51:52 -07:00
Joe Previte 06aeca0a83
feat(testing): add register test 2021-02-26 11:51:51 -07:00
Joe Previte 28b440a4ba
feat: add cssStub to jest 2021-02-26 11:51:51 -07:00
Joe Previte 4f1f2c7171
fix: clean up comment in util.test.ts 2021-02-26 11:50:27 -07:00