Skip to content

Commit

Permalink
[test-only] e2e test. set expiration date to share (#10292) (#10325)
Browse files Browse the repository at this point in the history
* set expiration date to share

* fix after review
  • Loading branch information
ScharfViktor committed Jan 13, 2024
1 parent 4abaf90 commit f4daa75
Show file tree
Hide file tree
Showing 4 changed files with 379 additions and 156 deletions.
1 change: 1 addition & 0 deletions deployments/oc10-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ There are a few config values which need to be set in order for ownCloud Web to
"apps" : [
"files",
"preview",
"search",
"draw-io"
],
"applications" : [
Expand Down
11 changes: 11 additions & 0 deletions getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,20 @@ Depending on the backend you are using, there are sample config files provided i
- `options.upload.xhr.timeout` Specifies the timeout for XHR uploads in milliseconds.
- `options.editor.autosaveEnabled` Specifies if the autosave for the editor apps is enabled.
- `options.editor.autosaveInterval` Specifies the time interval for the autosave of editor apps in seconds.
- `options.editor.openAsPreview` Specifies if non-personal files i.e. files in shares, spaces or public links are being opened in read only mode so the user needs to manually switch to edit mode. Can be set to `true`, `false` or an array of web app/editor names.
- `options.contextHelpersReadMore` Specifies whether the "Read more" link should be displayed or not.
- `options.openLinksWithDefaultApp` Specifies whether single file link shares should be opened with default app or not.
- `options.tokenStorageLocal` Specifies whether the access token will be stored in the local storage when set to `true` or in the session storage when set to `false`. If stored in the local storage, login state will be persisted across multiple browser tabs, means no additional logins are required. Defaults to `true`.
- `options.loginUrl` Specifies the target URL to the login page. This is helpful when an external IdP is used. This option is disabled by default. Example URL like: 'https://www.myidp.com/login'.
- `options.logoutUrl` Adds a link to the user's profile page to point him to an external page, where he can manage his session and devices. This is helpful when an external IdP is used. This option is disabled by default.
- `options.ocm.openRemotely` Specifies whether opening files in remote shares in their original ocm instance should be enabled. Defaults to `false`.
- `options.userListRequiresFilter` Defines whether one or more filters must be set in order to list users in the Web admin settings. Set this option to 'true' if running in an environment with a lot of users and listing all users could slow down performance. Defaults to `false`.
- `options.concurrentRequests` This accepts an object with the following optional fields to customize the maximum number of concurrent requests in code paths where we limit concurrent requests
- `resourceBatchActions` Concurrent number of file/folder/space batch actions like e.g. accepting shares. Defaults to 4.
- `sse` Concurrent number of SSE event handlers. Defaults to 4.
- `shares` Accepts an object regarding the following sharing related options:
- `create` Concurrent number of share invites. Defaults to 4.
- `list` Concurrent number of individually loaded shares. Defaults to 2.

#### Scripts and Styles

Expand Down
14 changes: 8 additions & 6 deletions testing/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Bundle the web frontend with the following command:
$ pnpm build:w
```

Our compose setup automatically mounts it into an oC10 and oCIS backend, respectively. Web also gets recompiled on changes.
Our compose setup automatically mounts it into an oCIS backend, respectively. Web also gets recompiled on changes.

#### Run E2E Tests

Expand All @@ -77,11 +77,13 @@ To run a particular test, simply add the feature file and line number to the tes

Various options are available via ENV variables, e.g.

- `BASIC_AUTH=true` use basic authorization for api requests.
- `RETRY=n` to retry failures `n` times
- `SLOW_MO=n` to slow the execution time by `n` milliseconds
- `TIMEOUT=n` to set tests to timeout after `n` milliseconds
- `HEADLESS=bool` to open the browser while the tests run (defaults to true => headless mode)
- `BROWSER=name` to run tests against a specific browser. Defaults to Chrome, available are Chrome, Firefox, Webkit, Chromium
- `BROWSER=name` to run tests against a specific browser. Defaults to chromium, available are chromium, firefox, webkit, chromium
- `ADMIN_PASSWORD` to set administrator password. By default, the `admin` password is used in the test

For debugging reasons, you may want to record a video or traces of your test run.
Again, you can use the following ENV variables in your command:
Expand Down Expand Up @@ -126,17 +128,17 @@ $ pnpm build:w
The acceptance tests need additional docker containers to be running.

```shell
$ docker compose up ocis vnc selenium middleware-ocis
$ docker compose up ocis selenium middleware-ocis
```

and make sure there are no conflicting ports and everything runs smoothly. You can check if everything has worked by opening [https://host.docker.internal:9200](https://host.docker.internal:9200) and logging in using the demo user (admin/admin).

If you're using a M1 Mac, you need to use `seleniarm/standalone-chromium:4.4.0-20220814`for now. To do so, export `SELENIUM_IMAGE=seleniarm/standalone-chromium:4.4.0-20220814`.
If you're using a M1 Mac, you need to use `seleniarm/standalone-chromium:4.7.0-20221206`for now. To do so, export `SELENIUM_IMAGE=seleniarm/standalone-chromium:4.7.0-20221206`.

#### Run acceptance tests

- Change the directory to `tests/acceptance`
- Install all the test dependencies with `pnpm` command
- Install all the test dependencies with `pnpm install` command
- Run the tests

```shell
Expand All @@ -145,7 +147,7 @@ If you're using a M1 Mac, you need to use `seleniarm/standalone-chromium:4.4.0-2

#### Watch the Test Run

To watch the tests while running, open [http://host.docker.internal:6080/](http://host.docker.internal:6080/) in the browser to access your VNC client.
To watch the tests while running, open [http://host.docker.internal:7900/](http://host.docker.internal:7900/) in the browser to access your VNC client.

### Analyze the Test Report

Expand Down
Loading

0 comments on commit f4daa75

Please sign in to comment.