13 Commits

Author SHA1 Message Date
3d999986b2 feat: proxy URI environment variable (#4681)
* Add test extension

This will let us test extension-related features (like the proxy URI).

I removed the environment variables in the script because they override
the ones you set yourself. We still set defaults in constants.ts.

* Add changelog entry for VSCODE_PROXY_URI

* Add terminal test for VSCODE_PROXY_URI

* Update VS Code

This adds the VSCODE_PROXY_URI environment variable.
2022-01-04 15:02:25 -06:00
c4c480a068 Implement last opened functionality (#4633)
* Implement last opened functionality

Fixes https://github.com/cdr/code-server/issues/4619

* Fix test temp dirs not being cleaned up

* Mock logger everywhere

This suppresses all the error and debug output we generate which makes
it hard to actually find which test has failed.  It also gives us a
standard way to test logging for the few places we do that.

* Use separate data directories for unit test instances

Exactly as we do for the e2e tests.

* Add integration tests for vscode route

* Make settings use --user-data-dir

Without this test instances step on each other feet and they also
clobber your own non-test settings.

* Make redirects consistent

They will preserve the trailing slash if there is one.

* Remove compilation check

If you do a regular non-watch build there are no compilation stats so
this bricks VS Code in CI when running the unit tests.

I am not sure how best to fix this for the case where you have a build
that has not been packaged yet so I just removed it for now and added a
message to check if VS Code is compiling when in dev mode.

* Update code-server update endpoint name
2021-12-17 13:06:52 -06:00
f2fa7701a9 Centralize credential handling
My thinking is that this may reduce the cognitive overhead for
developers writing new test suites.

This also allows us to perform different setup steps (like ensuring the
editor is visible when authenticated).
2021-06-29 12:06:45 -05:00
da4de439e0 Spawn a code-server instance for each test suite
This uses the current dev build by default but can be overidden with
CODE_SERVER_TEST_ENTRY (for example to test a release or some other
version).

Each instance has a separate state directory. This should make
parallelization work.

This also means you are no longer required to specify the password and
address yourself (or the extension directory once we add a test
extension). `yarn test:e2e` should just work as-is.

Lastly, it means the tests are no longer subject to yarn watch randomly
restarting.
2021-06-29 12:06:38 -05:00
dbb34ad710 chore: upgrade to Playwright 1.12 with its new test-runner 2021-06-10 15:09:38 +02:00
52cf2fcf29 Move tmpdir test helper to test helpers file 2021-05-06 14:25:50 -05:00
17f4c4c330 fix(e2e): remove quotes from terminal type command 2021-04-29 16:22:21 -07:00
449c6da77c refactor: add timeout to terminal.test.ts 2021-04-27 14:35:31 -07:00
7bfdd13cb3 refactor: tmpdir and add to test utils 2021-04-23 16:40:39 -07:00
b0ecff338f refactor: globalSetup to use CodeServer model 2021-04-23 14:35:33 -07:00
cb65590b98 refactor: move tmpdir into src/node/constants 2021-04-23 14:35:32 -07:00
cc99fddf24 feat: add test for terminal echo to file 2021-04-23 14:35:32 -07:00
2665a4f61b feat: add CodeServer page object for e2e tests 2021-04-23 14:35:31 -07:00