rebranding tests

This commit is contained in:
Viktor Scharf
2025-01-16 17:39:02 +01:00
committed by Viktor Scharf
parent 31965a8f9d
commit 9db4693a9e
243 changed files with 1621 additions and 1645 deletions
+91 -90
View File
@@ -2,8 +2,8 @@
title: "Acceptance Testing" title: "Acceptance Testing"
date: 2018-05-02T00:00:00+00:00 date: 2018-05-02T00:00:00+00:00
weight: 20 weight: 20
geekdocRepo: https://github.com/owncloud/ocis geekdocRepo: https://github.com/opencloud-eu/opencloud
geekdocEditPath: edit/master/docs/ocis/development geekdocEditPath: edit/master/docs/opencloud/development
geekdocFilePath: testing.md geekdocFilePath: testing.md
--- ---
@@ -15,7 +15,7 @@ Both ways to run tests with the test suites are described here.
## Running Test Suite in Docker ## Running Test Suite in Docker
Let's see what is available. Invoke the following command from within the root of the oCIS repository. Let's see what is available. Invoke the following command from within the root of the OpenCloud repository.
```bash ```bash
make -C tests/acceptance/docker help make -C tests/acceptance/docker help
@@ -23,12 +23,12 @@ make -C tests/acceptance/docker help
Basically we have two sources for feature tests and test suites: Basically we have two sources for feature tests and test suites:
- [oCIS feature test and test suites](https://github.com/owncloud/ocis/tree/master/tests/acceptance/features) - [OpenCloud feature test and test suites](https://github.com/opencloud-eu/opencloud/tree/master/tests/acceptance/features)
- [tests and test suites transferred from ownCloud core, they have prefix coreApi](https://github.com/owncloud/ocis/tree/master/tests/acceptance/features) - [tests and test suites transferred from core, they have prefix coreApi](https://github.com/opencloud-eu/opencloud/tree/master/tests/acceptance/features)
At the moment, both can be applied to oCIS since the api of oCIS is designed to be compatible with ownCloud. At the moment, both can be applied to OpenCloud.
As a storage backend, we offer oCIS native storage, also called `ocis`. This stores files directly on disk. Along with that we also provide `S3` storage driver. As a storage backend, we support the oCIS native storage, also called `ocis`. This stores files directly on disk. Along with that we also provide `s3ng` storage driver.
You can invoke two types of test suite runs: You can invoke two types of test suite runs:
@@ -37,9 +37,9 @@ You can invoke two types of test suite runs:
### Run Full Test Suite ### Run Full Test Suite
#### Local oCIS Tests (prefix `api`) #### Local OpenCloud Tests (prefix `api`)
The names of the full test suite make targets have the same naming as in the CI pipeline. See the available local oCIS specific test suites [here](https://github.com/owncloud/ocis/tree/master/tests/acceptance/features). They can be run with `ocis` storage and `S3` storage. The names of the full test suite make targets have the same naming as in the CI pipeline. See the available local OpenCloud specific test suites [here](https://github.com/opencloud-eu/opencloud/tree/master/tests/acceptance/features). They can be run with `ocis` storage and `s3ng` storage.
For example, command: For example, command:
@@ -47,7 +47,7 @@ For example, command:
make -C tests/acceptance/docker localApiTests-apiGraph-ocis make -C tests/acceptance/docker localApiTests-apiGraph-ocis
``` ```
runs the same tests as the `localApiTests-apiGraph-ocis` CI pipeline, which runs the oCIS test suite "apiGraph" against the oCIS server with ocis storage. runs the same tests as the `localApiTests-apiGraph-ocis` CI pipeline, which runs the OpenCloud test suite "apiGraph" against the OpenCloud server with `ocis` storage.
And command: And command:
@@ -55,18 +55,18 @@ And command:
make -C tests/acceptance/docker localApiTests-apiGraph-s3ng make -C tests/acceptance/docker localApiTests-apiGraph-s3ng
``` ```
runs the oCIS test suite `apiGraph` against the oCIS server with s3 storage. runs the OpenCloud test suite `apiGraph` against the OpenCloud server with `s3ng` storage.
{{< hint info >}} {{< hint info >}}
While running the tests, oCIS server is started with [ociswrapper](https://github.com/owncloud/ocis/blob/master/tests/ociswrapper/README.md) (i.e. `WITH_WRAPPER=true`) by default. In order to run the tests without ociswrapper, provide `WITH_WRAPPER=false` when running the tests. For example: While running the tests, OpenCloud server is started with [ocwrapper](https://github.com/opencloud-eu/opencloud/blob/master/tests/ocwrapper/README.md) (i.e. `WITH_WRAPPER=true`) by default. In order to run the tests without ocwrapper, provide `WITH_WRAPPER=false` when running the tests. For example:
```bash ```bash
WITH_WRAPPER=false \ WITH_WRAPPER=false \
BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26' \ BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26' \
make -C tests/acceptance/docker test-ocis-feature-ocis-storage make -C tests/acceptance/docker test-opencloud-feature-ocis-storage
``` ```
But some test suites that are tagged with `@env-config` require the oCIS server to be run with ociswrapper. So, running those tests require `WITH_WRAPPER=true` (default setting). But some test suites that are tagged with `@env-config` require the OpenCloud server to be run with ocwrapper. So, running those tests require `WITH_WRAPPER=true` (default setting).
{{< /hint >}} {{< /hint >}}
{{< hint info >}} {{< hint info >}}
@@ -75,7 +75,7 @@ To run the tests that require an email server (tests tagged with `@email`), you
```bash ```bash
START_EMAIL=true \ START_EMAIL=true \
BEHAT_FEATURE='tests/acceptance/features/apiNotification/emailNotification.feature' \ BEHAT_FEATURE='tests/acceptance/features/apiNotification/emailNotification.feature' \
make -C tests/acceptance/docker test-ocis-feature-ocis-storage make -C tests/acceptance/docker test-opencloud-feature-ocis-storage
``` ```
{{< /hint >}} {{< /hint >}}
@@ -86,7 +86,7 @@ To run the tests that require tika service (tests tagged with `@tikaServiceNeede
```bash ```bash
START_TIKA=true \ START_TIKA=true \
BEHAT_FEATURE='tests/acceptance/features/apiSearchContent/contentSearch.feature' \ BEHAT_FEATURE='tests/acceptance/features/apiSearchContent/contentSearch.feature' \
make -C tests/acceptance/docker test-ocis-feature-ocis-storage make -C tests/acceptance/docker test-opencloud-feature-ocis-storage
``` ```
{{< /hint >}} {{< /hint >}}
@@ -100,16 +100,16 @@ OC_ASYNC_UPLOADS=true \
OC_ADD_RUN_SERVICES=antivirus \ OC_ADD_RUN_SERVICES=antivirus \
POSTPROCESSING_STEPS=virusscan \ POSTPROCESSING_STEPS=virusscan \
BEHAT_FEATURE='tests/acceptance/features/apiAntivirus/antivirus.feature' \ BEHAT_FEATURE='tests/acceptance/features/apiAntivirus/antivirus.feature' \
make -C tests/acceptance/docker test-ocis-feature-ocis-storage make -C tests/acceptance/docker test-opencloud-feature-ocis-storage
``` ```
{{< /hint >}} {{< /hint >}}
#### Tests Transferred From ownCloud Core (prefix `coreApi`) #### Tests Transferred From Core (prefix `coreApi`)
Command `make -C tests/acceptance/docker Core-API-Tests-ocis-storage-3` runs the same tests as the `Core-API-Tests-ocis-storage-3` CI pipeline, which runs the third (out of ten) test suite groups transferred from ownCloud core against the oCIS server with ocis storage. Command `make -C tests/acceptance/docker Core-API-Tests-ocis-storage-3` runs the same tests as the `Core-API-Tests-ocis-storage-3` CI pipeline, which runs the third (out of ten) test suite groups transferred from core against the OpenCloud server with `ocis` storage.
And `make -C tests/acceptance/docker Core-API-Tests-s3ng-storage-3` runs the third (out of ten) test suite groups transferred from ownCloud core against the oCIS server with s3 storage. And `make -C tests/acceptance/docker Core-API-Tests-s3ng-storage-3` runs the third (out of ten) test suite groups transferred from core against the OpenCloud server with `s3ng` storage.
### Run Single Feature Test ### Run Single Feature Test
@@ -119,7 +119,7 @@ For example;
```bash ```bash
BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature' \ BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature' \
make -C tests/acceptance/docker test-ocis-feature-ocis-storage make -C tests/acceptance/docker test-opencloud-feature-ocis-storage
``` ```
{{< hint info >}} {{< hint info >}}
@@ -134,22 +134,22 @@ A specific scenario from a feature can be run by adding `:<line-number>` at the
```bash ```bash
BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26' \ BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26' \
make -C tests/acceptance/docker test-ocis-feature-ocis-storage make -C tests/acceptance/docker test-opencloud-feature-ocis-storage
``` ```
Similarly, with S3 storage; Similarly, with `s3ng` storage;
```bash ```bash
# run a whole feature # run a whole feature
BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature' \ BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature' \
make -C tests/acceptance/docker test-ocis-feature-s3ng-storage make -C tests/acceptance/docker test-opencloud-feature-s3ng-storage
# run a single scenario # run a single scenario
BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26' \ BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26' \
make -C tests/acceptance/docker test-ocis-feature-s3ng-storage make -C tests/acceptance/docker test-opencloud-feature-s3ng-storage
``` ```
In the same way, tests transferred from ownCloud core can be run as: In the same way, tests transferred from core can be run as:
```bash ```bash
# run a whole feature # run a whole feature
@@ -162,16 +162,16 @@ make -C tests/acceptance/docker test-core-feature-ocis-storage
``` ```
{{< hint info >}} {{< hint info >}}
The test suites transferred from ownCloud core have `coreApi` prefixed The test suites transferred from core have `coreApi` prefixed
{{< /hint >}} {{< /hint >}}
### oCIS Image to Be Tested (Skip Local Image Build) ### OpenCloud Image to Be Tested (Skip Local Image Build)
By default, the tests will be run against the docker image built from your current working state of the oCIS repository. For some purposes it might also be handy to use an oCIS image from Docker Hub. Therefore, you can provide the optional flag `OC_IMAGE_TAG=...` which must contain an available docker tag of the [owncloud/ocis registry on Docker Hub](https://hub.docker.com/r/owncloud/ocis) (e.g. 'latest'). By default, the tests will be run against the docker image built from your current working state of the OpenCloud repository. For some purposes it might also be handy to use an OpenCloud image from Docker Hub. Therefore, you can provide the optional flag `OC_IMAGE_TAG=...` which must contain an available docker tag of the [opencloud-eu/opencloud registry on Docker Hub](https://hub.docker.com/r/opencloud-eu/opencloud) (e.g. 'latest').
```bash ```bash
OC_IMAGE_TAG=latest \ OC_IMAGE_TAG=latest \
make -C tests/acceptance/docker localApiTests-apiGraph-ocis make -C tests/acceptance/docker localApiTests-apiGraph-opencloud
``` ```
### Test Log Output ### Test Log Output
@@ -188,7 +188,7 @@ The log output is opened in `less`. You can navigate up and down with your curso
### Cleanup ### Cleanup
During testing we start a redis and oCIS docker container. These will not be stopped automatically. You can stop them with: During testing we start a redis and OpenCloud docker container. These will not be stopped automatically. You can stop them with:
```bash ```bash
make -C tests/acceptance/docker clean make -C tests/acceptance/docker clean
@@ -196,23 +196,23 @@ make -C tests/acceptance/docker clean
## Running Test Suite in Local Environment ## Running Test Suite in Local Environment
### Run oCIS ### Run OpenCloud
Create an up-to-date oCIS binary by [building oCIS]({{< ref "build" >}}) Create an up-to-date OpenCloud binary by [building OpenCloud]({{< ref "build" >}})
To start oCIS: To start OpenCloud:
```bash ```bash
IDM_ADMIN_PASSWORD=admin \ IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true opencloud/bin/opencloud init --insecure true
OC_INSECURE=true PROXY_ENABLE_BASIC_AUTH=true \ OC_INSECURE=true PROXY_ENABLE_BASIC_AUTH=true \
ocis/bin/ocis server opencloud/bin/opencloud server
``` ```
`PROXY_ENABLE_BASIC_AUTH` will allow the acceptance tests to make requests against the provisioning api (and other endpoints) using basic auth. `PROXY_ENABLE_BASIC_AUTH` will allow the acceptance tests to make requests against the provisioning api (and other endpoints) using basic auth.
#### Run Local oCIS Tests (prefix `api`) and Tests Transferred From ownCloud Core (prefix `coreApi`) #### Run Local OpenCloud Tests (prefix `api`) and Tests Transferred From Core (prefix `coreApi`)
```bash ```bash
make test-acceptance-api \ make test-acceptance-api \
@@ -221,7 +221,7 @@ TEST_SERVER_URL=https://localhost:9200 \
Useful environment variables: Useful environment variables:
`TEST_SERVER_URL`: oCIS server url. Please, adjust the server url according to your setup. `TEST_SERVER_URL`: OpenCloud server url. Please, adjust the server url according to your setup.
`BEHAT_FEATURE`: to run a single feature `BEHAT_FEATURE`: to run a single feature
@@ -257,14 +257,12 @@ A specific scenario from a feature can be run by adding `:<line-number>` at the
### Use Existing Tests for BDD ### Use Existing Tests for BDD
As a lot of scenarios are written for oC10, we can use those tests for Behaviour driven development in oCIS. As a lot of scenarios are written for core, we can use those tests for Behaviour driven development in OpenCloud.
Every scenario that does not work in oCIS with "ocis" storage, is listed in `tests/acceptance/expected-failures-API-on-OCIS-storage.md` with a link to the related issue. Every scenario that does not work in OpenCloud with `ocis` storage, is listed in `tests/acceptance/expected-failures-API-on-OCIS-storage.md` with a link to the related issue.
Those scenarios are run in the ordinary acceptance test pipeline in CI. The scenarios that fail are checked against the Those scenarios are run in the ordinary acceptance test pipeline in CI. The scenarios that fail are checked against the
expected failures. If there are any differences then the CI pipeline fails. expected failures. If there are any differences then the CI pipeline fails.
The tests are not currently run in CI with the OWNCLOUD or EOS storage drivers, so there are no expected-failures files for those.
If you want to work on a specific issue If you want to work on a specific issue
1. locally run each of the tests marked with that issue in the expected failures file. 1. locally run each of the tests marked with that issue in the expected failures file.
@@ -296,24 +294,24 @@ make test-acceptance-api
## Running ENV Config Tests (@env-Config) ## Running ENV Config Tests (@env-Config)
Test suites tagged with `@env-config` are used to test the environment variables that are used to configure oCIS. These tests are special tests that require the oCIS server to be run using [ociswrapper](https://github.com/owncloud/ocis/blob/master/tests/ociswrapper/README.md). Test suites tagged with `@env-config` are used to test the environment variables that are used to configure OpenCloud. These tests are special tests that require the OpenCloud server to be run using [ocwrapper](https://github.com/opencloud-eu/opencloud/blob/master/tests/ocwrapper/README.md).
### Run oCIS With ociswrapper ### Run OpenCloud With ocwrapper
```bash ```bash
# working dir: ocis repo root dir # working dir: OpenCloud repo root dir
# init oCIS # init OpenCloud
IDM_ADMIN_PASSWORD=admin \ IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true opencloud/bin/opencloud init --insecure true
# build the wrapper # build the wrapper
cd tests/ociswrapper cd tests/ocwrapper
make build make build
# run oCIS # run OpenCloud
PROXY_ENABLE_BASIC_AUTH=true \ PROXY_ENABLE_BASIC_AUTH=true \
./bin/ociswrapper serve --bin=../../ocis/bin/ocis ./bin/ocwrapper serve --bin=../../opencloud/bin/opencloud
``` ```
### Run the Tests ### Run the Tests
@@ -327,11 +325,11 @@ make test-acceptance-api
### Writing New ENV Config Tests ### Writing New ENV Config Tests
While writing tests for a new oCIS ENV configuration, please make sure to follow these guidelines: While writing tests for a new OpenCloud ENV configuration, please make sure to follow these guidelines:
1. Tag the test suite (or test scenarios) with `@env-config` 1. Tag the test suite (or test scenarios) with `@env-config`
2. Use `OcisConfigHelper.php` for helper functions - provides functions to reconfigure the running oCIS instance. 2. Use `OcConfigHelper.php` for helper functions - provides functions to reconfigure the running OpenCloud instance.
3. Recommended: add the new step implementations in `OcisConfigContext.php` 3. Recommended: add the new step implementations in `OcConfigContext.php`
## Running Test Suite With Email Service (@email) ## Running Test Suite With Email Service (@email)
@@ -345,23 +343,23 @@ Run the following command to setup inbucket
docker run -d -p9000:9000 -p2500:2500 --name inbucket inbucket/inbucket docker run -d -p9000:9000 -p2500:2500 --name inbucket inbucket/inbucket
``` ```
### Run oCIS ### Run OpenCloud
Documentation for environment variables is available [here](https://owncloud.dev/services/notifications/#environment-variables) Documentation for environment variables is available [here](https://docs.opencloud.eu/services/notifications/#environment-variables)
```bash ```bash
# init oCIS # init OpenCloud
IDM_ADMIN_PASSWORD=admin \ IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true opencloud/bin/opencloud init --insecure true
# run oCIS # run OpenCloud
PROXY_ENABLE_BASIC_AUTH=true \ PROXY_ENABLE_BASIC_AUTH=true \
OC_ADD_RUN_SERVICES=notifications \ OC_ADD_RUN_SERVICES=notifications \
NOTIFICATIONS_SMTP_HOST=localhost \ NOTIFICATIONS_SMTP_HOST=localhost \
NOTIFICATIONS_SMTP_PORT=2500 \ NOTIFICATIONS_SMTP_PORT=2500 \
NOTIFICATIONS_SMTP_INSECURE=true \ NOTIFICATIONS_SMTP_INSECURE=true \
NOTIFICATIONS_SMTP_SENDER="owncloud <noreply@example.com>" \ NOTIFICATIONS_SMTP_SENDER="OpenCloud <noreply@example.com>" \
ocis/bin/ocis server opencloud/bin/opencloud server
``` ```
### Run the Acceptance Test ### Run the Acceptance Test
@@ -388,22 +386,23 @@ Run the following docker command to setup tika service
docker run -d -p 127.0.0.1:9998:9998 apache/tika docker run -d -p 127.0.0.1:9998:9998 apache/tika
``` ```
### Run oCIS ### Run OpenCloud
TODO: change for valid link
Documentation related to the content based search and tika extractor can be found [here](https://doc.owncloud.com/ocis/next/deployment/services/s-list/search.html#content-extraction) Documentation related to the content based search and tika extractor can be found [here](https://doc.owncloud.com/ocis/next/deployment/services/s-list/search.html#content-extraction)
```bash ```bash
# init oCIS # init OpenCloud
IDM_ADMIN_PASSWORD=admin \ IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true opencloud/bin/opencloud init --insecure true
# run oCIS # run OpenCloud
PROXY_ENABLE_BASIC_AUTH=true \ PROXY_ENABLE_BASIC_AUTH=true \
OC_INSECURE=true \ OC_INSECURE=true \
SEARCH_EXTRACTOR_TYPE=tika \ SEARCH_EXTRACTOR_TYPE=tika \
SEARCH_EXTRACTOR_TIKA_TIKA_URL=http://localhost:9998 \ SEARCH_EXTRACTOR_TIKA_TIKA_URL=http://localhost:9998 \
SEARCH_EXTRACTOR_CS3SOURCE_INSECURE=true \ SEARCH_EXTRACTOR_CS3SOURCE_INSECURE=true \
ocis/bin/ocis server opencloud/bin/opencloud server
``` ```
### Run the Acceptance Test ### Run the Acceptance Test
@@ -418,6 +417,7 @@ make test-acceptance-api
## Running Test Suite With Antivirus Service (@antivirus) ## Running Test Suite With Antivirus Service (@antivirus)
TODO: change for valid link
Test suites that are tagged with `@antivirus` require antivirus service. The available antivirus and the configuration related to them can be found [here](https://doc.owncloud.com/ocis/next/deployment/services/s-list/antivirus.html). This documentation is only going to use `clamAv` as antivirus. Test suites that are tagged with `@antivirus` require antivirus service. The available antivirus and the configuration related to them can be found [here](https://doc.owncloud.com/ocis/next/deployment/services/s-list/antivirus.html). This documentation is only going to use `clamAv` as antivirus.
### Setup clamAV ### Setup clamAV
@@ -467,23 +467,23 @@ docker run -d -p 3310:3310 owncloudci/clamavd
docker run -d -p 3310:3310 -v /your/local/filesystem/path/to/clamav/:/var/lib/clamav mkodockx/docker-clamav:alpine docker run -d -p 3310:3310 -v /your/local/filesystem/path/to/clamav/:/var/lib/clamav mkodockx/docker-clamav:alpine
``` ```
### Run oCIS ### Run OpenCloud
As `antivirus` service is not enabled by default we need to enable the service while running oCIS server. We also need to enable `async upload` and as virus scan is performed in post-processing step, we need to set it as well. Documentation for environment variables related to antivirus is available [here](https://owncloud.dev/services/antivirus/#environment-variables) As `antivirus` service is not enabled by default we need to enable the service while running OpenCloud server. We also need to enable `async upload` and as virus scan is performed in post-processing step, we need to set it as well. Documentation for environment variables related to antivirus is available [here](https://docs.opencloud.eu/services/antivirus/#environment-variables)
```bash ```bash
# init oCIS # init OpenCloud
IDM_ADMIN_PASSWORD=admin \ IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true opencloud/bin/opencloud init --insecure true
# run oCIS # run OpenCloud
PROXY_ENABLE_BASIC_AUTH=true \ PROXY_ENABLE_BASIC_AUTH=true \
ANTIVIRUS_SCANNER_TYPE="clamav" \ ANTIVIRUS_SCANNER_TYPE="clamav" \
ANTIVIRUS_CLAMAV_SOCKET="tcp://host.docker.internal:3310" \ ANTIVIRUS_CLAMAV_SOCKET="tcp://host.docker.internal:3310" \
POSTPROCESSING_STEPS="virusscan" \ POSTPROCESSING_STEPS="virusscan" \
OC_ASYNC_UPLOADS=true \ OC_ASYNC_UPLOADS=true \
OC_ADD_RUN_SERVICES="antivirus" OC_ADD_RUN_SERVICES="antivirus"
ocis/bin/ocis server opencloud/bin/opencloud server
``` ```
{{< hint info >}} {{< hint info >}}
@@ -506,16 +506,17 @@ make test-acceptance-api
## Running Test Suite With Federated Sharing (@ocm) ## Running Test Suite With Federated Sharing (@ocm)
Test suites that are tagged with `@ocm` require running two different ocis instances. More detailed information and configuration related to it can be found [here](https://doc.owncloud.com/ocis/5.0/deployment/services/s-list/ocm.html). TODO: change for valid link
Test suites that are tagged with `@ocm` require running two different OpenCloud instances. More detailed information and configuration related to it can be found [here](https://doc.owncloud.com/ocis/5.0/deployment/services/s-list/ocm.html).
### Setup First oCIS Instance ### Setup First OpenCloud Instance
```bash ```bash
# init oCIS # init OpenCloud
IDM_ADMIN_PASSWORD=admin \ IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true opencloud/bin/opencloud init --insecure true
# run oCIS # run OpenCloud
OC_URL="https://localhost:9200" \ OC_URL="https://localhost:9200" \
PROXY_ENABLE_BASIC_AUTH=true \ PROXY_ENABLE_BASIC_AUTH=true \
OC_ENABLE_OCM=true \ OC_ENABLE_OCM=true \
@@ -524,31 +525,31 @@ OC_ADD_RUN_SERVICES="ocm" \
OCM_OCM_INVITE_MANAGER_INSECURE=true \ OCM_OCM_INVITE_MANAGER_INSECURE=true \
OCM_OCM_SHARE_PROVIDER_INSECURE=true \ OCM_OCM_SHARE_PROVIDER_INSECURE=true \
OCM_OCM_STORAGE_PROVIDER_INSECURE=true \ OCM_OCM_STORAGE_PROVIDER_INSECURE=true \
WEB_UI_CONFIG_FILE="tests/config/local/ocis-web.json" \ WEB_UI_CONFIG_FILE="tests/config/local/opencloud-web.json" \
ocis/bin/ocis server opencloud/bin/opencloud server
``` ```
The first oCIS instance should be available at: https://localhost:9200/ The first OpenCloud instance should be available at: https://localhost:9200/
### Setup Second oCIS Instance ### Setup Second OpenCloud Instance
You can run the second oCIS instance in two ways: You can run the second OpenCloud instance in two ways:
#### Using `.vscode/launch.json` #### Using `.vscode/launch.json`
From the `Run and Debug` panel of VSCode, select `Fed oCIS Server` and start the debugger. From the `Run and Debug` panel of VSCode, select `Fed OpenCloud Server` and start the debugger.
#### Using env file #### Using env file
```bash ```bash
# init oCIS # init OpenCloud
source tests/config/local/.env-federation && ocis/bin/ocis init source tests/config/local/.env-federation && opencloud/bin/opencloud init
# run oCIS # run OpenCloud
ocis/bin/ocis server opencloud/bin/opencloud server
``` ```
The second oCIS instance should be available at: https://localhost:10200/ The second OpenCloud instance should be available at: https://localhost:10200/
{{< hint info >}} {{< hint info >}}
To enable ocm in the web interface, you need to set the following envs: To enable ocm in the web interface, you need to set the following envs:
@@ -569,18 +570,18 @@ make test-acceptance-api
## Running Text Preview Tests Containing Unicode Characters ## Running Text Preview Tests Containing Unicode Characters
There are some tests that check the text preview of files containing Unicode characters. The oCIS server by default cannot generate the thumbnail of such files correctly but it provides an environment variable to allow the use of custom fonts that support Unicode characters. So to run such tests successfully, we have to run the oCIS server with this environment variable. There are some tests that check the text preview of files containing Unicode characters. The OpenCloud server by default cannot generate the thumbnail of such files correctly but it provides an environment variable to allow the use of custom fonts that support Unicode characters. So to run such tests successfully, we have to run the OpenCloud server with this environment variable.
```bash ```bash
... ...
THUMBNAILS_TXT_FONTMAP_FILE="/path/to/fontsMap.json" THUMBNAILS_TXT_FONTMAP_FILE="/path/to/fontsMap.json"
ocis/bin/ocis server opencloud/bin/opencloud server
``` ```
The sample `fontsMap.json` file is located in `tests/config/drone/fontsMap.json`. The sample `fontsMap.json` file is located in `tests/config/drone/fontsMap.json`.
```json ```json
{ {
"defaultFont": "/path/to/ocis/tests/config/drone/NotoSans.ttf" "defaultFont": "/path/to/opencloud/tests/config/drone/NotoSans.ttf"
} }
``` ```
+4 -4
View File
@@ -26,10 +26,10 @@ use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\Request;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
use TestHelpers\OcisConfigHelper; use TestHelpers\OcConfigHelper;
/** /**
* A helper class for running oCIS CLI commands * A helper class for running OpenCloud CLI commands
*/ */
class CliHelper { class CliHelper {
/** /**
@@ -39,7 +39,7 @@ class CliHelper {
* @throws GuzzleException * @throws GuzzleException
*/ */
public static function runCommand(array $body): ResponseInterface { public static function runCommand(array $body): ResponseInterface {
$url = OcisConfigHelper::getWrapperUrl() . "/command"; $url = OcConfigHelper::getWrapperUrl() . "/command";
return OcisConfigHelper::sendRequest($url, "POST", \json_encode($body)); return OcConfigHelper::sendRequest($url, "POST", \json_encode($body));
} }
} }
@@ -56,7 +56,7 @@ class HttpRequestHelper {
* @return int * @return int
*/ */
public static function numRetriesOnHttpTooEarly(): int { public static function numRetriesOnHttpTooEarly(): int {
// Currently reva and oCIS may return HTTP_TOO_EARLY // Currently reva and OpenCloud may return HTTP_TOO_EARLY
// So try up to 10 times before giving up. // So try up to 10 times before giving up.
return 10; return 10;
} }
@@ -105,7 +105,7 @@ class HttpRequestHelper {
); );
} }
if (WebdavHelper::isDAVRequest($url) && \str_starts_with($url, OcisHelper::getServerUrl())) { if (WebdavHelper::isDAVRequest($url) && \str_starts_with($url, OcHelper::getServerUrl())) {
$urlHasRemotePhp = \str_contains($url, 'remote.php'); $urlHasRemotePhp = \str_contains($url, 'remote.php');
if (!WebDavHelper::withRemotePhp() && $urlHasRemotePhp) { if (!WebDavHelper::withRemotePhp() && $urlHasRemotePhp) {
throw new Exception("remote.php is disabled but found in the URL: $url"); throw new Exception("remote.php is disabled but found in the URL: $url");
@@ -29,9 +29,9 @@ use GuzzleHttp\Psr7\Request;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
/** /**
* A helper class for configuring oCIS server * A helper class for configuring OpenCloud server
*/ */
class OcisConfigHelper { class OcConfigHelper {
/** /**
* @param string $url * @param string $url
* @param string $method * @param string $method
@@ -57,8 +57,8 @@ class OcisConfigHelper {
$response = $client->send($request); $response = $client->send($request);
} catch (ConnectException $e) { } catch (ConnectException $e) {
throw new \Error( throw new \Error(
"Cannot connect to the ociswrapper at the moment," "Cannot connect to the ocwrapper at the moment,"
. "make sure that ociswrapper is running before proceeding with the test run.\n" . "make sure that ocwrapper is running before proceeding with the test run.\n"
. $e->getMessage() . $e->getMessage()
); );
} catch (GuzzleException $ex) { } catch (GuzzleException $ex) {
@@ -89,7 +89,7 @@ class OcisConfigHelper {
* @return ResponseInterface * @return ResponseInterface
* @throws GuzzleException * @throws GuzzleException
*/ */
public static function reConfigureOcis(array $envs): ResponseInterface { public static function reConfigureOc(array $envs): ResponseInterface {
$url = self::getWrapperUrl() . "/config"; $url = self::getWrapperUrl() . "/config";
return self::sendRequest($url, "PUT", \json_encode($envs)); return self::sendRequest($url, "PUT", \json_encode($envs));
} }
@@ -98,7 +98,7 @@ class OcisConfigHelper {
* @return ResponseInterface * @return ResponseInterface
* @throws GuzzleException * @throws GuzzleException
*/ */
public static function rollbackOcis(): ResponseInterface { public static function rollbackOc(): ResponseInterface {
$url = self::getWrapperUrl() . "/rollback"; $url = self::getWrapperUrl() . "/rollback";
return self::sendRequest($url, "DELETE"); return self::sendRequest($url, "DELETE");
} }
@@ -107,7 +107,7 @@ class OcisConfigHelper {
* @return ResponseInterface * @return ResponseInterface
* @throws GuzzleException * @throws GuzzleException
*/ */
public static function stopOcis(): ResponseInterface { public static function stopOpencloud(): ResponseInterface {
$url = self::getWrapperUrl() . "/stop"; $url = self::getWrapperUrl() . "/stop";
return self::sendRequest($url, "POST"); return self::sendRequest($url, "POST");
} }
@@ -116,7 +116,7 @@ class OcisConfigHelper {
* @return ResponseInterface * @return ResponseInterface
* @throws GuzzleException * @throws GuzzleException
*/ */
public static function startOcis(): ResponseInterface { public static function startOpencloud(): ResponseInterface {
$url = self::getWrapperUrl() . "/start"; $url = self::getWrapperUrl() . "/start";
return self::sendRequest($url, "POST"); return self::sendRequest($url, "POST");
} }
@@ -39,17 +39,16 @@ abstract class StorageDriver {
} }
/** /**
* Class OcisHelper * Class OcHelper
* *
* Helper functions that are needed to run tests on OCIS * Helper functions that are needed to run tests on OpenCloud server
* *
* @package TestHelpers * @package TestHelpers
*/ */
class OcisHelper { class OcHelper {
public const STORAGE_DRIVERS = [ public const STORAGE_DRIVERS = [
StorageDriver::OCIS, StorageDriver::OCIS,
StorageDriver::EOS, StorageDriver::EOS,
StorageDriver::OWNCLOUD,
StorageDriver::S3NG, StorageDriver::S3NG,
StorageDriver::POSIX StorageDriver::POSIX
]; ];
@@ -109,7 +108,7 @@ class OcisHelper {
public static function getStorageDriver(): string { public static function getStorageDriver(): string {
$storageDriver = (\getenv("STORAGE_DRIVER")); $storageDriver = (\getenv("STORAGE_DRIVER"));
if ($storageDriver === false) { if ($storageDriver === false) {
return StorageDriver::OWNCLOUD; return StorageDriver::OCIS;
} }
$storageDriver = \strtoupper($storageDriver); $storageDriver = \strtoupper($storageDriver);
if (!\in_array($storageDriver, self::STORAGE_DRIVERS)) { if (!\in_array($storageDriver, self::STORAGE_DRIVERS)) {
@@ -140,8 +139,8 @@ class OcisHelper {
$user = $user["actualUsername"]; $user = $user["actualUsername"];
} }
if ($deleteCmd === false) { if ($deleteCmd === false) {
if (self::getStorageDriver() === StorageDriver::OWNCLOUD) { if (self::getStorageDriver() === StorageDriver::OCIS) {
self::recurseRmdir(self::getOcisRevaDataRoot() . $user); self::recurseRmdir(self::getOcRevaDataRoot() . $user);
} }
continue; continue;
} elseif (self::getStorageDriver() === StorageDriver::EOS) { } elseif (self::getStorageDriver() === StorageDriver::EOS) {
@@ -206,7 +205,7 @@ class OcisHelper {
*/ */
public static function getBaseDN(): string { public static function getBaseDN(): string {
$dn = \getenv("REVA_LDAP_BASE_DN"); $dn = \getenv("REVA_LDAP_BASE_DN");
return $dn ?: "dc=owncloud,dc=com"; return $dn ?: "dc=opencloud,dc=com";
} }
/** /**
@@ -245,7 +244,7 @@ class OcisHelper {
*/ */
public static function getBindDN(): string { public static function getBindDN(): string {
$dn = \getenv("REVA_LDAP_BIND_DN"); $dn = \getenv("REVA_LDAP_BIND_DN");
return $dn ?: "cn=admin,dc=owncloud,dc=com"; return $dn ?: "cn=admin,dc=opencloud,dc=com";
} }
/** /**
@@ -259,10 +258,10 @@ class OcisHelper {
/** /**
* @return string * @return string
*/ */
private static function getOcisRevaDataRoot(): string { private static function getOcRevaDataRoot(): string {
$root = \getenv("OC_REVA_DATA_ROOT"); $root = \getenv("OC_REVA_DATA_ROOT");
if ($root === false || $root === "") { if ($root === false || $root === "") {
$root = "/var/tmp/ocis/owncloud/"; $root = "/var/tmp/opencloud/opencloud/";
} }
if (!\file_exists($root)) { if (!\file_exists($root)) {
echo "WARNING: reva data root folder ($root) does not exist\n"; echo "WARNING: reva data root folder ($root) does not exist\n";
@@ -28,7 +28,7 @@ use Psr\Http\Message\ResponseInterface;
use PHPUnit\Framework\Assert; use PHPUnit\Framework\Assert;
/** /**
* A helper class for ocis settings * A helper class for OpenCloud settings
*/ */
class SettingsHelper { class SettingsHelper {
private static string $settingsEndpoint = '/api/v0/settings/'; private static string $settingsEndpoint = '/api/v0/settings/';
@@ -58,7 +58,7 @@ class SharingHelper {
/** /**
* *
* @param string $baseUrl baseURL of the ownCloud installation without /ocs. * @param string $baseUrl baseURL of the OpenCloud installation without /ocs.
* @param string $user user that creates the share. * @param string $user user that creates the share.
* @param string $password password of the user that creates the share. * @param string $password password of the user that creates the share.
* @param string $path The path to the file or folder which should be shared. * @param string $path The path to the file or folder which should be shared.
@@ -34,12 +34,7 @@ use Psr\Http\Message\ResponseInterface;
class UploadHelper extends Assert { class UploadHelper extends Assert {
/** /**
* *
* @param string|null $baseUrl URL of owncloud * @param string|null $baseUrl URL of OpenCloud
* e.g. http://localhost:8080
* should include the subfolder
* if owncloud runs in a subfolder
* e.g. http://localhost:8080/owncloud-core
* @param string|null $user
* @param string|null $password * @param string|null $password
* @param string|null $source * @param string|null $source
* @param string|null $destination * @param string|null $destination
@@ -252,7 +252,7 @@ class WebDavHelper {
if ($folderDepth !== '') { if ($folderDepth !== '') {
throw new InvalidArgumentException('Invalid depth value ' . $folderDepth); throw new InvalidArgumentException('Invalid depth value ' . $folderDepth);
} }
$folderDepth = '1'; // oCIS server's default value $folderDepth = '1'; // OpenCloud server's default value
} }
$headers['Depth'] = $folderDepth; $headers['Depth'] = $folderDepth;
return self::makeDavRequest( return self::makeDavRequest(
@@ -527,7 +527,7 @@ class WebDavHelper {
} }
$personalSpaceId = ''; $personalSpaceId = '';
if (!OcisHelper::isTestingOnReva()) { if (!OcHelper::isTestingOnReva()) {
$response = GraphHelper::getMySpaces($baseUrl, $user, $password, '', $xRequestId); $response = GraphHelper::getMySpaces($baseUrl, $user, $password, '', $xRequestId);
Assert::assertEquals(200, $response->getStatusCode(), "Cannot list drives for user '$user'"); Assert::assertEquals(200, $response->getStatusCode(), "Cannot list drives for user '$user'");
@@ -610,10 +610,7 @@ class WebDavHelper {
/** /**
* sends a DAV request * sends a DAV request
* *
* @param string|null $baseUrl * @param string|null $baseUrl URL of OpenCloud e.g. http://localhost:8080
* URL of owncloud e.g. http://localhost:8080
* should include the subfolder if owncloud runs in a subfolder
* e.g. http://localhost:8080/owncloud-core
* @param string|null $user * @param string|null $user
* @param string|null $password or token when bearer auth is used * @param string|null $password or token when bearer auth is used
* @param string|null $method PUT, GET, DELETE, etc. * @param string|null $method PUT, GET, DELETE, etc.
@@ -85,7 +85,7 @@ class CapabilitiesContext implements Context {
* @throws Exception|GuzzleException * @throws Exception|GuzzleException
*/ */
public function getAdminUsernameForCapabilitiesCheck(): string { public function getAdminUsernameForCapabilitiesCheck(): string {
if (\TestHelpers\OcisHelper::isTestingOnReva()) { if (\TestHelpers\OcHelper::isTestingOnReva()) {
// When testing on reva we don't have a user called "admin" to use // When testing on reva we don't have a user called "admin" to use
// to access the capabilities. So create an ordinary user on-the-fly // to access the capabilities. So create an ordinary user on-the-fly
// with a default password. That user should be able to get a // with a default password. That user should be able to get a
@@ -255,7 +255,7 @@ class CapabilitiesContext implements Context {
$jsonExpectedDecoded['product'] = $product; $jsonExpectedDecoded['product'] = $product;
$jsonExpectedDecoded['productname'] = $productName; $jsonExpectedDecoded['productname'] = $productName;
// We are on oCIS or reva or some other implementation. We cannot do "occ status". // We are on OpenCloud or reva or some other implementation. We cannot do "occ status".
// So get the expected version values by looking in the capabilities response. // So get the expected version values by looking in the capabilities response.
$version = $this->getParameterValueFromXml( $version = $this->getParameterValueFromXml(
$responseXmlObject, $responseXmlObject,
+3 -3
View File
@@ -25,7 +25,7 @@ use Behat\Behat\Context\Context;
use Behat\Gherkin\Node\TableNode; use Behat\Gherkin\Node\TableNode;
use PHPUnit\Framework\Assert; use PHPUnit\Framework\Assert;
use TestHelpers\CliHelper; use TestHelpers\CliHelper;
use TestHelpers\OcisConfigHelper; use TestHelpers\OcConfigHelper;
use TestHelpers\BehatHelper; use TestHelpers\BehatHelper;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
@@ -57,7 +57,7 @@ class CliContext implements Context {
* @return void * @return void
*/ */
public function theAdministratorHasStoppedTheServer(): void { public function theAdministratorHasStoppedTheServer(): void {
$response = OcisConfigHelper::stopOcis(); $response = OcConfigHelper::stopOpencloud();
$this->featureContext->theHTTPStatusCodeShouldBe(200, '', $response); $this->featureContext->theHTTPStatusCodeShouldBe(200, '', $response);
} }
@@ -67,7 +67,7 @@ class CliContext implements Context {
* @return void * @return void
*/ */
public function theAdministratorHasStartedTheServer(): void { public function theAdministratorHasStartedTheServer(): void {
$response = OcisConfigHelper::startOcis(); $response = OcConfigHelper::startOpencloud();
$this->featureContext->theHTTPStatusCodeShouldBe(200, '', $response); $this->featureContext->theHTTPStatusCodeShouldBe(200, '', $response);
} }
@@ -31,7 +31,7 @@ use TestHelpers\CollaborationHelper;
use TestHelpers\BehatHelper; use TestHelpers\BehatHelper;
/** /**
* steps needed to re-configure oCIS server * steps needed to re-configure OpenCloud server
*/ */
class CollaborationContext implements Context { class CollaborationContext implements Context {
private FeatureContext $featureContext; private FeatureContext $featureContext;
@@ -43,7 +43,7 @@ class FavoritesContext implements Context {
* *
* @return ResponseInterface * @return ResponseInterface
*/ */
public function userFavoritesElement(string $user, string $path, string $spaceId = null): ResponseInterface { public function userFavoritesElement(string $user, string $path, ?string $spaceId = null): ResponseInterface {
return $this->changeFavStateOfAnElement( return $this->changeFavStateOfAnElement(
$user, $user,
$path, $path,
@@ -180,7 +180,7 @@ class FavoritesContext implements Context {
string $user, string $user,
string $path, string $path,
int $expectedValue = 1, int $expectedValue = 1,
string $spaceId = null ?string $spaceId = null
): void { ): void {
$property = "oc:favorite"; $property = "oc:favorite";
$this->webDavPropertiesContext->checkPropertyOfAFolder( $this->webDavPropertiesContext->checkPropertyOfAFolder(
+14 -16
View File
@@ -38,11 +38,11 @@ use Laminas\Ldap\Ldap;
use TestHelpers\SetupHelper; use TestHelpers\SetupHelper;
use TestHelpers\HttpRequestHelper; use TestHelpers\HttpRequestHelper;
use TestHelpers\HttpLogger; use TestHelpers\HttpLogger;
use TestHelpers\OcisHelper; use TestHelpers\OcHelper;
use TestHelpers\GraphHelper; use TestHelpers\GraphHelper;
use TestHelpers\WebDavHelper; use TestHelpers\WebDavHelper;
use TestHelpers\SettingsHelper; use TestHelpers\SettingsHelper;
use TestHelpers\OcisConfigHelper; use TestHelpers\OcConfigHelper;
use TestHelpers\BehatHelper; use TestHelpers\BehatHelper;
use Swaggest\JsonSchema\InvalidValue as JsonSchemaException; use Swaggest\JsonSchema\InvalidValue as JsonSchemaException;
use Swaggest\JsonSchema\Exception\ArrayException; use Swaggest\JsonSchema\Exception\ArrayException;
@@ -478,10 +478,10 @@ class FeatureContext extends BehatVariablesContext {
$this->alternateAdminPassword = "IHave99LotsOfPriv"; $this->alternateAdminPassword = "IHave99LotsOfPriv";
$this->publicLinkSharePassword = "publicPwd:1"; $this->publicLinkSharePassword = "publicPwd:1";
$this->baseUrl = OcisHelper::getServerUrl(); $this->baseUrl = OcHelper::getServerUrl();
$this->localBaseUrl = $this->baseUrl; $this->localBaseUrl = $this->baseUrl;
// federated server url from the environment // federated server url from the environment
$this->remoteBaseUrl = OcisHelper::getFederatedServerUrl(); $this->remoteBaseUrl = OcHelper::getFederatedServerUrl();
// get the admin username from the environment (if defined) // get the admin username from the environment (if defined)
$adminUsernameFromEnvironment = $this->getAdminUsernameFromEnvironment(); $adminUsernameFromEnvironment = $this->getAdminUsernameFromEnvironment();
@@ -617,10 +617,10 @@ class FeatureContext extends BehatVariablesContext {
* *
* @return void * @return void
*/ */
public function startOcisServer(): void { public function startOpencloudServer(): void {
$response = OcisConfigHelper::startOcis(); $response = OcConfigHelper::startOpencloud();
// 409 is returned if the server is already running // 409 is returned if the server is already running
$this->theHTTPStatusCodeShouldBe([200, 409], 'Starting oCIS server', $response); $this->theHTTPStatusCodeShouldBe([200, 409], 'Starting OpenCloud server', $response);
} }
/** /**
@@ -727,7 +727,7 @@ class FeatureContext extends BehatVariablesContext {
} }
/** /**
* removes the port from the ocis URL * removes the port from the OpenCloud URL
* *
* @param string $url * @param string $url
* *
@@ -751,13 +751,12 @@ class FeatureContext extends BehatVariablesContext {
* @return string * @return string
*/ */
public function getStorageUsersRoot(): string { public function getStorageUsersRoot(): string {
$ocisDataPath = getenv("OC_BASE_DATA_PATH") ? getenv("OC_BASE_DATA_PATH") : getenv("HOME") . '/.ocis'; $ocDataPath = getenv("OC_BASE_DATA_PATH") ? getenv("OC_BASE_DATA_PATH") : getenv("HOME") . '/.opencloud';
return getenv("STORAGE_USERS_OCIS_ROOT") ? getenv("STORAGE_USERS_OCIS_ROOT") : $ocisDataPath . "/storage/users"; return getenv("STORAGE_USERS_OC_ROOT") ? getenv("STORAGE_USERS_OC_ROOT") : $ocDataPath . "/storage/users";
} }
/** /**
* returns the path of the base URL * returns the path of the base URL
* e.g. owncloud-core/10 if the baseUrl is http://localhost/owncloud-core/10
* the path is without a slash at the end and without a slash at the beginning * the path is without a slash at the end and without a slash at the beginning
* *
* @return string * @return string
@@ -808,7 +807,7 @@ class FeatureContext extends BehatVariablesContext {
* @return string * @return string
*/ */
public function getCollaborationHostName(): string { public function getCollaborationHostName(): string {
return $this->removeSchemeAndPortFromUrl(OcisHelper::getCollaborationServiceUrl()); return $this->removeSchemeAndPortFromUrl(OcHelper::getCollaborationServiceUrl());
} }
/** /**
@@ -868,7 +867,6 @@ class FeatureContext extends BehatVariablesContext {
/** /**
* returns the base URL without any sub-path e.g. http://localhost:8080 * returns the base URL without any sub-path e.g. http://localhost:8080
* of the base URL http://localhost:8080/owncloud
* *
* @return string * @return string
*/ */
@@ -1516,7 +1514,7 @@ class FeatureContext extends BehatVariablesContext {
* @return bool * @return bool
*/ */
public function isAPublicLinkUrl(string $url): bool { public function isAPublicLinkUrl(string $url): bool {
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$urlEnding = \ltrim($url, '/'); $urlEnding = \ltrim($url, '/');
} else { } else {
if (\substr($url, 0, 4) !== "http") { if (\substr($url, 0, 4) !== "http") {
@@ -1743,7 +1741,7 @@ class FeatureContext extends BehatVariablesContext {
} }
/** /**
* Make a directory under the server root on the ownCloud server * Make a directory under the server root on the OpenCloud server
* *
* @param string $dirPathFromServerRoot e.g. 'apps2/myapp/appinfo' * @param string $dirPathFromServerRoot e.g. 'apps2/myapp/appinfo'
* *
@@ -2559,7 +2557,7 @@ class FeatureContext extends BehatVariablesContext {
] ]
); );
if (!OcisHelper::isTestingOnReva()) { if (!OcHelper::isTestingOnReva()) {
array_push( array_push(
$substitutions, $substitutions,
[ [
+5 -5
View File
@@ -200,10 +200,10 @@ class GraphContext implements Context {
public function editUserUsingTheGraphApi( public function editUserUsingTheGraphApi(
string $byUser, string $byUser,
string $user, string $user,
string $userName = null, ?string $userName = null,
string $password = null, ?string $password = null,
string $email = null, ?string $email = null,
string $displayName = null, ?string $displayName = null,
bool $accountEnabled = true, bool $accountEnabled = true,
string $method="PATCH" string $method="PATCH"
): ResponseInterface { ): ResponseInterface {
@@ -2371,7 +2371,7 @@ class GraphContext implements Context {
public function downloadedJsonContentShouldContainEventTypeInItemAndShouldMatch( public function downloadedJsonContentShouldContainEventTypeInItemAndShouldMatch(
string $eventType, string $eventType,
?string $spaceType=null, ?string $spaceType=null,
PyStringNode $schemaString=null ?PyStringNode $schemaString=null
): void { ): void {
$actualResponseToAssert = null; $actualResponseToAssert = null;
$events = $this->featureContext->getJsonDecodedResponseBodyContent()->events; $events = $this->featureContext->getJsonDecodedResponseBodyContent()->events;
@@ -23,14 +23,14 @@
use Behat\Behat\Context\Context; use Behat\Behat\Context\Context;
use Behat\Gherkin\Node\TableNode; use Behat\Gherkin\Node\TableNode;
use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Exception\GuzzleException;
use TestHelpers\OcisConfigHelper; use TestHelpers\OcConfigHelper;
use TestHelpers\GraphHelper; use TestHelpers\GraphHelper;
use PHPUnit\Framework\Assert; use PHPUnit\Framework\Assert;
/** /**
* steps needed to re-configure oCIS server * steps needed to re-configure OpenCloud server
*/ */
class OcisConfigContext implements Context { class OcConfigContext implements Context {
private array $enabledPermissionsRoles = []; private array $enabledPermissionsRoles = [];
/** /**
@@ -64,7 +64,7 @@ class OcisConfigContext implements Context {
"POSTPROCESSING_DELAY" => $delayTime . "s", "POSTPROCESSING_DELAY" => $delayTime . "s",
]; ];
$response = OcisConfigHelper::reConfigureOcis($envs); $response = OcConfigHelper::reConfigureOc($envs);
Assert::assertEquals( Assert::assertEquals(
200, 200,
$response->getStatusCode(), $response->getStatusCode(),
@@ -86,7 +86,7 @@ class OcisConfigContext implements Context {
$configVariable => $configValue, $configVariable => $configValue,
]; ];
$response = OcisConfigHelper::reConfigureOcis($envs); $response = OcConfigHelper::reConfigureOc($envs);
Assert::assertEquals( Assert::assertEquals(
200, 200,
$response->getStatusCode(), $response->getStatusCode(),
@@ -111,7 +111,7 @@ class OcisConfigContext implements Context {
$envs = [ $envs = [
"GRAPH_AVAILABLE_ROLES" => implode(',', $defaultRoles), "GRAPH_AVAILABLE_ROLES" => implode(',', $defaultRoles),
]; ];
$response = OcisConfigHelper::reConfigureOcis($envs); $response = OcConfigHelper::reConfigureOc($envs);
Assert::assertEquals( Assert::assertEquals(
200, 200,
$response->getStatusCode(), $response->getStatusCode(),
@@ -137,7 +137,7 @@ class OcisConfigContext implements Context {
$envs = [ $envs = [
"GRAPH_AVAILABLE_ROLES" => implode(',', $availableRoles), "GRAPH_AVAILABLE_ROLES" => implode(',', $availableRoles),
]; ];
$response = OcisConfigHelper::reConfigureOcis($envs); $response = OcConfigHelper::reConfigureOc($envs);
Assert::assertEquals( Assert::assertEquals(
200, 200,
$response->getStatusCode(), $response->getStatusCode(),
@@ -157,7 +157,7 @@ class OcisConfigContext implements Context {
*/ */
public function theConfigHasBeenSetPathTo(string $configVariable, string $path): void { public function theConfigHasBeenSetPathTo(string $configVariable, string $path): void {
$path = \dirname(__FILE__) . "/../../" . $path; $path = \dirname(__FILE__) . "/../../" . $path;
$response = OcisConfigHelper::reConfigureOcis( $response = OcConfigHelper::reConfigureOc(
[ [
$configVariable => $path $configVariable => $path
] ]
@@ -183,7 +183,7 @@ class OcisConfigContext implements Context {
$envs[$row['config']] = $row['value']; $envs[$row['config']] = $row['value'];
} }
$response = OcisConfigHelper::reConfigureOcis($envs); $response = OcConfigHelper::reConfigureOc($envs);
Assert::assertEquals( Assert::assertEquals(
200, 200,
$response->getStatusCode(), $response->getStatusCode(),
@@ -196,12 +196,12 @@ class OcisConfigContext implements Context {
* *
* @return void * @return void
*/ */
public function rollbackOcis(): void { public function rollbackOc(): void {
$response = OcisConfigHelper::rollbackOcis(); $response = OcConfigHelper::rollbackOc();
Assert::assertEquals( Assert::assertEquals(
200, 200,
$response->getStatusCode(), $response->getStatusCode(),
"Failed to rollback ocis server. Check if oCIS is started with ociswrapper." "Failed to rollback OpenCloud server. Check if OpenCloud is started with ocwrapper."
); );
} }
} }
+2 -2
View File
@@ -23,7 +23,7 @@ use Behat\Behat\Context\Context;
use Behat\Behat\Hook\Scope\BeforeScenarioScope; use Behat\Behat\Hook\Scope\BeforeScenarioScope;
use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Exception\GuzzleException;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
use TestHelpers\OcisHelper; use TestHelpers\OcHelper;
use TestHelpers\OcmHelper; use TestHelpers\OcmHelper;
use TestHelpers\WebDavHelper; use TestHelpers\WebDavHelper;
use TestHelpers\BehatHelper; use TestHelpers\BehatHelper;
@@ -125,7 +125,7 @@ class OcmContext implements Context {
* @return ResponseInterface * @return ResponseInterface
* @throws GuzzleException * @throws GuzzleException
*/ */
public function acceptInvitation(string $user, string $token = null): ResponseInterface { public function acceptInvitation(string $user, ?string $token = null): ResponseInterface {
$providerDomain = $this->featureContext->getLocalBaseUrlWithoutScheme(); $providerDomain = $this->featureContext->getLocalBaseUrlWithoutScheme();
if ($this->featureContext->getCurrentServer() === "LOCAL") { if ($this->featureContext->getCurrentServer() === "LOCAL") {
$providerDomain = $this->featureContext->getRemoteBaseUrlWithoutScheme(); $providerDomain = $this->featureContext->getRemoteBaseUrlWithoutScheme();
+30 -31
View File
@@ -26,7 +26,7 @@ use Psr\Http\Message\ResponseInterface;
use PHPUnit\Framework\Assert; use PHPUnit\Framework\Assert;
use TestHelpers\UserHelper; use TestHelpers\UserHelper;
use TestHelpers\HttpRequestHelper; use TestHelpers\HttpRequestHelper;
use TestHelpers\OcisHelper; use TestHelpers\OcHelper;
use TestHelpers\WebDavHelper; use TestHelpers\WebDavHelper;
use TestHelpers\GraphHelper; use TestHelpers\GraphHelper;
use Laminas\Ldap\Exception\LdapException; use Laminas\Ldap\Exception\LdapException;
@@ -52,8 +52,7 @@ trait Provisioning {
private array $createdGroups = []; private array $createdGroups = [];
/** /**
* Check if this is the admin group. That group is always a local group in * Check if this is the admin group.
* ownCloud10, even if other groups come from LDAP.
* *
* @param string $groupname * @param string $groupname
* *
@@ -315,15 +314,15 @@ trait Provisioning {
* @throws \LdapException * @throws \LdapException
*/ */
public function connectToLdap(array $suiteParameters): void { public function connectToLdap(array $suiteParameters): void {
$this->ldapBaseDN = OcisHelper::getBaseDN(); $this->ldapBaseDN = OcHelper::getBaseDN();
$this->ldapUsersOU = OcisHelper::getUsersOU(); $this->ldapUsersOU = OcHelper::getUsersOU();
$this->ldapGroupsOU = OcisHelper::getGroupsOU(); $this->ldapGroupsOU = OcHelper::getGroupsOU();
$this->ldapGroupSchema = OcisHelper::getGroupSchema(); $this->ldapGroupSchema = OcHelper::getGroupSchema();
$this->ldapHost = OcisHelper::getHostname(); $this->ldapHost = OcHelper::getHostname();
$this->ldapPort = OcisHelper::getLdapPort(); $this->ldapPort = OcHelper::getLdapPort();
$useSsl = OcisHelper::useSsl(); $useSsl = OcHelper::useSsl();
$this->ldapAdminUser = OcisHelper::getBindDN(); $this->ldapAdminUser = OcHelper::getBindDN();
$this->ldapAdminPassword = OcisHelper::getBindPassword(); $this->ldapAdminPassword = OcHelper::getBindPassword();
$this->skipImportLdif = (\getenv("REVA_LDAP_SKIP_LDIF_IMPORT") === "true"); $this->skipImportLdif = (\getenv("REVA_LDAP_SKIP_LDIF_IMPORT") === "true");
if ($useSsl === true) { if ($useSsl === true) {
\putenv('LDAPTLS_REQCERT=never'); \putenv('LDAPTLS_REQCERT=never');
@@ -385,7 +384,7 @@ trait Provisioning {
} elseif ($setDefaultAttributes) { } elseif ($setDefaultAttributes) {
$userAttribute['email'] = $this->getEmailAddressForUser($row['username']); $userAttribute['email'] = $this->getEmailAddressForUser($row['username']);
if ($userAttribute['email'] === null) { if ($userAttribute['email'] === null) {
$userAttribute['email'] = $row['username'] . '@owncloud.com'; $userAttribute['email'] = $row['username'] . '@opencloud.eu';
} }
} else { } else {
$userAttribute['email'] = null; $userAttribute['email'] = null;
@@ -439,13 +438,13 @@ trait Provisioning {
} }
if (isset($setting["email"])) { if (isset($setting["email"])) {
$entry['mail'] = $setting["email"]; $entry['mail'] = $setting["email"];
} elseif (!OcisHelper::isTestingOnReva()) { } elseif (!OcHelper::isTestingOnReva()) {
$entry['mail'] = $userId . '@owncloud.com'; $entry['mail'] = $userId . '@opencloud.eu';
} }
$entry['gidNumber'] = 5000; $entry['gidNumber'] = 5000;
$entry['uidNumber'] = $uidNumber; $entry['uidNumber'] = $uidNumber;
if (!OcisHelper::isTestingOnReva()) { if (!OcHelper::isTestingOnReva()) {
$entry['objectclass'][] = 'ownCloud'; $entry['objectclass'][] = 'ownCloud';
$entry['ownCloudUUID'] = WebDavHelper::generateUUIDv4(); $entry['ownCloudUUID'] = WebDavHelper::generateUUIDv4();
} }
@@ -461,7 +460,7 @@ trait Provisioning {
LDAP_ESCAPE_DN LDAP_ESCAPE_DN
) . ",ou=" . $this->ldapUsersOU . "," . $this->ldapBaseDN, ) . ",ou=" . $this->ldapUsersOU . "," . $this->ldapBaseDN,
); );
OcisHelper::deleteRevaUserData([$entry['uid']]); OcHelper::deleteRevaUserData([$entry['uid']]);
$this->ldap->add($newDN, $entry); $this->ldap->add($newDN, $entry);
} }
} }
@@ -490,7 +489,7 @@ trait Provisioning {
$entry['objectclass'][] = 'groupOfNames'; $entry['objectclass'][] = 'groupOfNames';
$entry['member'] = ""; $entry['member'] = "";
} }
if (!OcisHelper::isTestingOnReva()) { if (!OcHelper::isTestingOnReva()) {
$entry['objectclass'][] = 'ownCloud'; $entry['objectclass'][] = 'ownCloud';
$entry['ownCloudUUID'] = WebDavHelper::generateUUIDv4(); $entry['ownCloudUUID'] = WebDavHelper::generateUUIDv4();
} }
@@ -585,7 +584,7 @@ trait Provisioning {
$userAttributes, $userAttributes,
__METHOD__ . " userAttributes array does not have key 'userid'" __METHOD__ . " userAttributes array does not have key 'userid'"
); );
$attributesToCreateUser['email'] = $userAttributes['userid'] . '@owncloud.com'; $attributesToCreateUser['email'] = $userAttributes['userid'] . '@opencloud.eu';
} else { } else {
$attributesToCreateUser['email'] = $userAttributes['email']; $attributesToCreateUser['email'] = $userAttributes['email'];
} }
@@ -958,7 +957,7 @@ trait Provisioning {
public function initializeUser(string $user, string $password): void { public function initializeUser(string $user, string $password): void {
$url = $this->getBaseUrl() . "/graph/v1.0/users/$user"; $url = $this->getBaseUrl() . "/graph/v1.0/users/$user";
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$url = $this->getBaseUrl() $url = $this->getBaseUrl()
. "/ocs/v$this->ocsApiVersion.php/cloud/users/$user"; . "/ocs/v$this->ocsApiVersion.php/cloud/users/$user";
} }
@@ -1123,7 +1122,7 @@ trait Provisioning {
if ($email === null) { if ($email === null) {
// escape @ & space if present in userId // escape @ & space if present in userId
$email = \str_replace(["@", " "], "", $user) . '@owncloud.com'; $email = \str_replace(["@", " "], "", $user) . '@opencloud.eu';
} }
} }
$user = $this->getActualUsername($user); $user = $this->getActualUsername($user);
@@ -1183,7 +1182,7 @@ trait Provisioning {
*/ */
public function adminRemovesUserFromGroupUsingTheProvisioningApi(string $user, string $group): void { public function adminRemovesUserFromGroupUsingTheProvisioningApi(string $user, string $group): void {
$user = $this->getActualUsername($user); $user = $this->getActualUsername($user);
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$this->response = UserHelper::removeUserFromGroup( $this->response = UserHelper::removeUserFromGroup(
$this->getBaseUrl(), $this->getBaseUrl(),
$user, $user,
@@ -1274,12 +1273,12 @@ trait Provisioning {
* @throws JsonException * @throws JsonException
*/ */
public function userExists(string $user): bool { public function userExists(string $user): bool {
$path = (!OcisHelper::isTestingOnReva()) $path = (!OcHelper::isTestingOnReva())
? "/graph/v1.0" ? "/graph/v1.0"
: "/ocs/v2.php/cloud"; : "/ocs/v2.php/cloud";
$fullUrl = $this->getBaseUrl() . $path . "/users/$user"; $fullUrl = $this->getBaseUrl() . $path . "/users/$user";
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$requestingUser = $this->getActualUsername($user); $requestingUser = $this->getActualUsername($user);
$requestingPassword = $this->getPasswordForUser($user); $requestingPassword = $this->getPasswordForUser($user);
} else { } else {
@@ -1310,7 +1309,7 @@ trait Provisioning {
*/ */
public function userShouldBelongToGroup(string $user, string $group): void { public function userShouldBelongToGroup(string $user, string $group): void {
$user = $this->getActualUsername($user); $user = $this->getActualUsername($user);
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$this->userGetsAllTheGroupsOfUser($this->getAdminUsername(), $user); $this->userGetsAllTheGroupsOfUser($this->getAdminUsername(), $user);
$respondedArray = $this->getArrayOfGroupsResponded($this->response); $respondedArray = $this->getArrayOfGroupsResponded($this->response);
\sort($respondedArray); \sort($respondedArray);
@@ -1351,7 +1350,7 @@ trait Provisioning {
foreach ($rows as $row) { foreach ($rows as $row) {
$user = $this->getActualUsername($row["username"]); $user = $this->getActualUsername($row["username"]);
$group = $row["groupname"]; $group = $row["groupname"];
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$fullUrl = $this->getBaseUrl() . "/ocs/v2.php/cloud/users/$user/groups"; $fullUrl = $this->getBaseUrl() . "/ocs/v2.php/cloud/users/$user/groups";
$response = HttpRequestHelper::get( $response = HttpRequestHelper::get(
$fullUrl, $fullUrl,
@@ -1748,7 +1747,7 @@ trait Provisioning {
*/ */
public function adminHasDisabledUserUsingTheProvisioningApi(?string $user): void { public function adminHasDisabledUserUsingTheProvisioningApi(?string $user): void {
$user = $this->getActualUsername($user); $user = $this->getActualUsername($user);
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$response = $this->disableOrEnableUser($this->getAdminUsername(), $user, 'disable'); $response = $this->disableOrEnableUser($this->getAdminUsername(), $user, 'disable');
} else { } else {
$response = $this->graphContext->editUserUsingTheGraphApi( $response = $this->graphContext->editUserUsingTheGraphApi(
@@ -1778,7 +1777,7 @@ trait Provisioning {
*/ */
public function deleteUser(string $user): ResponseInterface { public function deleteUser(string $user): ResponseInterface {
// Always try to delete the user // Always try to delete the user
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$response = UserHelper::deleteUser( $response = UserHelper::deleteUser(
$this->getBaseUrl(), $this->getBaseUrl(),
$user, $user,
@@ -1868,7 +1867,7 @@ trait Provisioning {
$this->TheHTTPStatusCodeShouldBe(204, '', $response); $this->TheHTTPStatusCodeShouldBe(204, '', $response);
} }
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$fullUrl = $this->getBaseUrl() . "/ocs/v2.php/cloud/users/$user/groups"; $fullUrl = $this->getBaseUrl() . "/ocs/v2.php/cloud/users/$user/groups";
$response = HttpRequestHelper::get( $response = HttpRequestHelper::get(
$fullUrl, $fullUrl,
@@ -1979,8 +1978,8 @@ trait Provisioning {
* @throws Exception * @throws Exception
*/ */
public function afterScenario(): void { public function afterScenario(): void {
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
OcisHelper::deleteRevaUserData($this->getCreatedUsers()); OcHelper::deleteRevaUserData($this->getCreatedUsers());
} }
if ($this->isTestingWithLdap()) { if ($this->isTestingWithLdap()) {
@@ -358,11 +358,7 @@ class PublicWebDavContext implements Context {
/** /**
* *
* @param string $baseUrl URL of owncloud * @param string $baseUrl URL of OpenCloud
* e.g. http://localhost:8080
* should include the subfolder
* if owncloud runs in a subfolder
* e.g. http://localhost:8080/owncloud-core
* @param string $source * @param string $source
* @param string $destination * @param string $destination
* *
+2 -2
View File
@@ -147,7 +147,7 @@ class SearchContext implements Context {
?string $limit = null, ?string $limit = null,
?TableNode $properties = null ?TableNode $properties = null
): void { ): void {
// NOTE: because indexing of newly uploaded files or directories with ocis is decoupled and occurs asynchronously // NOTE: because indexing of newly uploaded files or directories with OpenCloud is decoupled and occurs asynchronously
// short wait is necessary before searching // short wait is necessary before searching
sleep(5); sleep(5);
$response = $this->searchFiles($user, $pattern, $limit, null, null, null, $properties); $response = $this->searchFiles($user, $pattern, $limit, null, null, null, $properties);
@@ -270,7 +270,7 @@ class SearchContext implements Context {
string $scope, string $scope,
?string $spaceName = null, ?string $spaceName = null,
): void { ): void {
// NOTE: since indexing of newly uploaded files or directories with ocis is decoupled and occurs asynchronously, // NOTE: since indexing of newly uploaded files or directories with OpenCloud is decoupled and occurs asynchronously,
// a short wait is necessary before searching // a short wait is necessary before searching
sleep(5); sleep(5);
$response = $this-> searchFiles($user, $pattern, null, $scopeType, $scope, $spaceName); $response = $this-> searchFiles($user, $pattern, null, $scopeType, $scope, $spaceName);
+2 -2
View File
@@ -57,8 +57,8 @@ trait Sharing {
/** /**
* Defines the fields that are known and can be tested in a share response. * Defines the fields that are known and can be tested in a share response.
* Note that ownCloud10 also provides file_parent in responses. * Note that OpenCloud also provides file_parent in responses.
* file_parent is not provided by OCIS/reva. * file_parent is not provided by opencloud/reva.
* There are no known clients that use file_parent. * There are no known clients that use file_parent.
* The acceptance tests do not test for file_parent. * The acceptance tests do not test for file_parent.
* *
@@ -26,7 +26,7 @@ use GuzzleHttp\Exception\GuzzleException;
use PHPUnit\Framework\Assert; use PHPUnit\Framework\Assert;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
use TestHelpers\GraphHelper; use TestHelpers\GraphHelper;
use TestHelpers\OcisHelper; use TestHelpers\OcHelper;
use TestHelpers\WebDavHelper; use TestHelpers\WebDavHelper;
use TestHelpers\HttpRequestHelper; use TestHelpers\HttpRequestHelper;
use TestHelpers\BehatHelper; use TestHelpers\BehatHelper;
+7 -9
View File
@@ -33,13 +33,13 @@ use TestHelpers\HttpRequestHelper;
use TestHelpers\WebDavHelper; use TestHelpers\WebDavHelper;
use TestHelpers\SetupHelper; use TestHelpers\SetupHelper;
use TestHelpers\GraphHelper; use TestHelpers\GraphHelper;
use TestHelpers\OcisHelper; use TestHelpers\OcHelper;
use TestHelpers\BehatHelper; use TestHelpers\BehatHelper;
require_once 'bootstrap.php'; require_once 'bootstrap.php';
/** /**
* Context for ocis spaces specific steps * Context for OpenCloud spaces specific steps
*/ */
class SpacesContext implements Context { class SpacesContext implements Context {
private FeatureContext $featureContext; private FeatureContext $featureContext;
@@ -453,7 +453,7 @@ class SpacesContext implements Context {
* @throws Exception|GuzzleException * @throws Exception|GuzzleException
*/ */
public function cleanDataAfterTests(): void { public function cleanDataAfterTests(): void {
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
return; return;
} }
$this->deleteAllProjectSpaces(); $this->deleteAllProjectSpaces();
@@ -1978,7 +1978,7 @@ class SpacesContext implements Context {
string $fromSpaceName, string $fromSpaceName,
string $fileDestination, string $fileDestination,
string $toSpaceName, string $toSpaceName,
TableNode $table = null ?TableNode $table = null
): void { ): void {
$space = $this->getSpaceByName($user, $fromSpaceName); $space = $this->getSpaceByName($user, $fromSpaceName);
$headers['Destination'] = $this->destinationHeaderValueWithSpaceName( $headers['Destination'] = $this->destinationHeaderValueWithSpaceName(
@@ -2146,7 +2146,7 @@ class SpacesContext implements Context {
string $user, string $user,
string $fileDestination, string $fileDestination,
string $spaceName, string $spaceName,
string $endPath = null ?string $endPath = null
): string { ): string {
$space = $this->getSpaceByName($user, $spaceName); $space = $this->getSpaceByName($user, $spaceName);
$fileDestination = $this->escapePath(\ltrim($fileDestination, "/")); $fileDestination = $this->escapePath(\ltrim($fileDestination, "/"));
@@ -3229,8 +3229,7 @@ class SpacesContext implements Context {
/** /**
* User gets all objects in the trash of project space * User gets all objects in the trash of project space
* *
* Method "getTrashbinContentFromResponseXml" borrowed from core repository * Method "getTrashbinContentFromResponseXml" returns array like:
* and return array like:
* [1] => Array * [1] => Array
* ( * (
* [href] => /dav/spaces/trash-bin/spaceId/objectId/ * [href] => /dav/spaces/trash-bin/spaceId/objectId/
@@ -4070,7 +4069,6 @@ class SpacesContext implements Context {
* @throws GuzzleException * @throws GuzzleException
*/ */
public function searchResultShouldContainSpace(string $user, string $spaceName): void { public function searchResultShouldContainSpace(string $user, string $spaceName): void {
// get a response after a Report request (called in the core)
$responseArray = json_decode( $responseArray = json_decode(
json_encode( json_encode(
HttpRequestHelper::getResponseXml($this->featureContext->getResponse())->xpath("//d:response/d:href") HttpRequestHelper::getResponseXml($this->featureContext->getResponse())->xpath("//d:response/d:href")
@@ -4621,7 +4619,7 @@ class SpacesContext implements Context {
string $recipientType, string $recipientType,
string $recipient, string $recipient,
string $role, string $role,
string $expirationDate = null ?string $expirationDate = null
): void { ): void {
$response = $this->listAllAvailableSpacesOfUser($user); $response = $this->listAllAvailableSpacesOfUser($user);
$this->featureContext->theHTTPStatusCodeShouldBe( $this->featureContext->theHTTPStatusCodeShouldBe(
+2 -2
View File
@@ -261,7 +261,7 @@ class TUSContext implements Context {
string $destination, string $destination,
array $uploadMetadata = [], array $uploadMetadata = [],
int $noOfChunks = 1, int $noOfChunks = 1,
int $bytes = null, ?int $bytes = null,
string $checksum = '' string $checksum = ''
): void { ): void {
$this->uploadFileUsingTus($user, $source, $destination, null, $uploadMetadata, $noOfChunks, $bytes, $checksum); $this->uploadFileUsingTus($user, $source, $destination, null, $uploadMetadata, $noOfChunks, $bytes, $checksum);
@@ -287,7 +287,7 @@ class TUSContext implements Context {
?string $spaceId = null, ?string $spaceId = null,
array $uploadMetadata = [], array $uploadMetadata = [],
int $noOfChunks = 1, int $noOfChunks = 1,
int $bytes = null, ?int $bytes = null,
string $checksum = '' string $checksum = ''
) { ) {
$user = $this->featureContext->getActualUsername($user); $user = $this->featureContext->getActualUsername($user);
+10 -10
View File
@@ -26,7 +26,7 @@ use GuzzleHttp\Exception\GuzzleException;
use PHPUnit\Framework\Assert; use PHPUnit\Framework\Assert;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
use GuzzleHttp\Stream\StreamInterface; use GuzzleHttp\Stream\StreamInterface;
use TestHelpers\OcisHelper; use TestHelpers\OcHelper;
use TestHelpers\UploadHelper; use TestHelpers\UploadHelper;
use TestHelpers\WebDavHelper; use TestHelpers\WebDavHelper;
use TestHelpers\HttpRequestHelper; use TestHelpers\HttpRequestHelper;
@@ -203,8 +203,8 @@ trait WebDav {
/** /**
* gives the DAV path of a file including the subfolder of the webserver * gives the DAV path of a file including the subfolder of the webserver
* e.g. when the server runs in `http://localhost/owncloud/` * e.g. when the server runs in `http://localhost/opencloud/`
* this function will return `owncloud/webdav/prueba.txt` * this function will return `opencloud/webdav/prueba.txt`
* *
* @param string $user * @param string $user
* @param string $spaceId * @param string $spaceId
@@ -1809,22 +1809,22 @@ trait WebDav {
} }
/** /**
* @Then the HTTP status code of responses on each endpoint should be :ocisStatusCodes on oCIS or :revaStatusCodes on reva * @Then the HTTP status code of responses on each endpoint should be :ocStatusCodes on OpenCloud or :revaStatusCodes on reva
* *
* @param string $ocisStatusCodes a comma-separated string of expected HTTP status codes when running on oCIS * @param string $ocStatusCodes a comma-separated string of expected HTTP status codes when running on OpenCloud
* @param string $revaStatusCodes a comma-separated string of expected HTTP status codes when running on reva * @param string $revaStatusCodes a comma-separated string of expected HTTP status codes when running on reva
* *
* @return void * @return void
* @throws Exception * @throws Exception
*/ */
public function theHTTPStatusCodeOfResponsesOnEachEndpointShouldBeOcisReva( public function theHTTPStatusCodeOfResponsesOnEachEndpointShouldBeOcReva(
string $ocisStatusCodes, string $ocStatusCodes,
string $revaStatusCodes string $revaStatusCodes
): void { ): void {
if (OcisHelper::isTestingOnReva()) { if (OcHelper::isTestingOnReva()) {
$expectedStatusCodes = $revaStatusCodes; $expectedStatusCodes = $revaStatusCodes;
} else { } else {
$expectedStatusCodes = $ocisStatusCodes; $expectedStatusCodes = $ocStatusCodes;
} }
$this->checkTheHTTPStatusCodeOfResponsesOnEachEndpoint($expectedStatusCodes); $this->checkTheHTTPStatusCodeOfResponsesOnEachEndpoint($expectedStatusCodes);
} }
@@ -3300,7 +3300,7 @@ trait WebDav {
*/ */
public function encodePath(string $path): string { public function encodePath(string $path): string {
// slashes need to stay // slashes need to stay
// in ocis even brackets are encoded // in OpenCloud even brackets are encoded
return \str_replace('%2F', '/', \rawurlencode($path)); return \str_replace('%2F', '/', \rawurlencode($path));
} }
@@ -28,7 +28,7 @@ use PHPUnit\Framework\Assert;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
use TestHelpers\HttpRequestHelper; use TestHelpers\HttpRequestHelper;
use TestHelpers\WebDavHelper; use TestHelpers\WebDavHelper;
use TestHelpers\OcisHelper; use TestHelpers\OcHelper;
use TestHelpers\BehatHelper; use TestHelpers\BehatHelper;
require_once 'bootstrap.php'; require_once 'bootstrap.php';
-5
View File
@@ -29,11 +29,6 @@ $classLoader->addPsr4("TestHelpers\\", __DIR__ . "/../TestHelpers", true);
$classLoader->register(); $classLoader->register();
// while running for the local API tests, the tests code from ownCloud/core is not used
// so we need the constants to be defined for the tests to use them, but for the case where,
// the tests are running for oC/core API tests, the constants are already defined in the bootstrap.php there
// so we do not declare them again to avoid the "already defined" error
// Sleep for 10 milliseconds // Sleep for 10 milliseconds
if (!\defined('STANDARD_SLEEP_TIME_MILLISEC')) { if (!\defined('STANDARD_SLEEP_TIME_MILLISEC')) {
\define('STANDARD_SLEEP_TIME_MILLISEC', 10); \define('STANDARD_SLEEP_TIME_MILLISEC', 10);
+32 -32
View File
@@ -43,7 +43,7 @@ default:
- TUSContext: - TUSContext:
- SpacesTUSContext: - SpacesTUSContext:
- GraphContext: - GraphContext:
- OcisConfigContext: - OcConfigContext:
- WebDavLockingContext: - WebDavLockingContext:
- SharingNgContext: - SharingNgContext:
@@ -67,7 +67,7 @@ default:
- SpacesTUSContext: - SpacesTUSContext:
- ArchiverContext: - ArchiverContext:
- GraphContext: - GraphContext:
- OcisConfigContext: - OcConfigContext:
- SharingNgContext: - SharingNgContext:
apiContract: apiContract:
@@ -87,7 +87,7 @@ default:
- SpacesTUSContext: - SpacesTUSContext:
- GraphContext: - GraphContext:
- SharingNgContext: - SharingNgContext:
- OcisConfigContext: - OcConfigContext:
apiArchiver: apiArchiver:
paths: paths:
@@ -120,7 +120,7 @@ default:
- PublicWebDavContext: - PublicWebDavContext:
- TUSContext: - TUSContext:
- SpacesTUSContext: - SpacesTUSContext:
- OcisConfigContext: - OcConfigContext:
- TrashbinContext: - TrashbinContext:
- SharingNgContext: - SharingNgContext:
@@ -139,7 +139,7 @@ default:
- PublicWebDavContext: - PublicWebDavContext:
- TUSContext: - TUSContext:
- SpacesTUSContext: - SpacesTUSContext:
- OcisConfigContext: - OcConfigContext:
- TrashbinContext: - TrashbinContext:
- SharingNgContext: - SharingNgContext:
@@ -153,7 +153,7 @@ default:
- FilesVersionsContext: - FilesVersionsContext:
- OCSContext: - OCSContext:
- GraphContext: - GraphContext:
- OcisConfigContext: - OcConfigContext:
- SettingsContext: - SettingsContext:
- TUSContext: - TUSContext:
- SpacesTUSContext: - SpacesTUSContext:
@@ -169,7 +169,7 @@ default:
- GraphContext: - GraphContext:
- PublicWebDavContext: - PublicWebDavContext:
- TrashbinContext: - TrashbinContext:
- OcisConfigContext: - OcConfigContext:
- SharingNgContext: - SharingNgContext:
apiAsyncUpload: apiAsyncUpload:
@@ -183,7 +183,7 @@ default:
- FilesVersionsContext: - FilesVersionsContext:
- OCSContext: - OCSContext:
- GraphContext: - GraphContext:
- OcisConfigContext: - OcConfigContext:
apiNotification: apiNotification:
paths: paths:
@@ -197,7 +197,7 @@ default:
- GraphContext: - GraphContext:
- FilesVersionsContext: - FilesVersionsContext:
- SettingsContext: - SettingsContext:
- OcisConfigContext: - OcConfigContext:
- SharingNgContext: - SharingNgContext:
- OcmContext: - OcmContext:
@@ -213,7 +213,7 @@ default:
- GraphContext: - GraphContext:
- FilesVersionsContext: - FilesVersionsContext:
- SettingsContext: - SettingsContext:
- OcisConfigContext: - OcConfigContext:
- PublicWebDavContext: - PublicWebDavContext:
- SharingNgContext: - SharingNgContext:
@@ -233,7 +233,7 @@ default:
- ChecksumContext: - ChecksumContext:
- FilesVersionsContext: - FilesVersionsContext:
- SettingsContext: - SettingsContext:
- OcisConfigContext: - OcConfigContext:
- PublicWebDavContext: - PublicWebDavContext:
- ArchiverContext: - ArchiverContext:
- SharingNgContext: - SharingNgContext:
@@ -292,7 +292,7 @@ default:
- TagContext: - TagContext:
- SpacesTUSContext: - SpacesTUSContext:
- TUSContext: - TUSContext:
- OcisConfigContext: - OcConfigContext:
- SharingNgContext: - SharingNgContext:
- WebDavPropertiesContext: - WebDavPropertiesContext:
@@ -302,7 +302,7 @@ default:
context: *common_ldap_suite_context context: *common_ldap_suite_context
contexts: contexts:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- OcisConfigContext: - OcConfigContext:
- SharingNgContext: - SharingNgContext:
apiSpacesDavOperation: apiSpacesDavOperation:
@@ -315,7 +315,7 @@ default:
- FilesVersionsContext: - FilesVersionsContext:
- SharingNgContext: - SharingNgContext:
- SettingsContext: - SettingsContext:
- OcisConfigContext: - OcConfigContext:
apiLocks: apiLocks:
paths: paths:
@@ -327,7 +327,7 @@ default:
- WebDavLockingContext: - WebDavLockingContext:
- PublicWebDavContext: - PublicWebDavContext:
- SharingNgContext: - SharingNgContext:
- OcisConfigContext: - OcConfigContext:
apiSharingNg1: apiSharingNg1:
paths: paths:
@@ -337,7 +337,7 @@ default:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- SpacesContext: - SpacesContext:
- SharingNgContext: - SharingNgContext:
- OcisConfigContext: - OcConfigContext:
- SettingsContext: - SettingsContext:
apiSharingNg2: apiSharingNg2:
@@ -348,7 +348,7 @@ default:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- SpacesContext: - SpacesContext:
- SharingNgContext: - SharingNgContext:
- OcisConfigContext: - OcConfigContext:
- SettingsContext: - SettingsContext:
apiSettings: apiSettings:
@@ -378,7 +378,7 @@ default:
- SpacesContext: - SpacesContext:
- SharingNgContext: - SharingNgContext:
- PublicWebDavContext: - PublicWebDavContext:
- OcisConfigContext: - OcConfigContext:
apiSharingNgLinkShareRoot: apiSharingNgLinkShareRoot:
paths: paths:
@@ -389,7 +389,7 @@ default:
- SpacesContext: - SpacesContext:
- SharingNgContext: - SharingNgContext:
- PublicWebDavContext: - PublicWebDavContext:
- OcisConfigContext: - OcConfigContext:
apiOcm: apiOcm:
paths: paths:
@@ -400,7 +400,7 @@ default:
- OcmContext: - OcmContext:
- SharingNgContext: - SharingNgContext:
- SpacesContext: - SpacesContext:
- OcisConfigContext: - OcConfigContext:
- NotificationContext: - NotificationContext:
- SettingsContext: - SettingsContext:
- SpacesTUSContext: - SpacesTUSContext:
@@ -431,7 +431,7 @@ default:
context: *common_ldap_suite_context context: *common_ldap_suite_context
contexts: contexts:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- OcisConfigContext: - OcConfigContext:
apiAuthApp: apiAuthApp:
paths: paths:
@@ -441,7 +441,7 @@ default:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- AuthAppContext: - AuthAppContext:
- CliContext: - CliContext:
- OcisConfigContext: - OcConfigContext:
cliCommands: cliCommands:
paths: paths:
@@ -450,7 +450,7 @@ default:
contexts: contexts:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- CliContext: - CliContext:
- OcisConfigContext: - OcConfigContext:
- FilesVersionsContext: - FilesVersionsContext:
- SharingNgContext: - SharingNgContext:
- SearchContext: - SearchContext:
@@ -528,7 +528,7 @@ default:
contexts: contexts:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- ShareesContext: - ShareesContext:
- OcisConfigContext: - OcConfigContext:
coreApiShareManagementToShares: coreApiShareManagementToShares:
paths: paths:
@@ -543,7 +543,7 @@ default:
- FilesVersionsContext: - FilesVersionsContext:
- SettingsContext: - SettingsContext:
- SharingNgContext: - SharingNgContext:
- OcisConfigContext: - OcConfigContext:
coreApiShareManagementBasicToShares: coreApiShareManagementBasicToShares:
paths: paths:
@@ -590,7 +590,7 @@ default:
- TrashbinContext: - TrashbinContext:
- SharingNgContext: - SharingNgContext:
- WebDavPropertiesContext: - WebDavPropertiesContext:
- OcisConfigContext: - OcConfigContext:
coreApiSharePublicLink2: coreApiSharePublicLink2:
paths: paths:
@@ -601,7 +601,7 @@ default:
- PublicWebDavContext: - PublicWebDavContext:
- TrashbinContext: - TrashbinContext:
- WebDavPropertiesContext: - WebDavPropertiesContext:
- OcisConfigContext: - OcConfigContext:
- SharingNgContext: - SharingNgContext:
coreApiShareUpdateToShares: coreApiShareUpdateToShares:
@@ -645,7 +645,7 @@ default:
- WebDavPropertiesContext: - WebDavPropertiesContext:
- TrashbinContext: - TrashbinContext:
- SharingNgContext: - SharingNgContext:
- OcisConfigContext: - OcConfigContext:
coreApiWebdavDelete: coreApiWebdavDelete:
paths: paths:
@@ -709,7 +709,7 @@ default:
- SharingNgContext: - SharingNgContext:
- WebDavPropertiesContext: - WebDavPropertiesContext:
- TrashbinContext: - TrashbinContext:
- OcisConfigContext: - OcConfigContext:
coreApiWebdavPreviews: coreApiWebdavPreviews:
paths: paths:
@@ -719,7 +719,7 @@ default:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- SharingNgContext: - SharingNgContext:
- WebDavPropertiesContext: - WebDavPropertiesContext:
- OcisConfigContext: - OcConfigContext:
coreApiWebdavProperties: coreApiWebdavProperties:
paths: paths:
@@ -729,7 +729,7 @@ default:
- FeatureContext: *common_feature_context_params - FeatureContext: *common_feature_context_params
- SharingNgContext: - SharingNgContext:
- WebDavPropertiesContext: - WebDavPropertiesContext:
- OcisConfigContext: - OcConfigContext:
coreApiWebdavUpload: coreApiWebdavUpload:
paths: paths:
@@ -776,7 +776,7 @@ default:
- FilesVersionsContext: - FilesVersionsContext:
- SharingNgContext: - SharingNgContext:
- WebDavPropertiesContext: - WebDavPropertiesContext:
- OcisConfigContext: - OcConfigContext:
extensions: extensions:
rdx\behatvars\BehatVariablesExtension: ~ rdx\behatvars\BehatVariablesExtension: ~
+2 -2
View File
@@ -1,9 +1,9 @@
dn: ou=TestUsers,dc=owncloud,dc=com dn: ou=TestUsers,dc=opencloud,dc=com
objectclass: top objectclass: top
objectclass: organizationalUnit objectclass: organizationalUnit
ou: TestUsers ou: TestUsers
dn: ou=TestGroups,dc=owncloud,dc=com dn: ou=TestGroups,dc=opencloud,dc=com
objectclass: top objectclass: top
objectclass: organizationalUnit objectclass: organizationalUnit
ou: TestGroups ou: TestGroups
+44 -44
View File
@@ -13,7 +13,7 @@ WHITE := $(shell tput -Txterm setaf 7)
RESET := $(shell tput -Txterm sgr0) RESET := $(shell tput -Txterm sgr0)
## default values only for sub-make calls ## default values only for sub-make calls
COMPOSE_FILE ?= src/redis.yml:src/ocis-base.yml:src/acceptance.yml COMPOSE_FILE ?= src/redis.yml:src/opencloud-base.yml:src/acceptance.yml
## user input ## user input
BEHAT_FEATURE ?= BEHAT_FEATURE ?=
@@ -26,9 +26,9 @@ else
endif endif
OC_IMAGE_TAG ?= dev OC_IMAGE_TAG ?= dev
# run tests with ociswrapper by default # run tests with ocwrapper by default
WITH_WRAPPER ?= true WITH_WRAPPER ?= true
OC_WRAPPER := ../../ociswrapper/bin/ociswrapper OC_WRAPPER := ../../ocwrapper/bin/ocwrapper
ifdef START_TIKA ifdef START_TIKA
ifeq ($(START_TIKA),true) ifeq ($(START_TIKA),true)
@@ -46,47 +46,47 @@ DIVIDE_INTO_NUM_PARTS := 10
PARTS = 1 2 3 4 5 6 7 8 9 10 PARTS = 1 2 3 4 5 6 7 8 9 10
LOCAL_API_SUITES = $(shell ls ../features | grep ^api*) LOCAL_API_SUITES = $(shell ls ../features | grep ^api*)
COMPOSE_PROJECT_NAME := ocis-acceptance-tests COMPOSE_PROJECT_NAME := opencloud-acceptance-tests
## make definition ## make definition
.PHONY: help .PHONY: help
help: help:
@echo "Please use 'make <target>' where <target> is one of the following:" @echo "Please use 'make <target>' where <target> is one of the following:"
@echo @echo
@echo -e "${PURPLE}docs: https://owncloud.dev/ocis/development/testing/#testing-with-test-suite-in-docker${RESET}\n" @echo -e "${PURPLE}docs: https://docs.opencloud.eu/opencloud/development/testing/#testing-with-test-suite-in-docker${RESET}\n"
@echo @echo
@echo -e "oCIS feature tests and test suites can be found here:" @echo -e "OpenCloud feature tests and test suites can be found here:"
@echo -e "\thttps://github.com/owncloud/ocis/tree/master/tests/acceptance/features" @echo -e "\thttps://github.com/opencloud-eu/opencloud/tree/master/tests/acceptance/features"
@echo @echo
@echo -e "test suites that test ownCloud 10 API core compatibility are found here and they start with prefix coreApi-:" @echo -e "test suites that test core compatibility are found here and they start with prefix coreApi-:"
@echo -e "\thttps://github.com/owncloud/ocis/tree/master/tests/acceptance/features" @echo -e "\thttps://github.com/opencloud-eu/opencloud/tree/master/tests/acceptance/features"
@echo @echo
@echo -e "The oCIS to be tested will be build from your current working state." @echo -e "The OpenCloud to be tested will be build from your current working state."
@echo -e "You also can select the oCIS Docker image for all tests by setting" @echo -e "You also can select the OpenCloud Docker image for all tests by setting"
@echo -e "\tmake ... ${YELLOW}OC_IMAGE_TAG=latest${RESET}" @echo -e "\tmake ... ${YELLOW}OC_IMAGE_TAG=latest${RESET}"
@echo -e "where ${YELLOW}latest${RESET} is an example for any valid Docker image tag from" @echo -e "where ${YELLOW}latest${RESET} is an example for any valid Docker image tag from"
@echo -e "https://hub.docker.com/r/owncloud/ocis." @echo -e "https://hub.docker.com/r/opencloud/opencloud."
@echo @echo
@echo -e "${GREEN}Run full oCIS test suites against oCIS with oCIS storage:${RESET}\n" @echo -e "${GREEN}Run full OpenCloud test suites with ocis storage:${RESET}\n"
@echo -e "\tmake localApiTests-apiAccountsHashDifficulty-ocis\t\t${BLUE}run apiAccountsHashDifficulty test suite, where available test suite are apiAccountsHashDifficulty apiArchiver apiContract apiGraph apiSpaces apiSpacesShares apiAsyncUpload apiCors${RESET}" @echo -e "\tmake localApiTests-apiAccountsHashDifficulty-ocis\t\t${BLUE}run apiAccountsHashDifficulty test suite, where available test suite are apiAccountsHashDifficulty apiArchiver apiContract apiGraph apiSpaces apiSpacesShares apiAsyncUpload apiCors${RESET}"
@echo @echo
@echo -e "${GREEN}Run full oCIS test suites against oCIS with s3ng storage:${RESET}\n" @echo -e "${GREEN}Run full OpenCloud test suites with s3ng storage:${RESET}\n"
@echo -e "\tmake localApiTests-apiAccountsHashDifficulty-s3ng\t\t${BLUE}run apiAccountsHashDifficulty test suite, where available test suite are apiAccountsHashDifficulty apiArchiver apiContract apiGraph apiSpaces apiSpacesShares apiAsyncUpload apiCors${RESET}" @echo -e "\tmake localApiTests-apiAccountsHashDifficulty-s3ng\t\t${BLUE}run apiAccountsHashDifficulty test suite, where available test suite are apiAccountsHashDifficulty apiArchiver apiContract apiGraph apiSpaces apiSpacesShares apiAsyncUpload apiCors${RESET}"
@echo @echo
@echo -e "${GREEN}Run full ownCloud test suites against oCIS with oCIS storage:${RESET}\n" @echo -e "${GREEN}Run full OpenCloud test suites with ocis storage:${RESET}\n"
@echo -e "\tmake Core-API-Tests-ocis-storage-${RED}X${RESET}\t\t${BLUE}run test suite number X, where ${RED}X = 1 .. 10${RESET}" @echo -e "\tmake Core-API-Tests-ocis-storage-${RED}X${RESET}\t\t${BLUE}run test suite number X, where ${RED}X = 1 .. 10${RESET}"
@echo @echo
@echo -e "${GREEN}Run full ownCloud test suites against oCIS with s3ng storage:${RESET}\n" @echo -e "${GREEN}Run full OpenCloud test suites with s3ng storage:${RESET}\n"
@echo -e "\tmake Core-API-Tests-s3ng-storage-${RED}X${RESET}\t\t${BLUE}run test suite number X, where ${RED}X = 1 .. 10${RESET}" @echo -e "\tmake Core-API-Tests-s3ng-storage-${RED}X${RESET}\t\t${BLUE}run test suite number X, where ${RED}X = 1 .. 10${RESET}"
@echo @echo
@echo -e "${GREEN}Run an oCIS feature test against oCIS with oCIS storage:${RESET}\n" @echo -e "${GREEN}Run an OpenCloud feature test with ocis storage:${RESET}\n"
@echo -e "\tmake test-ocis-feature-ocis-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}" @echo -e "\tmake test-opencloud-feature-ocis-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
@echo @echo
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition." @echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
@echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}" @echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}"
@echo @echo
@echo -e "${GREEN}Run an oCIS feature test against oCIS with s3ng storage:${RESET}\n" @echo -e "${GREEN}Run an OpenCloud feature test with s3ng storage:${RESET}\n"
@echo -e "\tmake test-ocis-feature-s3ng-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}" @echo -e "\tmake test-opencloud-feature-s3ng-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
@echo @echo
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition." @echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
@echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}" @echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}"
@@ -94,13 +94,13 @@ help:
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition." @echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
@echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}" @echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}"
@echo @echo
@echo -e "${GREEN}Run an ownCloud feature test against oCIS with oCIS storage:${RESET}\n" @echo -e "${GREEN}Run a core test against OpenCloud with ocis storage:${RESET}\n"
@echo -e "\tmake test-core-feature-ocis-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}" @echo -e "\tmake test-core-feature-ocis-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
@echo @echo
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition." @echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
@echo -e "\texample: ${RED}tests/acceptance/features/coreApiAuth/webDavAuth.feature${RESET}" @echo -e "\texample: ${RED}tests/acceptance/features/coreApiAuth/webDavAuth.feature${RESET}"
@echo @echo
@echo -e "${GREEN}Run an ownCloud feature test against oCIS with s3ng storage:${RESET}\n" @echo -e "${GREEN}Run a core test against OpenCloud with s3ng storage:${RESET}\n"
@echo -e "\tmake test-core-feature-s3ng-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}" @echo -e "\tmake test-core-feature-s3ng-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
@echo @echo
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition." @echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
@@ -119,41 +119,41 @@ help:
@echo -e "\tmake clean-docker-container\t\t${BLUE}stops and removes used docker containers${RESET}" @echo -e "\tmake clean-docker-container\t\t${BLUE}stops and removes used docker containers${RESET}"
@echo -e "\tmake clean-docker-volumes\t\t${BLUE}removes used docker volumes (used for caching)${RESET}" @echo -e "\tmake clean-docker-volumes\t\t${BLUE}removes used docker volumes (used for caching)${RESET}"
@echo @echo
.PHONY: test-ocis-feature-ocis-storage .PHONY: test-opencloud-feature-ocis-storage
test-ocis-feature-ocis-storage: ## test a ocis feature with oCIS storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature:10' test-opencloud-feature-ocis-storage: ## test a OpenCloud feature with ocis storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature:10'
@TEST_SOURCE=ocis \ @TEST_SOURCE=opencloud \
STORAGE_DRIVER=ocis \ STORAGE_DRIVER=ocis \
BEHAT_FEATURE=$(BEHAT_FEATURE) \ BEHAT_FEATURE=$(BEHAT_FEATURE) \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
.PHONY: test-ocis-feature-s3ng-storage .PHONY: test-opencloud-feature-s3ng-storage
test-ocis-feature-s3ng-storage: ## test a ocis feature with s3ng storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature:10' test-opencloud-feature-s3ng-storage: ## test a OpenCloud feature with s3ng storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature:10'
@TEST_SOURCE=ocis \ @TEST_SOURCE=opencloud \
STORAGE_DRIVER=s3ng \ STORAGE_DRIVER=s3ng \
BEHAT_FEATURE=$(BEHAT_FEATURE) \ BEHAT_FEATURE=$(BEHAT_FEATURE) \
START_CEPH=1 \ START_CEPH=1 \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
.PHONY: test-core-feature-ocis-storage .PHONY: test-core-feature-ocis-storage
test-core-feature-ocis-storage: ## test a core feature with oCIS storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/coreApiAuth/webDavAuth.feature' test-core-feature-ocis-storage: ## test a core feature with ocis storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/coreApiAuth/webDavAuth.feature'
@TEST_SOURCE=oc10 \ @TEST_SOURCE=core \
STORAGE_DRIVER=ocis \ STORAGE_DRIVER=ocis \
BEHAT_FEATURE=$(BEHAT_FEATURE) \ BEHAT_FEATURE=$(BEHAT_FEATURE) \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
.PHONY: test-core-feature-s3ng-storage .PHONY: test-core-feature-s3ng-storage
test-core-feature-s3ng-storage: ## test a core feature with s3ng storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/coreApiAuth/webDavAuth.feature' test-core-feature-s3ng-storage: ## test a core feature with s3ng storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/coreApiAuth/webDavAuth.feature'
@TEST_SOURCE=oc10 \ @TEST_SOURCE=core \
STORAGE_DRIVER=s3ng \ STORAGE_DRIVER=s3ng \
BEHAT_FEATURE=$(BEHAT_FEATURE) \ BEHAT_FEATURE=$(BEHAT_FEATURE) \
START_CEPH=1 \ START_CEPH=1 \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
localSuiteOcis = $(addprefix localApiTests-, $(addsuffix -ocis,${LOCAL_API_SUITES})) localSuiteOpencloud = $(addprefix localApiTests-, $(addsuffix -ocis,${LOCAL_API_SUITES}))
.PHONY: $(localSuiteOcis) .PHONY: $(localSuiteOpencloud)
$(localSuiteOcis): ## run local api test suite with ocis storage $(localSuiteOpencloud): ## run local api test suite with ocis storage
@$(eval BEHAT_SUITE=$(shell echo "$@" | cut -d'-' -f2)) @$(eval BEHAT_SUITE=$(shell echo "$@" | cut -d'-' -f2))
@TEST_SOURCE=ocis \ @TEST_SOURCE=opencloud \
STORAGE_DRIVER=ocis \ STORAGE_DRIVER=ocis \
BEHAT_SUITE=$(BEHAT_SUITE) \ BEHAT_SUITE=$(BEHAT_SUITE) \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
@@ -162,16 +162,16 @@ localSuites3ng = $(addprefix localApiTests-, $(addsuffix -s3ng,${LOCAL_API_SUITE
.PHONY: $(localSuites3ng) .PHONY: $(localSuites3ng)
$(localSuites3ng): ## run local api test suite with s3 storage $(localSuites3ng): ## run local api test suite with s3 storage
@$(eval BEHAT_SUITE=$(shell echo "$@" | cut -d'-' -f2)) @$(eval BEHAT_SUITE=$(shell echo "$@" | cut -d'-' -f2))
@TEST_SOURCE=ocis \ @TEST_SOURCE=opencloud \
STORAGE_DRIVER=s3ng \ STORAGE_DRIVER=s3ng \
BEHAT_SUITE=$(BEHAT_SUITE) \ BEHAT_SUITE=$(BEHAT_SUITE) \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
targetsOCIS = $(addprefix Core-API-Tests-ocis-storage-,$(PARTS)) targetsOC = $(addprefix Core-API-Tests-ocis-storage-,$(PARTS))
.PHONY: $(targetsOCIS) .PHONY: $(targetsOC)
$(targetsOCIS): $(targetsOC):
@$(eval RUN_PART=$(shell echo "$@" | tr -dc '0-9')) @$(eval RUN_PART=$(shell echo "$@" | tr -dc '0-9'))
@TEST_SOURCE=oc10 \ @TEST_SOURCE=core \
STORAGE_DRIVER=ocis \ STORAGE_DRIVER=ocis \
RUN_PART=$(RUN_PART) \ RUN_PART=$(RUN_PART) \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
@@ -180,7 +180,7 @@ targetsS3ng = $(addprefix Core-API-Tests-s3ng-storage-,$(PARTS))
.PHONY: $(targetsS3ng) .PHONY: $(targetsS3ng)
$(targets): $(targets):
@$(eval RUN_PART=$(shell echo "$@" | tr -dc '0-9')) @$(eval RUN_PART=$(shell echo "$@" | tr -dc '0-9'))
@TEST_SOURCE=oc10 \ @TEST_SOURCE=core \
STORAGE_DRIVER=s3ng \ STORAGE_DRIVER=s3ng \
RUN_PART=$(RUN_PART) \ RUN_PART=$(RUN_PART) \
$(MAKE) --no-print-directory testSuite $(MAKE) --no-print-directory testSuite
@@ -231,18 +231,18 @@ show-test-logs: ## show logs of test
$(OC_WRAPPER): $(OC_WRAPPER):
@if [ "$(WITH_WRAPPER)" == "true" ]; then \ @if [ "$(WITH_WRAPPER)" == "true" ]; then \
$(MAKE) --no-print-directory -C ../../ociswrapper build \ $(MAKE) --no-print-directory -C ../../ocwrapper build \
; fi; ; fi;
.PHONY: build-dev-image .PHONY: build-dev-image
build-dev-image: build-dev-image:
@if [ $(BUILD_DEV_IMAGE) -eq 1 ]; then \ @if [ $(BUILD_DEV_IMAGE) -eq 1 ]; then \
$(MAKE) --no-print-directory -C ../../../ocis dev-docker \ $(MAKE) --no-print-directory -C ../../../opencloud dev-docker \
; fi; ; fi;
.PHONY: clean-dev-docker-image .PHONY: clean-dev-docker-image
clean-dev-docker-image: ## clean docker image built during acceptance tests clean-dev-docker-image: ## clean docker image built during acceptance tests
@docker image rm owncloud/ocis:dev || true @docker image rm opencloud/opencloud:dev || true
.PHONY: clean-docker-container .PHONY: clean-docker-container
clean-docker-container: ## clean docker containers created during acceptance tests clean-docker-container: ## clean docker containers created during acceptance tests
+2 -2
View File
@@ -5,8 +5,8 @@ services:
command: /bin/bash /test/run-tests.sh command: /bin/bash /test/run-tests.sh
environment: environment:
OC_ROOT: /drone/src OC_ROOT: /drone/src
TEST_SERVER_URL: https://ocis-server:9200 TEST_SERVER_URL: https://opencloud-server:9200
OC_WRAPPER_URL: http://ocis-server:5200 OC_WRAPPER_URL: http://opencloud-server:5200
STORAGE_DRIVER: $STORAGE_DRIVER STORAGE_DRIVER: $STORAGE_DRIVER
TEST_SOURCE: $TEST_SOURCE TEST_SOURCE: $TEST_SOURCE
BEHAT_SUITE: ${BEHAT_SUITE:-} BEHAT_SUITE: ${BEHAT_SUITE:-}
@@ -1,13 +0,0 @@
# custom Dockerfile required to run ociswrapper command
# mounting 'ociswrapper' binary doesn't work with image 'amd64/alpine:3.17' (busybox based)
ARG OC_IMAGE_TAG
FROM owncloud/ocis:${OC_IMAGE_TAG} as ocis
FROM ubuntu:22.04
COPY --from=ocis /usr/bin/ocis /usr/bin/ocis
COPY ["./serve-ocis.sh", "/usr/bin/serve-ocis"]
RUN chmod +x /usr/bin/serve-ocis
ENTRYPOINT [ "serve-ocis" ]
@@ -1,21 +1,21 @@
services: services:
ocis-server: opencloud-server:
build: build:
dockerfile: ocis.Dockerfile dockerfile: opencloud.Dockerfile
context: ./ context: ./
args: args:
OC_IMAGE_TAG: $OC_IMAGE_TAG OC_IMAGE_TAG: $OC_IMAGE_TAG
user: root user: root
environment: environment:
WITH_WRAPPER: $WITH_WRAPPER WITH_WRAPPER: $WITH_WRAPPER
OC_URL: "https://ocis-server:9200" OC_URL: "https://opencloud-server:9200"
STORAGE_USERS_DRIVER: $STORAGE_DRIVER STORAGE_USERS_DRIVER: $STORAGE_DRIVER
STORAGE_USERS_DRIVER_LOCAL_ROOT: /srv/app/tmp/ocis/local/root STORAGE_USERS_DRIVER_LOCAL_ROOT: /srv/app/tmp/opencloud/local/root
STORAGE_USERS_DRIVER_OC_ROOT: /srv/app/tmp/ocis/storage/users STORAGE_USERS_DRIVER_OC_ROOT: /srv/app/tmp/opencloud/storage/users
STORAGE_SYSTEM_DRIVER_OC_ROOT: /srv/app/tmp/ocis/storage/metadata STORAGE_SYSTEM_DRIVER_OC_ROOT: /srv/app/tmp/opencloud/storage/metadata
SHARING_USER_JSON_FILE: /srv/app/tmp/ocis/shares.json SHARING_USER_JSON_FILE: /srv/app/tmp/opencloud/shares.json
PROXY_ENABLE_BASIC_AUTH: "true" PROXY_ENABLE_BASIC_AUTH: "true"
WEB_UI_CONFIG_FILE: /drone/src/tests/config/drone/ocis-config.json WEB_UI_CONFIG_FILE: /drone/src/tests/config/drone/opencloud-config.json
ACCOUNTS_HASH_DIFFICULTY: 4 ACCOUNTS_HASH_DIFFICULTY: 4
OC_INSECURE: "true" OC_INSECURE: "true"
IDM_CREATE_DEMO_USERS: "true" IDM_CREATE_DEMO_USERS: "true"
@@ -34,7 +34,7 @@ services:
NOTIFICATIONS_SMTP_HOST: email NOTIFICATIONS_SMTP_HOST: email
NOTIFICATIONS_SMTP_PORT: 2500 NOTIFICATIONS_SMTP_PORT: 2500
NOTIFICATIONS_SMTP_INSECURE: "true" NOTIFICATIONS_SMTP_INSECURE: "true"
NOTIFICATIONS_SMTP_SENDER: "owncloud <noreply@example.com>" NOTIFICATIONS_SMTP_SENDER: "opencloud <noreply@example.com>"
# antivirus # antivirus
ANTIVIRUS_SCANNER_TYPE: "clamav" ANTIVIRUS_SCANNER_TYPE: "clamav"
@@ -52,4 +52,4 @@ services:
THUMBNAILS_TXT_FONTMAP_FILE: "/drone/src/tests/config/drone/fontsMap.json" THUMBNAILS_TXT_FONTMAP_FILE: "/drone/src/tests/config/drone/fontsMap.json"
volumes: volumes:
- ../../../config:/drone/src/tests/config - ../../../config:/drone/src/tests/config
- ../../../ociswrapper/bin/ociswrapper:/usr/bin/ociswrapper - ../../../ocwrapper/bin/ocwrapper:/usr/bin/ocwrapper
@@ -0,0 +1,13 @@
# custom Dockerfile required to run ocwrapper command
# mounting 'ocwrapper' binary doesn't work with image 'amd64/alpine:3.17' (busybox based)
ARG OC_IMAGE_TAG
FROM opencloud-eu/opencloud:${OC_IMAGE_TAG} as opencloud
FROM ubuntu:22.04
COPY --from=opencloud /usr/bin/opencloud /usr/bin/opencloud
COPY ["./serve-opencloud.sh", "/usr/bin/serve-opencloud"]
RUN chmod +x /usr/bin/serve-opencloud
ENTRYPOINT [ "serve-opencloud" ]
+6 -6
View File
@@ -7,14 +7,14 @@ git config --global advice.detachedHead false
## CONFIGURE TEST ## CONFIGURE TEST
if [ "$TEST_SOURCE" = "oc10" ]; then if [ "$TEST_SOURCE" = "core" ]; then
export ACCEPTANCE_TEST_TYPE='core-api' export ACCEPTANCE_TEST_TYPE='core-api'
if [ "$STORAGE_DRIVER" = "ocis" ]; then if [ "$STORAGE_DRIVER" = "ocis" ]; then
export OC_REVA_DATA_ROOT='' export OC_REVA_DATA_ROOT=''
export BEHAT_FILTER_TAGS='~@skipOnOcis-OCIS-Storage' export BEHAT_FILTER_TAGS='~@skipOnOpencloud-OCIS-Storage'
export EXPECTED_FAILURES_FILE='/drone/src/tests/acceptance/expected-failures-API-on-OCIS-storage.md' export EXPECTED_FAILURES_FILE='/drone/src/tests/acceptance/expected-failures-API-on-OCIS-storage.md'
elif [ "$STORAGE_DRIVER" = "s3ng" ]; then elif [ "$STORAGE_DRIVER" = "s3ng" ]; then
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOcis-S3NG-Storage' export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-S3NG-Storage'
export OC_REVA_DATA_ROOT='' export OC_REVA_DATA_ROOT=''
else else
echo "non existing STORAGE selected" echo "non existing STORAGE selected"
@@ -23,12 +23,12 @@ if [ "$TEST_SOURCE" = "oc10" ]; then
unset BEHAT_SUITE unset BEHAT_SUITE
elif [ "$TEST_SOURCE" = "ocis" ]; then elif [ "$TEST_SOURCE" = "opencloud" ]; then
if [ "$STORAGE_DRIVER" = "ocis" ]; then if [ "$STORAGE_DRIVER" = "ocis" ]; then
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOcis-OCIS-Storage' export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-OCIS-Storage'
export OC_REVA_DATA_ROOT='' export OC_REVA_DATA_ROOT=''
elif [ "$STORAGE_DRIVER" = "s3ng" ]; then elif [ "$STORAGE_DRIVER" = "s3ng" ]; then
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOcis-S3NG-Storage' export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-S3NG-Storage'
export OC_REVA_DATA_ROOT='' export OC_REVA_DATA_ROOT=''
else else
echo "non existing storage selected" echo "non existing storage selected"
-11
View File
@@ -1,11 +0,0 @@
#!/bin/sh
set -e
# init ocis
ocis init
if [ "$WITH_WRAPPER" = "true" ]; then
ociswrapper serve --bin=ocis
else
ocis server
fi
@@ -0,0 +1,11 @@
#!/bin/sh
set -e
# init OpenCloud
opencloud init
if [ "$WITH_WRAPPER" = "true" ]; then
ocwrapper serve --bin=opencloud
else
oc server
fi
@@ -1,6 +1,6 @@
## Scenarios from ownCloud10 core API tests that are expected to fail with OCIS storage while running with the Graph API ## Scenarios from core API tests that are expected to fail with ocis storage while running with the Graph API
The expected failures in this file are from features in the owncloud/ocis repo. The expected failures in this file are from features in the opencloud-eu/opencloud repo.
### File ### File
@@ -10,23 +10,23 @@ Basic file management like up and download, move, copy, properties, trash, versi
_ocdav: double-check the webdav property parsing when custom namespaces are used_ _ocdav: double-check the webdav property parsing when custom namespaces are used_
- [coreApiWebdavProperties/setFileProperties.feature:128](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/setFileProperties.feature#L128) - [coreApiWebdavProperties/setFileProperties.feature:128](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/setFileProperties.feature#L128)
- [coreApiWebdavProperties/setFileProperties.feature:129](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/setFileProperties.feature#L129) - [coreApiWebdavProperties/setFileProperties.feature:129](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/setFileProperties.feature#L129)
- [coreApiWebdavProperties/setFileProperties.feature:130](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/setFileProperties.feature#L130) - [coreApiWebdavProperties/setFileProperties.feature:130](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/setFileProperties.feature#L130)
#### [file versions do not report the version author](https://github.com/owncloud/ocis/issues/2914) #### [file versions do not report the version author](https://github.com/owncloud/ocis/issues/2914)
- [coreApiVersions/fileVersionAuthor.feature:14](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L14) - [coreApiVersions/fileVersionAuthor.feature:14](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L14)
- [coreApiVersions/fileVersionAuthor.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L60) - [coreApiVersions/fileVersionAuthor.feature:60](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L60)
- [coreApiVersions/fileVersionAuthor.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L92) - [coreApiVersions/fileVersionAuthor.feature:92](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L92)
- [coreApiVersions/fileVersionAuthor.feature:123](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L123) - [coreApiVersions/fileVersionAuthor.feature:123](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L123)
- [coreApiVersions/fileVersionAuthor.feature:161](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L161) - [coreApiVersions/fileVersionAuthor.feature:161](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L161)
- [coreApiVersions/fileVersionAuthor.feature:193](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L193) - [coreApiVersions/fileVersionAuthor.feature:193](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L193)
- [coreApiVersions/fileVersionAuthor.feature:229](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L229) - [coreApiVersions/fileVersionAuthor.feature:229](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L229)
- [coreApiVersions/fileVersionAuthor.feature:274](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L274) - [coreApiVersions/fileVersionAuthor.feature:274](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L274)
- [coreApiVersions/fileVersionAuthor.feature:356](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L356) - [coreApiVersions/fileVersionAuthor.feature:356](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L356)
- [coreApiVersions/fileVersionAuthor.feature:435](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L435) - [coreApiVersions/fileVersionAuthor.feature:435](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L435)
- [coreApiVersions/fileVersionAuthor.feature:466](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L466) - [coreApiVersions/fileVersionAuthor.feature:466](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L466)
### Sync ### Sync
@@ -34,34 +34,34 @@ Synchronization features like etag propagation, setting mtime and locking files
#### [Uploading an old method chunked file with checksum should fail using new DAV path](https://github.com/owncloud/ocis/issues/2323) #### [Uploading an old method chunked file with checksum should fail using new DAV path](https://github.com/owncloud/ocis/issues/2323)
- [coreApiMain/checksums.feature:233](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L233) - [coreApiMain/checksums.feature:233](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L233)
- [coreApiMain/checksums.feature:234](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L234) - [coreApiMain/checksums.feature:234](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L234)
- [coreApiMain/checksums.feature:235](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L235) - [coreApiMain/checksums.feature:235](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L235)
### Share ### Share
#### [d:quota-available-bytes in dprop of PROPFIND give wrong response value](https://github.com/owncloud/ocis/issues/8197) #### [d:quota-available-bytes in dprop of PROPFIND give wrong response value](https://github.com/owncloud/ocis/issues/8197)
- [coreApiWebdavProperties/getQuota.feature:57](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L57) - [coreApiWebdavProperties/getQuota.feature:57](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L57)
- [coreApiWebdavProperties/getQuota.feature:58](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L58) - [coreApiWebdavProperties/getQuota.feature:58](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L58)
- [coreApiWebdavProperties/getQuota.feature:59](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L59) - [coreApiWebdavProperties/getQuota.feature:59](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L59)
- [coreApiWebdavProperties/getQuota.feature:73](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L73) - [coreApiWebdavProperties/getQuota.feature:73](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L73)
- [coreApiWebdavProperties/getQuota.feature:74](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L74) - [coreApiWebdavProperties/getQuota.feature:74](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L74)
- [coreApiWebdavProperties/getQuota.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L75) - [coreApiWebdavProperties/getQuota.feature:75](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/getQuota.feature#L75)
#### [deleting a file inside a received shared folder is moved to the trash-bin of the sharer not the receiver](https://github.com/owncloud/ocis/issues/1124) #### [deleting a file inside a received shared folder is moved to the trash-bin of the sharer not the receiver](https://github.com/owncloud/ocis/issues/1124)
- [coreApiTrashbin/trashbinSharingToShares.feature:54](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L54) - [coreApiTrashbin/trashbinSharingToShares.feature:54](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L54)
- [coreApiTrashbin/trashbinSharingToShares.feature:55](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L55) - [coreApiTrashbin/trashbinSharingToShares.feature:55](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L55)
- [coreApiTrashbin/trashbinSharingToShares.feature:56](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L56) - [coreApiTrashbin/trashbinSharingToShares.feature:56](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L56)
- [coreApiTrashbin/trashbinSharingToShares.feature:83](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L83) - [coreApiTrashbin/trashbinSharingToShares.feature:83](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L83)
- [coreApiTrashbin/trashbinSharingToShares.feature:84](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L84) - [coreApiTrashbin/trashbinSharingToShares.feature:84](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L84)
- [coreApiTrashbin/trashbinSharingToShares.feature:85](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L85) - [coreApiTrashbin/trashbinSharingToShares.feature:85](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L85)
- [coreApiTrashbin/trashbinSharingToShares.feature:142](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L142) - [coreApiTrashbin/trashbinSharingToShares.feature:142](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L142)
- [coreApiTrashbin/trashbinSharingToShares.feature:143](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L143) - [coreApiTrashbin/trashbinSharingToShares.feature:143](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L143)
- [coreApiTrashbin/trashbinSharingToShares.feature:144](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L144) - [coreApiTrashbin/trashbinSharingToShares.feature:144](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L144)
- [coreApiTrashbin/trashbinSharingToShares.feature:202](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L202) - [coreApiTrashbin/trashbinSharingToShares.feature:202](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L202)
- [coreApiTrashbin/trashbinSharingToShares.feature:203](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L203) - [coreApiTrashbin/trashbinSharingToShares.feature:203](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L203)
### Other ### Other
@@ -71,144 +71,143 @@ API, search, favorites, config, capabilities, not existing endpoints, CORS and o
_ocdav: api compatibility, return correct status code_ _ocdav: api compatibility, return correct status code_
- [coreApiAuth/webDavMKCOLAuth.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiAuth/webDavMKCOLAuth.feature#L42) - [coreApiAuth/webDavMKCOLAuth.feature:42](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiAuth/webDavMKCOLAuth.feature#L42)
- [coreApiAuth/webDavMKCOLAuth.feature:53](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiAuth/webDavMKCOLAuth.feature#L53) - [coreApiAuth/webDavMKCOLAuth.feature:53](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiAuth/webDavMKCOLAuth.feature#L53)
#### [trying to lock file of another user gives http 500](https://github.com/owncloud/ocis/issues/2176) #### [trying to lock file of another user gives http 500](https://github.com/owncloud/ocis/issues/2176)
- [coreApiAuth/webDavLOCKAuth.feature:46](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiAuth/webDavLOCKAuth.feature#L46) - [coreApiAuth/webDavLOCKAuth.feature:46](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiAuth/webDavLOCKAuth.feature#L46)
- [coreApiAuth/webDavLOCKAuth.feature:58](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiAuth/webDavLOCKAuth.feature#L58) - [coreApiAuth/webDavLOCKAuth.feature:58](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiAuth/webDavLOCKAuth.feature#L58)
#### [Missing properties in REPORT response](https://github.com/owncloud/ocis/issues/9780), [d:getetag property has empty value in REPORT response](https://github.com/owncloud/ocis/issues/9783) #### [Missing properties in REPORT response](https://github.com/owncloud/ocis/issues/9780), [d:getetag property has empty value in REPORT response](https://github.com/opencloud-eu/opencloud/issues/9783)
- [coreApiWebdavOperations/search.feature:180](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L180) - [coreApiWebdavOperations/search.feature:180](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L180)
- [coreApiWebdavOperations/search.feature:181](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L181) - [coreApiWebdavOperations/search.feature:181](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L181)
- [coreApiWebdavOperations/search.feature:182](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L182) - [coreApiWebdavOperations/search.feature:182](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L182)
- [coreApiWebdavOperations/search.feature:208](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L208) - [coreApiWebdavOperations/search.feature:208](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L208)
- [coreApiWebdavOperations/search.feature:209](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L209) - [coreApiWebdavOperations/search.feature:209](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L209)
- [coreApiWebdavOperations/search.feature:210](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L210) - [coreApiWebdavOperations/search.feature:210](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L210)
#### [Support for favorites](https://github.com/owncloud/ocis/issues/1228) #### [Support for favorites](https://github.com/owncloud/ocis/issues/1228)
- [coreApiFavorites/favorites.feature:101](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L101) - [coreApiFavorites/favorites.feature:101](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L101)
- [coreApiFavorites/favorites.feature:102](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L102) - [coreApiFavorites/favorites.feature:102](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L102)
- [coreApiFavorites/favorites.feature:103](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L103) - [coreApiFavorites/favorites.feature:103](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L103)
- [coreApiFavorites/favorites.feature:124](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L124) - [coreApiFavorites/favorites.feature:124](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L124)
- [coreApiFavorites/favorites.feature:125](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L125) - [coreApiFavorites/favorites.feature:125](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L125)
- [coreApiFavorites/favorites.feature:126](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L126) - [coreApiFavorites/favorites.feature:126](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L126)
- [coreApiFavorites/favorites.feature:189](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L189) - [coreApiFavorites/favorites.feature:189](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L189)
- [coreApiFavorites/favorites.feature:190](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L190) - [coreApiFavorites/favorites.feature:190](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L190)
- [coreApiFavorites/favorites.feature:191](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L191) - [coreApiFavorites/favorites.feature:191](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L191)
- [coreApiFavorites/favorites.feature:145](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L145) - [coreApiFavorites/favorites.feature:145](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L145)
- [coreApiFavorites/favorites.feature:146](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L146) - [coreApiFavorites/favorites.feature:146](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L146)
- [coreApiFavorites/favorites.feature:147](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L147) - [coreApiFavorites/favorites.feature:147](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L147)
- [coreApiFavorites/favorites.feature:174](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L174) - [coreApiFavorites/favorites.feature:174](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L174)
- [coreApiFavorites/favorites.feature:175](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L175) - [coreApiFavorites/favorites.feature:175](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L175)
- [coreApiFavorites/favorites.feature:176](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L176) - [coreApiFavorites/favorites.feature:176](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L176)
- [coreApiFavorites/favoritesSharingToShares.feature:91](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L91) - [coreApiFavorites/favoritesSharingToShares.feature:91](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L91)
- [coreApiFavorites/favoritesSharingToShares.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L92) - [coreApiFavorites/favoritesSharingToShares.feature:92](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L92)
- [coreApiFavorites/favoritesSharingToShares.feature:93](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L93) - [coreApiFavorites/favoritesSharingToShares.feature:93](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L93)
#### [WWW-Authenticate header for unauthenticated requests is not clear](https://github.com/owncloud/ocis/issues/2285) #### [WWW-Authenticate header for unauthenticated requests is not clear](https://github.com/owncloud/ocis/issues/2285)
- [coreApiWebdavOperations/refuseAccess.feature:21](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/refuseAccess.feature#L21) - [coreApiWebdavOperations/refuseAccess.feature:21](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/refuseAccess.feature#L21)
- [coreApiWebdavOperations/refuseAccess.feature:22](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/refuseAccess.feature#L22) - [coreApiWebdavOperations/refuseAccess.feature:22](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/refuseAccess.feature#L22)
#### [PATCH request for TUS upload with wrong checksum gives incorrect response](https://github.com/owncloud/ocis/issues/1755) #### [PATCH request for TUS upload with wrong checksum gives incorrect response](https://github.com/owncloud/ocis/issues/1755)
- [coreApiWebdavUploadTUS/checksums.feature:74](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L74) - [coreApiWebdavUploadTUS/checksums.feature:74](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L74)
- [coreApiWebdavUploadTUS/checksums.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L75) - [coreApiWebdavUploadTUS/checksums.feature:75](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L75)
- [coreApiWebdavUploadTUS/checksums.feature:76](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L76) - [coreApiWebdavUploadTUS/checksums.feature:76](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L76)
- [coreApiWebdavUploadTUS/checksums.feature:77](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L77) - [coreApiWebdavUploadTUS/checksums.feature:77](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L77)
- [coreApiWebdavUploadTUS/checksums.feature:79](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L79) - [coreApiWebdavUploadTUS/checksums.feature:79](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L79)
- [coreApiWebdavUploadTUS/checksums.feature:78](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L78) - [coreApiWebdavUploadTUS/checksums.feature:78](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L78)
- [coreApiWebdavUploadTUS/checksums.feature:147](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L147) - [coreApiWebdavUploadTUS/checksums.feature:147](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L147)
- [coreApiWebdavUploadTUS/checksums.feature:148](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L148) - [coreApiWebdavUploadTUS/checksums.feature:148](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L148)
- [coreApiWebdavUploadTUS/checksums.feature:149](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L149) - [coreApiWebdavUploadTUS/checksums.feature:149](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L149)
- [coreApiWebdavUploadTUS/checksums.feature:192](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L192) - [coreApiWebdavUploadTUS/checksums.feature:192](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L192)
- [coreApiWebdavUploadTUS/checksums.feature:193](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L193) - [coreApiWebdavUploadTUS/checksums.feature:193](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L193)
- [coreApiWebdavUploadTUS/checksums.feature:194](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L194) - [coreApiWebdavUploadTUS/checksums.feature:194](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L194)
- [coreApiWebdavUploadTUS/checksums.feature:195](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L195) - [coreApiWebdavUploadTUS/checksums.feature:195](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L195)
- [coreApiWebdavUploadTUS/checksums.feature:196](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L196) - [coreApiWebdavUploadTUS/checksums.feature:196](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L196)
- [coreApiWebdavUploadTUS/checksums.feature:197](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L197) - [coreApiWebdavUploadTUS/checksums.feature:197](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L197)
- [coreApiWebdavUploadTUS/checksums.feature:240](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L240) - [coreApiWebdavUploadTUS/checksums.feature:240](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L240)
- [coreApiWebdavUploadTUS/checksums.feature:241](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L241) - [coreApiWebdavUploadTUS/checksums.feature:241](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L241)
- [coreApiWebdavUploadTUS/checksums.feature:242](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L242) - [coreApiWebdavUploadTUS/checksums.feature:242](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L242)
- [coreApiWebdavUploadTUS/checksums.feature:243](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L243) - [coreApiWebdavUploadTUS/checksums.feature:243](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L243)
- [coreApiWebdavUploadTUS/checksums.feature:244](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L244) - [coreApiWebdavUploadTUS/checksums.feature:244](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L244)
- [coreApiWebdavUploadTUS/checksums.feature:245](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L245) - [coreApiWebdavUploadTUS/checksums.feature:245](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L245)
- [coreApiWebdavUploadTUS/uploadToShare.feature:255](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L255) - [coreApiWebdavUploadTUS/uploadToShare.feature:255](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L255)
- [coreApiWebdavUploadTUS/uploadToShare.feature:256](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L256) - [coreApiWebdavUploadTUS/uploadToShare.feature:256](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L256)
- [coreApiWebdavUploadTUS/uploadToShare.feature:279](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L279) - [coreApiWebdavUploadTUS/uploadToShare.feature:279](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L279)
- [coreApiWebdavUploadTUS/uploadToShare.feature:280](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L280) - [coreApiWebdavUploadTUS/uploadToShare.feature:280](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L280)
- [coreApiWebdavUploadTUS/uploadToShare.feature:375](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L375) - [coreApiWebdavUploadTUS/uploadToShare.feature:375](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L375)
- [coreApiWebdavUploadTUS/uploadToShare.feature:376](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L376) - [coreApiWebdavUploadTUS/uploadToShare.feature:376](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L376)
#### [Renaming resource to banned name is allowed in spaces webdav](https://github.com/owncloud/ocis/issues/3099) #### [Renaming resource to banned name is allowed in spaces webdav](https://github.com/owncloud/ocis/issues/3099)
- [coreApiWebdavMove2/moveFile.feature:143](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L143) - [coreApiWebdavMove2/moveFile.feature:143](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L143)
- [coreApiWebdavMove1/moveFolder.feature:36](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L36) - [coreApiWebdavMove1/moveFolder.feature:36](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L36)
- [coreApiWebdavMove1/moveFolder.feature:50](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L50) - [coreApiWebdavMove1/moveFolder.feature:50](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L50)
- [coreApiWebdavMove1/moveFolder.feature:64](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L64) - [coreApiWebdavMove1/moveFolder.feature:64](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L64)
#### [Trying to delete other user's trashbin item returns 409 for spaces path instead of 404](https://github.com/owncloud/ocis/issues/9791) #### [Trying to delete other user's trashbin item returns 409 for spaces path instead of 404](https://github.com/owncloud/ocis/issues/9791)
- [coreApiTrashbin/trashbinDelete.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinDelete.feature#L92) - [coreApiTrashbin/trashbinDelete.feature:92](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinDelete.feature#L92)
#### [MOVE a file into same folder with same name returns 404 instead of 403](https://github.com/owncloud/ocis/issues/1976) #### [MOVE a file into same folder with same name returns 404 instead of 403](https://github.com/owncloud/ocis/issues/1976)
- [coreApiWebdavMove2/moveFile.feature:100](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L100) - [coreApiWebdavMove2/moveFile.feature:100](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L100)
- [coreApiWebdavMove2/moveFile.feature:101](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L101) - [coreApiWebdavMove2/moveFile.feature:101](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L101)
- [coreApiWebdavMove2/moveFile.feature:102](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L102) - [coreApiWebdavMove2/moveFile.feature:102](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L102)
- [coreApiWebdavMove1/moveFolder.feature:217](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L217) - [coreApiWebdavMove1/moveFolder.feature:217](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L217)
- [coreApiWebdavMove1/moveFolder.feature:218](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L218) - [coreApiWebdavMove1/moveFolder.feature:218](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L218)
- [coreApiWebdavMove1/moveFolder.feature:219](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L219) - [coreApiWebdavMove1/moveFolder.feature:219](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L219)
- [coreApiWebdavMove2/moveShareOnOcis.feature:334](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L334) - [coreApiWebdavMove2/moveShareOnOpencloud.feature:334](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOpenCloud.feature#L334)
- [coreApiWebdavMove2/moveShareOnOcis.feature:337](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L337) - [coreApiWebdavMove2/moveShareOnOpenCloud.feature:337](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOpenCloud.feature#L337)
- [coreApiWebdavMove2/moveShareOnOcis.feature:340](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L340) - [coreApiWebdavMove2/moveShareOnOpencloud.feature:340](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOpenCloud.feature#L340)
#### [COPY file/folder to same name is possible (but 500 code error for folder with spaces path)](https://github.com/owncloud/ocis/issues/8711) #### [COPY file/folder to same name is possible (but 500 code error for folder with spaces path)](https://github.com/owncloud/ocis/issues/8711)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:198](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L198) - [coreApiSharePublicLink2/copyFromPublicLink.feature:198](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L198)
- [coreApiWebdavProperties/copyFile.feature:1094](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1094) - [coreApiWebdavProperties/copyFile.feature:1094](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1094)
- [coreApiWebdavProperties/copyFile.feature:1095](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1095) - [coreApiWebdavProperties/copyFile.feature:1095](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1095)
- [coreApiWebdavProperties/copyFile.feature:1096](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1096) - [coreApiWebdavProperties/copyFile.feature:1096](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1096)
#### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060) #### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060)
- [coreApiWebdavOperations/search.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L42) - [coreApiWebdavOperations/search.feature:42](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L42)
- [coreApiWebdavOperations/search.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L43) - [coreApiWebdavOperations/search.feature:43](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L43)
- [coreApiWebdavOperations/search.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L60) - [coreApiWebdavOperations/search.feature:60](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L60)
- [coreApiWebdavOperations/search.feature:61](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L61) - [coreApiWebdavOperations/search.feature:61](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L61)
- [coreApiWebdavOperations/search.feature:79](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L79) - [coreApiWebdavOperations/search.feature:79](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L79)
- [coreApiWebdavOperations/search.feature:80](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L80) - [coreApiWebdavOperations/search.feature:80](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L80)
- [coreApiWebdavOperations/search.feature:110](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L110) - [coreApiWebdavOperations/search.feature:110](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L110)
- [coreApiWebdavOperations/search.feature:111](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L111) - [coreApiWebdavOperations/search.feature:111](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L111)
- [coreApiWebdavOperations/search.feature:130](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L130) - [coreApiWebdavOperations/search.feature:130](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L130)
- [coreApiWebdavOperations/search.feature:131](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L131) - [coreApiWebdavOperations/search.feature:131](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L131)
- [coreApiWebdavOperations/search.feature:151](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L151) - [coreApiWebdavOperations/search.feature:151](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L151)
- [coreApiWebdavOperations/search.feature:152](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L152) - [coreApiWebdavOperations/search.feature:152](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L152)
- [coreApiWebdavOperations/search.feature:229](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L229) - [coreApiWebdavOperations/search.feature:229](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L229)
- [coreApiWebdavOperations/search.feature:230](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L230) - [coreApiWebdavOperations/search.feature:230](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L230)
#### [Trying to restore personal file to file of share received folder returns 403 but the share file is deleted (new dav path)](https://github.com/owncloud/ocis/issues/10356) #### [Trying to restore personal file to file of share received folder returns 403 but the share file is deleted (new dav path)](https://github.com/owncloud/ocis/issues/10356)
- [coreApiTrashbin/trashbinSharingToShares.feature:277](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L277) - [coreApiTrashbin/trashbinSharingToShares.feature:277](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L277)
#### [Uploading with the same mtime and filename causes "internal server errors"](https://github.com/owncloud/ocis/issues/10496) #### [Uploading with the same mtime and filename causes "internal server errors"](https://github.com/owncloud/ocis/issues/10496)
- [coreApiWebdavUpload/uploadFile.feature:400](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L400) - [coreApiWebdavUpload/uploadFile.feature:400](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L400)
- [coreApiWebdavUpload/uploadFile.feature:401](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L401) - [coreApiWebdavUpload/uploadFile.feature:401](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L401)
- [coreApiWebdavUpload/uploadFile.feature:402](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L402) - [coreApiWebdavUpload/uploadFile.feature:402](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L402)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:79](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L79) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:79](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L79)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:80](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L80) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:80](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L80)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:81](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L81) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:81](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L81)
### Won't fix ### Won't fix
Not everything needs to be implemented for ocis. While the oc10 testsuite covers these things we are not looking at them right now. Not everything needs to be implemented for opencloud.
- _The `OC-LazyOps` header is [no longer supported by the client](https://github.com/owncloud/client/pull/8398), implementing this is not necessary for a first production release. We plan to have an upload state machine to visualize the state of a file, see https://github.com/owncloud/ocis/issues/214_
- _Blacklisted ignored files are no longer required because ocis can handle `.htaccess` files without security implications introduced by serving user provided files with apache._ - _Blacklisted ignored files are no longer required because ocis can handle `.htaccess` files without security implications introduced by serving user provided files with apache._
Note: always have an empty line at the end of this file. Note: always have an empty line at the end of this file.
@@ -1,330 +1,330 @@
## Scenarios from OCIS API tests that are expected to fail with OCIS storage ## Scenarios from OpenCloud API tests that are expected to fail with ocis storage
The expected failures in this file are from features in the owncloud/ocis repo. The expected failures in this file are from features in the opencloud-eu/opencloud repo.
#### [Downloading the archive of the resource (files | folder) using resource path is not possible](https://github.com/owncloud/ocis/issues/4637) #### [Downloading the archive of the resource (files | folder) using resource path is not possible](https://github.com/owncloud/ocis/issues/4637)
- [apiArchiver/downloadByPath.feature:25](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L25) - [apiArchiver/downloadByPath.feature:25](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L25)
- [apiArchiver/downloadByPath.feature:26](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L26) - [apiArchiver/downloadByPath.feature:26](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L26)
- [apiArchiver/downloadByPath.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L43) - [apiArchiver/downloadByPath.feature:43](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L43)
- [apiArchiver/downloadByPath.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L44) - [apiArchiver/downloadByPath.feature:44](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L44)
- [apiArchiver/downloadByPath.feature:47](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L47) - [apiArchiver/downloadByPath.feature:47](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L47)
- [apiArchiver/downloadByPath.feature:73](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L73) - [apiArchiver/downloadByPath.feature:73](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L73)
- [apiArchiver/downloadByPath.feature:171](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L171) - [apiArchiver/downloadByPath.feature:171](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L171)
- [apiArchiver/downloadByPath.feature:172](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L172) - [apiArchiver/downloadByPath.feature:172](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiArchiver/downloadByPath.feature#L172)
#### [PATCH request for TUS upload with wrong checksum gives incorrect response](https://github.com/owncloud/ocis/issues/1755) #### [PATCH request for TUS upload with wrong checksum gives incorrect response](https://github.com/owncloud/ocis/issues/1755)
- [apiSpacesShares/shareUploadTUS.feature:283](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareUploadTUS.feature#L283) - [apiSpacesShares/shareUploadTUS.feature:283](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareUploadTUS.feature#L283)
- [apiSpacesShares/shareUploadTUS.feature:303](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareUploadTUS.feature#L303) - [apiSpacesShares/shareUploadTUS.feature:303](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareUploadTUS.feature#L303)
- [apiSpacesShares/shareUploadTUS.feature:384](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareUploadTUS.feature#L384) - [apiSpacesShares/shareUploadTUS.feature:384](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareUploadTUS.feature#L384)
#### [Settings service user can list other peoples assignments](https://github.com/owncloud/ocis/issues/5032) #### [Settings service user can list other peoples assignments](https://github.com/owncloud/ocis/issues/5032)
- [apiAccountsHashDifficulty/assignRole.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAccountsHashDifficulty/assignRole.feature#L27) - [apiAccountsHashDifficulty/assignRole.feature:27](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAccountsHashDifficulty/assignRole.feature#L27)
- [apiAccountsHashDifficulty/assignRole.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAccountsHashDifficulty/assignRole.feature#L28) - [apiAccountsHashDifficulty/assignRole.feature:28](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAccountsHashDifficulty/assignRole.feature#L28)
- [apiGraph/getAssignedRole.feature:31](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/getAssignedRole.feature#L31) - [apiGraph/getAssignedRole.feature:31](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/getAssignedRole.feature#L31)
- [apiGraph/getAssignedRole.feature:32](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/getAssignedRole.feature#L32) - [apiGraph/getAssignedRole.feature:32](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/getAssignedRole.feature#L32)
- [apiGraph/getAssignedRole.feature:33](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/getAssignedRole.feature#L33) - [apiGraph/getAssignedRole.feature:33](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/getAssignedRole.feature#L33)
#### [A User can get information of another user with Graph API](https://github.com/owncloud/ocis/issues/5125) #### [A User can get information of another user with Graph API](https://github.com/owncloud/ocis/issues/5125)
- [apiGraphUserGroup/getUser.feature:84](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L84) - [apiGraphUserGroup/getUser.feature:84](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L84)
- [apiGraphUserGroup/getUser.feature:85](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L85) - [apiGraphUserGroup/getUser.feature:85](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L85)
- [apiGraphUserGroup/getUser.feature:86](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L86) - [apiGraphUserGroup/getUser.feature:86](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L86)
- [apiGraphUserGroup/getUser.feature:87](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L87) - [apiGraphUserGroup/getUser.feature:87](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L87)
- [apiGraphUserGroup/getUser.feature:88](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L88) - [apiGraphUserGroup/getUser.feature:88](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L88)
- [apiGraphUserGroup/getUser.feature:89](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L89) - [apiGraphUserGroup/getUser.feature:89](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L89)
- [apiGraphUserGroup/getUser.feature:90](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L90) - [apiGraphUserGroup/getUser.feature:90](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L90)
- [apiGraphUserGroup/getUser.feature:91](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L91) - [apiGraphUserGroup/getUser.feature:91](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L91)
- [apiGraphUserGroup/getUser.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L92) - [apiGraphUserGroup/getUser.feature:92](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L92)
- [apiGraphUserGroup/getUser.feature:93](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L93) - [apiGraphUserGroup/getUser.feature:93](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L93)
- [apiGraphUserGroup/getUser.feature:94](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L94) - [apiGraphUserGroup/getUser.feature:94](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L94)
- [apiGraphUserGroup/getUser.feature:95](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L95) - [apiGraphUserGroup/getUser.feature:95](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L95)
- [apiGraphUserGroup/getUser.feature:637](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L637) - [apiGraphUserGroup/getUser.feature:637](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L637)
- [apiGraphUserGroup/getUser.feature:638](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L638) - [apiGraphUserGroup/getUser.feature:638](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L638)
- [apiGraphUserGroup/getUser.feature:639](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L639) - [apiGraphUserGroup/getUser.feature:639](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L639)
- [apiGraphUserGroup/getUser.feature:640](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L640) - [apiGraphUserGroup/getUser.feature:640](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L640)
- [apiGraphUserGroup/getUser.feature:641](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L641) - [apiGraphUserGroup/getUser.feature:641](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L641)
- [apiGraphUserGroup/getUser.feature:642](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L642) - [apiGraphUserGroup/getUser.feature:642](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L642)
- [apiGraphUserGroup/getUser.feature:643](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L643) - [apiGraphUserGroup/getUser.feature:643](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L643)
- [apiGraphUserGroup/getUser.feature:644](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L644) - [apiGraphUserGroup/getUser.feature:644](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L644)
- [apiGraphUserGroup/getUser.feature:645](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L645) - [apiGraphUserGroup/getUser.feature:645](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L645)
- [apiGraphUserGroup/getUser.feature:646](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L646) - [apiGraphUserGroup/getUser.feature:646](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L646)
- [apiGraphUserGroup/getUser.feature:647](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L647) - [apiGraphUserGroup/getUser.feature:647](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L647)
- [apiGraphUserGroup/getUser.feature:648](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L648) - [apiGraphUserGroup/getUser.feature:648](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L648)
- [apiGraphUserGroup/getUser.feature:663](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L663) - [apiGraphUserGroup/getUser.feature:663](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L663)
- [apiGraphUserGroup/getUser.feature:664](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L664) - [apiGraphUserGroup/getUser.feature:664](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L664)
- [apiGraphUserGroup/getUser.feature:665](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L665) - [apiGraphUserGroup/getUser.feature:665](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getUser.feature#L665)
#### [Normal user can get expanded members information of a group](https://github.com/owncloud/ocis/issues/5604) #### [Normal user can get expanded members information of a group](https://github.com/owncloud/ocis/issues/5604)
- [apiGraphUserGroup/getGroup.feature:399](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L399) - [apiGraphUserGroup/getGroup.feature:399](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L399)
- [apiGraphUserGroup/getGroup.feature:400](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L400) - [apiGraphUserGroup/getGroup.feature:400](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L400)
- [apiGraphUserGroup/getGroup.feature:401](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L401) - [apiGraphUserGroup/getGroup.feature:401](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L401)
- [apiGraphUserGroup/getGroup.feature:460](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L460) - [apiGraphUserGroup/getGroup.feature:460](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L460)
- [apiGraphUserGroup/getGroup.feature:461](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L461) - [apiGraphUserGroup/getGroup.feature:461](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L461)
- [apiGraphUserGroup/getGroup.feature:462](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L462) - [apiGraphUserGroup/getGroup.feature:462](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L462)
- [apiGraphUserGroup/getGroup.feature:508](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L508) - [apiGraphUserGroup/getGroup.feature:508](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L508)
- [apiGraphUserGroup/getGroup.feature:509](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L509) - [apiGraphUserGroup/getGroup.feature:509](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L509)
- [apiGraphUserGroup/getGroup.feature:510](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L510) - [apiGraphUserGroup/getGroup.feature:510](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/getGroup.feature#L510)
#### [Same users can be added in a group multiple time](https://github.com/owncloud/ocis/issues/5702) #### [Same users can be added in a group multiple time](https://github.com/owncloud/ocis/issues/5702)
- [apiGraphUserGroup/addUserToGroup.feature:295](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L295) - [apiGraphUserGroup/addUserToGroup.feature:295](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L295)
#### [Users are added in a group with wrong host in host-part of user](https://github.com/owncloud/ocis/issues/5871) #### [Users are added in a group with wrong host in host-part of user](https://github.com/owncloud/ocis/issues/5871)
- [apiGraphUserGroup/addUserToGroup.feature:379](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L379) - [apiGraphUserGroup/addUserToGroup.feature:379](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L379)
- [apiGraphUserGroup/addUserToGroup.feature:393](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L393) - [apiGraphUserGroup/addUserToGroup.feature:393](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L393)
#### [Adding the same user as multiple members in a single request results in listing the same user twice in the group](https://github.com/owncloud/ocis/issues/5855) #### [Adding the same user as multiple members in a single request results in listing the same user twice in the group](https://github.com/owncloud/ocis/issues/5855)
- [apiGraphUserGroup/addUserToGroup.feature:430](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L430) - [apiGraphUserGroup/addUserToGroup.feature:430](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraphUserGroup/addUserToGroup.feature#L430)
#### [Shared file locking is not possible using different path](https://github.com/owncloud/ocis/issues/7599) #### [Shared file locking is not possible using different path](https://github.com/owncloud/ocis/issues/7599)
- [apiLocks/lockFiles.feature:185](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L185) - [apiLocks/lockFiles.feature:185](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L185)
- [apiLocks/lockFiles.feature:186](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L186) - [apiLocks/lockFiles.feature:186](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L186)
- [apiLocks/lockFiles.feature:187](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L187) - [apiLocks/lockFiles.feature:187](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L187)
- [apiLocks/lockFiles.feature:309](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L309) - [apiLocks/lockFiles.feature:309](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L309)
- [apiLocks/lockFiles.feature:310](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L310) - [apiLocks/lockFiles.feature:310](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L310)
- [apiLocks/lockFiles.feature:311](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L311) - [apiLocks/lockFiles.feature:311](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L311)
- [apiLocks/lockFiles.feature:364](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L364) - [apiLocks/lockFiles.feature:364](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L364)
- [apiLocks/lockFiles.feature:365](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L365) - [apiLocks/lockFiles.feature:365](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L365)
- [apiLocks/lockFiles.feature:366](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L366) - [apiLocks/lockFiles.feature:366](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L366)
- [apiLocks/lockFiles.feature:367](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L367) - [apiLocks/lockFiles.feature:367](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L367)
- [apiLocks/lockFiles.feature:368](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L368) - [apiLocks/lockFiles.feature:368](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L368)
- [apiLocks/lockFiles.feature:369](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L369) - [apiLocks/lockFiles.feature:369](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L369)
- [apiLocks/lockFiles.feature:399](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L399) - [apiLocks/lockFiles.feature:399](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L399)
- [apiLocks/lockFiles.feature:400](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L400) - [apiLocks/lockFiles.feature:400](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L400)
- [apiLocks/lockFiles.feature:401](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L401) - [apiLocks/lockFiles.feature:401](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L401)
- [apiLocks/lockFiles.feature:402](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L402) - [apiLocks/lockFiles.feature:402](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L402)
- [apiLocks/lockFiles.feature:403](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L403) - [apiLocks/lockFiles.feature:403](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L403)
- [apiLocks/lockFiles.feature:404](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L404) - [apiLocks/lockFiles.feature:404](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L404)
- [apiLocks/unlockFiles.feature:62](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L62) - [apiLocks/unlockFiles.feature:62](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L62)
- [apiLocks/unlockFiles.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L63) - [apiLocks/unlockFiles.feature:63](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L63)
- [apiLocks/unlockFiles.feature:64](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L64) - [apiLocks/unlockFiles.feature:64](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L64)
- [apiLocks/unlockFiles.feature:171](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L171) - [apiLocks/unlockFiles.feature:171](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L171)
- [apiLocks/unlockFiles.feature:172](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L172) - [apiLocks/unlockFiles.feature:172](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L172)
- [apiLocks/unlockFiles.feature:173](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L173) - [apiLocks/unlockFiles.feature:173](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L173)
- [apiLocks/unlockFiles.feature:174](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L174) - [apiLocks/unlockFiles.feature:174](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L174)
- [apiLocks/unlockFiles.feature:175](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L175) - [apiLocks/unlockFiles.feature:175](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L175)
- [apiLocks/unlockFiles.feature:176](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L176) - [apiLocks/unlockFiles.feature:176](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L176)
- [apiLocks/unlockFiles.feature:199](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L199) - [apiLocks/unlockFiles.feature:199](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L199)
- [apiLocks/unlockFiles.feature:200](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L200) - [apiLocks/unlockFiles.feature:200](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L200)
- [apiLocks/unlockFiles.feature:201](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L201) - [apiLocks/unlockFiles.feature:201](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L201)
- [apiLocks/unlockFiles.feature:202](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L202) - [apiLocks/unlockFiles.feature:202](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L202)
- [apiLocks/unlockFiles.feature:203](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L203) - [apiLocks/unlockFiles.feature:203](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L203)
- [apiLocks/unlockFiles.feature:204](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L204) - [apiLocks/unlockFiles.feature:204](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L204)
- [apiLocks/unlockFiles.feature:227](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L227) - [apiLocks/unlockFiles.feature:227](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L227)
- [apiLocks/unlockFiles.feature:228](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L228) - [apiLocks/unlockFiles.feature:228](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L228)
- [apiLocks/unlockFiles.feature:229](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L229) - [apiLocks/unlockFiles.feature:229](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L229)
- [apiLocks/unlockFiles.feature:230](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L230) - [apiLocks/unlockFiles.feature:230](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L230)
- [apiLocks/unlockFiles.feature:231](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L231) - [apiLocks/unlockFiles.feature:231](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L231)
- [apiLocks/unlockFiles.feature:232](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L232) - [apiLocks/unlockFiles.feature:232](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L232)
#### [Folders can be locked and locking works partially](https://github.com/owncloud/ocis/issues/7641) #### [Folders can be locked and locking works partially](https://github.com/owncloud/ocis/issues/7641)
- [apiLocks/lockFiles.feature:443](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L443) - [apiLocks/lockFiles.feature:443](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L443)
- [apiLocks/lockFiles.feature:444](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L444) - [apiLocks/lockFiles.feature:444](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L444)
- [apiLocks/lockFiles.feature:445](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L445) - [apiLocks/lockFiles.feature:445](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L445)
- [apiLocks/lockFiles.feature:446](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L446) - [apiLocks/lockFiles.feature:446](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L446)
- [apiLocks/lockFiles.feature:447](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L447) - [apiLocks/lockFiles.feature:447](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L447)
- [apiLocks/lockFiles.feature:448](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L448) - [apiLocks/lockFiles.feature:448](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L448)
- [apiLocks/lockFiles.feature:417](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L417) - [apiLocks/lockFiles.feature:417](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L417)
- [apiLocks/lockFiles.feature:418](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L418) - [apiLocks/lockFiles.feature:418](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L418)
- [apiLocks/lockFiles.feature:419](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L419) - [apiLocks/lockFiles.feature:419](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L419)
- [apiLocks/lockFiles.feature:420](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L420) - [apiLocks/lockFiles.feature:420](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L420)
- [apiLocks/lockFiles.feature:421](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L421) - [apiLocks/lockFiles.feature:421](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L421)
- [apiLocks/lockFiles.feature:422](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L422) - [apiLocks/lockFiles.feature:422](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L422)
#### [Anonymous users can unlock a file shared to them through a public link if they get the lock token](https://github.com/owncloud/ocis/issues/7761) #### [Anonymous users can unlock a file shared to them through a public link if they get the lock token](https://github.com/owncloud/ocis/issues/7761)
- [apiLocks/unlockFiles.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L42) - [apiLocks/unlockFiles.feature:42](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L42)
- [apiLocks/unlockFiles.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L43) - [apiLocks/unlockFiles.feature:43](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L43)
- [apiLocks/unlockFiles.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L44) - [apiLocks/unlockFiles.feature:44](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L44)
- [apiLocks/unlockFiles.feature:45](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L45) - [apiLocks/unlockFiles.feature:45](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L45)
- [apiLocks/unlockFiles.feature:46](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L46) - [apiLocks/unlockFiles.feature:46](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L46)
- [apiLocks/unlockFiles.feature:47](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L47) - [apiLocks/unlockFiles.feature:47](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L47)
#### [Trying to unlock a shared file with sharer's lock token gives 500](https://github.com/owncloud/ocis/issues/7767) #### [Trying to unlock a shared file with sharer's lock token gives 500](https://github.com/owncloud/ocis/issues/7767)
- [apiLocks/unlockFiles.feature:115](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L115) - [apiLocks/unlockFiles.feature:115](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L115)
- [apiLocks/unlockFiles.feature:116](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L116) - [apiLocks/unlockFiles.feature:116](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L116)
- [apiLocks/unlockFiles.feature:117](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L117) - [apiLocks/unlockFiles.feature:117](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L117)
- [apiLocks/unlockFiles.feature:118](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L118) - [apiLocks/unlockFiles.feature:118](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L118)
- [apiLocks/unlockFiles.feature:119](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L119) - [apiLocks/unlockFiles.feature:119](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L119)
- [apiLocks/unlockFiles.feature:120](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L120) - [apiLocks/unlockFiles.feature:120](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L120)
- [apiLocks/unlockFiles.feature:143](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L143) - [apiLocks/unlockFiles.feature:143](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L143)
- [apiLocks/unlockFiles.feature:144](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L144) - [apiLocks/unlockFiles.feature:144](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L144)
- [apiLocks/unlockFiles.feature:145](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L145) - [apiLocks/unlockFiles.feature:145](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L145)
- [apiLocks/unlockFiles.feature:146](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L146) - [apiLocks/unlockFiles.feature:146](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L146)
- [apiLocks/unlockFiles.feature:147](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L147) - [apiLocks/unlockFiles.feature:147](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L147)
- [apiLocks/unlockFiles.feature:148](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L148) - [apiLocks/unlockFiles.feature:148](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L148)
#### [Anonymous user trying lock a file shared to them through a public link gives 405](https://github.com/owncloud/ocis/issues/7790) #### [Anonymous user trying lock a file shared to them through a public link gives 405](https://github.com/owncloud/ocis/issues/7790)
- [apiLocks/lockFiles.feature:532](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L532) - [apiLocks/lockFiles.feature:532](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L532)
- [apiLocks/lockFiles.feature:533](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L533) - [apiLocks/lockFiles.feature:533](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L533)
- [apiLocks/lockFiles.feature:534](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L534) - [apiLocks/lockFiles.feature:534](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L534)
- [apiLocks/lockFiles.feature:535](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L535) - [apiLocks/lockFiles.feature:535](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L535)
- [apiLocks/lockFiles.feature:554](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L554) - [apiLocks/lockFiles.feature:554](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L554)
- [apiLocks/lockFiles.feature:555](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L555) - [apiLocks/lockFiles.feature:555](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L555)
- [apiLocks/lockFiles.feature:556](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L556) - [apiLocks/lockFiles.feature:556](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L556)
- [apiLocks/lockFiles.feature:557](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L557) - [apiLocks/lockFiles.feature:557](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L557)
#### [blocksDownload link type is not implemented yet (sharing-ng)](https://github.com/owncloud/ocis/issues/7879) #### [blocksDownload link type is not implemented yet (sharing-ng)](https://github.com/owncloud/ocis/issues/7879)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:72](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L72) - [apiSharingNgLinkSharePermission/createLinkShare.feature:72](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L72)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:202](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L202) - [apiSharingNgLinkSharePermission/createLinkShare.feature:202](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L202)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:340](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L340) - [apiSharingNgLinkSharePermission/createLinkShare.feature:340](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L340)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:409](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L409) - [apiSharingNgLinkSharePermission/createLinkShare.feature:409](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L409)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:475](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L475) - [apiSharingNgLinkSharePermission/createLinkShare.feature:475](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L475)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:617](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L617) - [apiSharingNgLinkSharePermission/createLinkShare.feature:617](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L617)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:763](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L763) - [apiSharingNgLinkSharePermission/createLinkShare.feature:763](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L763)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:819](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L819) - [apiSharingNgLinkSharePermission/createLinkShare.feature:819](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L819)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:820](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L820) - [apiSharingNgLinkSharePermission/createLinkShare.feature:820](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L820)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:821](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L821) - [apiSharingNgLinkSharePermission/createLinkShare.feature:821](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L821)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:891](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L891) - [apiSharingNgLinkSharePermission/createLinkShare.feature:891](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L891)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:957](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L957) - [apiSharingNgLinkSharePermission/createLinkShare.feature:957](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L957)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1101](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1101) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1101](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1101)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1170](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1170) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1170](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1170)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1220](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1220) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1220](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1220)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1221](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1221) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1221](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1221)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1222](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1222) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1222](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1222)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1374](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1374) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1374](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1374)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1632](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1632) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1632](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1632)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1686](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1686) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1686](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1686)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1687](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1687) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1687](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1687)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1688](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1688) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1688](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1688)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1756](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1756) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1756](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1756)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1822](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1822) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1822](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1822)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1944](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1944) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1944](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1944)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:2071](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2071) - [apiSharingNgLinkSharePermission/createLinkShare.feature:2071](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2071)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:2198](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2198) - [apiSharingNgLinkSharePermission/createLinkShare.feature:2198](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2198)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:2326](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2326) - [apiSharingNgLinkSharePermission/createLinkShare.feature:2326](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2326)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:73](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L73) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:73](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L73)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L75) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:75](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L75)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:76](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L76) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:76](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L76)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:77](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L77) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:77](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L77)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:143](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L143) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:143](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L143)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:405](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L405) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:405](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L405)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:792](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L792) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:792](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L792)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:212](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L212) - [apiSharingNgLinkShareRoot/createLinkShare.feature:212](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L212)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:352](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L352) - [apiSharingNgLinkShareRoot/createLinkShare.feature:352](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L352)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:406](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L406) - [apiSharingNgLinkShareRoot/createLinkShare.feature:406](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L406)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:407](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L407) - [apiSharingNgLinkShareRoot/createLinkShare.feature:407](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L407)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:408](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L408) - [apiSharingNgLinkShareRoot/createLinkShare.feature:408](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L408)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:476](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L476) - [apiSharingNgLinkShareRoot/createLinkShare.feature:476](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L476)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:543](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L543) - [apiSharingNgLinkShareRoot/createLinkShare.feature:543](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L543)
- [apiSharingNgLinkShareRoot/createLinkShare.feature:614](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L614) - [apiSharingNgLinkShareRoot/createLinkShare.feature:614](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/createLinkShare.feature#L614)
- [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L27) - [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:27](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L27)
- [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L43) - [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:43](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L43)
- [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L63) - [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:63](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L63)
- [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:81](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L81) - [apiSharingNg2/removeAccessToDriveItemInLinkShare.feature:81](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg2/removeAccessToDriveItemInLinkShare.feature#L81)
- [apiSharingNg1/removeAccessToDrive.feature:177](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg1/removeAccessToDrive.feature#L177) - [apiSharingNg1/removeAccessToDrive.feature:177](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg1/removeAccessToDrive.feature#L177)
- [apiSharingNg1/removeAccessToDrive.feature:206](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg1/removeAccessToDrive.feature#L206) - [apiSharingNg1/removeAccessToDrive.feature:206](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg1/removeAccessToDrive.feature#L206)
- [apiSharingNg1/removeAccessToDrive.feature:236](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg1/removeAccessToDrive.feature#L236) - [apiSharingNg1/removeAccessToDrive.feature:236](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg1/removeAccessToDrive.feature#L236)
#### [sharee (editor role) MOVE a file by file-id into shared sub-folder returns 502](https://github.com/owncloud/ocis/issues/7617) #### [sharee (editor role) MOVE a file by file-id into shared sub-folder returns 502](https://github.com/owncloud/ocis/issues/7617)
- [apiSpacesDavOperation/moveByFileId.feature:368](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L368) - [apiSpacesDavOperation/moveByFileId.feature:368](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L368)
- [apiSpacesDavOperation/moveByFileId.feature:591](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L591) - [apiSpacesDavOperation/moveByFileId.feature:591](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L591)
#### [MOVE a file into same folder with same name returns 404 instead of 403](https://github.com/owncloud/ocis/issues/1976) #### [MOVE a file into same folder with same name returns 404 instead of 403](https://github.com/owncloud/ocis/issues/1976)
- [apiSpacesShares/moveSpaces.feature:69](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/moveSpaces.feature#L69) - [apiSpacesShares/moveSpaces.feature:69](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/moveSpaces.feature#L69)
- [apiSpacesShares/moveSpaces.feature:70](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/moveSpaces.feature#L70) - [apiSpacesShares/moveSpaces.feature:70](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/moveSpaces.feature#L70)
- [apiSpacesShares/moveSpaces.feature:416](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/moveSpaces.feature#L416) - [apiSpacesShares/moveSpaces.feature:416](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/moveSpaces.feature#L416)
- [apiSpacesDavOperation/moveByFileId.feature:61](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L61) - [apiSpacesDavOperation/moveByFileId.feature:61](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L61)
- [apiSpacesDavOperation/moveByFileId.feature:174](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L174) - [apiSpacesDavOperation/moveByFileId.feature:174](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L174)
- [apiSpacesDavOperation/moveByFileId.feature:175](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L175) - [apiSpacesDavOperation/moveByFileId.feature:175](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L175)
- [apiSpacesDavOperation/moveByFileId.feature:176](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L176) - [apiSpacesDavOperation/moveByFileId.feature:176](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L176)
- [apiSpacesDavOperation/moveByFileId.feature:393](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L393) - [apiSpacesDavOperation/moveByFileId.feature:393](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesDavOperation/moveByFileId.feature#L393)
#### [OCM. admin cannot get federated users if he hasn't connection with them ](https://github.com/owncloud/ocis/issues/9829) #### [OCM. admin cannot get federated users if he hasn't connection with them ](https://github.com/owncloud/ocis/issues/9829)
- [apiOcm/searchFederationUsers.feature:429](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiOcm/searchFederationUsers.feature#L429) - [apiOcm/searchFederationUsers.feature:429](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiOcm/searchFederationUsers.feature#L429)
- [apiOcm/searchFederationUsers.feature:601](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiOcm/searchFederationUsers.feature#L601) - [apiOcm/searchFederationUsers.feature:601](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiOcm/searchFederationUsers.feature#L601)
#### [OCM. federated connection is not dropped when one of the users deletes the connection](https://github.com/owncloud/ocis/issues/10216) #### [OCM. federated connection is not dropped when one of the users deletes the connection](https://github.com/owncloud/ocis/issues/10216)
- [apiOcm/deleteFederatedConnections.feature:21](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L21) - [apiOcm/deleteFederatedConnections.feature:21](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L21)
- [apiOcm/deleteFederatedConnections.feature:67](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L67) - [apiOcm/deleteFederatedConnections.feature:67](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L67)
#### [OCM. server crash after deleting share for ocm user](https://github.com/owncloud/ocis/issues/10213) #### [OCM. server crash after deleting share for ocm user](https://github.com/owncloud/ocis/issues/10213)
- [apiOcm/deleteFederatedConnections.feature:102](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L102) - [apiOcm/deleteFederatedConnections.feature:102](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L102)
#### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060) #### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060)
- [apiSearch1/dateSearch.feature:17](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L17) - [apiSearch1/dateSearch.feature:17](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L17)
- [apiSearch1/dateSearch.feature:18](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L18) - [apiSearch1/dateSearch.feature:18](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L18)
- [apiSearch1/search.feature:41](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L41) - [apiSearch1/search.feature:41](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L41)
- [apiSearch1/search.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L42) - [apiSearch1/search.feature:42](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L42)
- [apiSearch1/search.feature:69](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L69) - [apiSearch1/search.feature:69](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L69)
- [apiSearch1/search.feature:70](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L70) - [apiSearch1/search.feature:70](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L70)
- [apiSearch1/search.feature:111](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L111) - [apiSearch1/search.feature:111](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L111)
- [apiSearch1/search.feature:112](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L112) - [apiSearch1/search.feature:112](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L112)
- [apiSearch1/search.feature:197](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L197) - [apiSearch1/search.feature:197](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L197)
- [apiSearch1/search.feature:198](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L198) - [apiSearch1/search.feature:198](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L198)
- [apiSearch1/search.feature:221](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L221) - [apiSearch1/search.feature:221](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L221)
- [apiSearch1/search.feature:222](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L222) - [apiSearch1/search.feature:222](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L222)
- [apiSearch1/search.feature:242](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L242) - [apiSearch1/search.feature:242](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L242)
- [apiSearch1/search.feature:243](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L243) - [apiSearch1/search.feature:243](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L243)
- [apiSearch1/search.feature:260](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L260) - [apiSearch1/search.feature:260](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L260)
- [apiSearch1/search.feature:261](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L261) - [apiSearch1/search.feature:261](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L261)
- [apiSearch1/search.feature:278](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L278) - [apiSearch1/search.feature:278](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L278)
- [apiSearch1/search.feature:279](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L279) - [apiSearch1/search.feature:279](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L279)
- [apiSearch1/search.feature:302](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L302) - [apiSearch1/search.feature:302](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L302)
- [apiSearch1/search.feature:303](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L303) - [apiSearch1/search.feature:303](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L303)
- [apiSearch1/search.feature:354](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L354) - [apiSearch1/search.feature:354](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L354)
- [apiSearch1/search.feature:355](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L355) - [apiSearch1/search.feature:355](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L355)
- [apiSearch2/tagSearch.feature:34](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L34) - [apiSearch2/tagSearch.feature:34](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L34)
- [apiSearch2/tagSearch.feature:35](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L35) - [apiSearch2/tagSearch.feature:35](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L35)
- [apiSearch2/tagSearch.feature:62](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L62) - [apiSearch2/tagSearch.feature:62](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L62)
- [apiSearch2/tagSearch.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L63) - [apiSearch2/tagSearch.feature:63](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L63)
- [apiSearch2/tagSearch.feature:87](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L87) - [apiSearch2/tagSearch.feature:87](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L87)
- [apiSearch2/tagSearch.feature:88](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L88) - [apiSearch2/tagSearch.feature:88](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L88)
- [apiSearch2/tagSearch.feature:110](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L110) - [apiSearch2/tagSearch.feature:110](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L110)
- [apiSearch2/tagSearch.feature:111](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L111) - [apiSearch2/tagSearch.feature:111](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L111)
- [apiSearch2/tagSearch.feature:144](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L144) - [apiSearch2/tagSearch.feature:144](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L144)
- [apiSearch2/tagSearch.feature:145](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L145) - [apiSearch2/tagSearch.feature:145](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L145)
- [apiSearch2/tagSearch.feature:182](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L182) - [apiSearch2/tagSearch.feature:182](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L182)
- [apiSearch2/tagSearch.feature:183](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L183) - [apiSearch2/tagSearch.feature:183](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L183)
- [apiSearch2/tagSearch.feature:222](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L222) - [apiSearch2/tagSearch.feature:222](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L222)
- [apiSearch2/tagSearch.feature:223](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L223) - [apiSearch2/tagSearch.feature:223](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L223)
- [apiSearch2/tagSearch.feature:241](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L241) - [apiSearch2/tagSearch.feature:241](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L241)
- [apiSearch2/tagSearch.feature:242](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L242) - [apiSearch2/tagSearch.feature:242](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L242)
- [apiSearchContent/contentSearch.feature:25](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L25) - [apiSearchContent/contentSearch.feature:25](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L25)
- [apiSearchContent/contentSearch.feature:26](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L26) - [apiSearchContent/contentSearch.feature:26](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L26)
- [apiSearchContent/contentSearch.feature:49](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L49) - [apiSearchContent/contentSearch.feature:49](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L49)
- [apiSearchContent/contentSearch.feature:50](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L50) - [apiSearchContent/contentSearch.feature:50](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L50)
- [apiSearchContent/contentSearch.feature:82](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L82) - [apiSearchContent/contentSearch.feature:82](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L82)
- [apiSearchContent/contentSearch.feature:83](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L83) - [apiSearchContent/contentSearch.feature:83](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L83)
- [apiSearchContent/contentSearch.feature:110](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L110) - [apiSearchContent/contentSearch.feature:110](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L110)
- [apiSearchContent/contentSearch.feature:111](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L111) - [apiSearchContent/contentSearch.feature:111](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L111)
- [apiSearchContent/contentSearch.feature:129](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L129) - [apiSearchContent/contentSearch.feature:129](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L129)
- [apiSearchContent/contentSearch.feature:130](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L130) - [apiSearchContent/contentSearch.feature:130](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L130)
- [apiSearchContent/contentSearch.feature:146](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L146) - [apiSearchContent/contentSearch.feature:146](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L146)
- [apiSearchContent/contentSearch.feature:147](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L147) - [apiSearchContent/contentSearch.feature:147](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L147)
- [apiSearchContent/contentSearch.feature:162](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L162) - [apiSearchContent/contentSearch.feature:162](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L162)
- [apiSearchContent/contentSearch.feature:163](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L163) - [apiSearchContent/contentSearch.feature:163](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L163)
- [apiSearchContent/contentSearch.feature:185](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L185) - [apiSearchContent/contentSearch.feature:185](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L185)
- [apiSearchContent/contentSearch.feature:186](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L186) - [apiSearchContent/contentSearch.feature:186](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L186)
- [apiSearchContent/contentSearch.feature:214](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L214) - [apiSearchContent/contentSearch.feature:214](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L214)
- [apiSearchContent/contentSearch.feature:215](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L215) - [apiSearchContent/contentSearch.feature:215](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L215)
- [apiSearchContent/contentSearch.feature:266](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L266) - [apiSearchContent/contentSearch.feature:266](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L266)
- [apiSearchContent/contentSearch.feature:267](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L267) - [apiSearchContent/contentSearch.feature:267](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L267)
#### [Shares Jail PROPFIND returns different File IDs for the same item](https://github.com/owncloud/ocis/issues/9933) #### [Shares Jail PROPFIND returns different File IDs for the same item](https://github.com/owncloud/ocis/issues/9933)
- [apiSharingNg1/propfindShares.feature:149](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg1/propfindShares.feature#L149) - [apiSharingNg1/propfindShares.feature:149](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNg1/propfindShares.feature#L149)
#### [Readiness check for some services returns 500 status code](https://github.com/owncloud/ocis/issues/10661) #### [Readiness check for some services returns 500 status code](https://github.com/owncloud/ocis/issues/10661)
- [apiServiceAvailability/serviceAvailabilityCheck.feature:116](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiServiceAvailability/serviceAvailabilityCheck.feature#L116) - [apiServiceAvailability/serviceAvailabilityCheck.feature:116](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiServiceAvailability/serviceAvailabilityCheck.feature#L116)
- [apiServiceAvailability/serviceAvailabilityCheck.feature:125](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiServiceAvailability/serviceAvailabilityCheck.feature#L125) - [apiServiceAvailability/serviceAvailabilityCheck.feature:125](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiServiceAvailability/serviceAvailabilityCheck.feature#L125)
Note: always have an empty line at the end of this file. Note: always have an empty line at the end of this file.
The bash script that processes this file requires that the last line has a newline on the end. The bash script that processes this file requires that the last line has a newline on the end.
@@ -2,389 +2,389 @@
#### [REPORT request without remote.php returns empty result (only with dav/spaces path)](https://github.com/owncloud/ocis/issues/10329) #### [REPORT request without remote.php returns empty result (only with dav/spaces path)](https://github.com/owncloud/ocis/issues/10329)
- [apiContract/sharesReport.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L42) - [apiContract/sharesReport.feature:42](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L42)
- [apiContract/sharesReport.feature:66](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L66) - [apiContract/sharesReport.feature:66](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L66)
- [apiContract/sharesReport.feature:130](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L130) - [apiContract/sharesReport.feature:130](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L130)
- [apiContract/sharesReport.feature:159](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L159) - [apiContract/sharesReport.feature:159](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/sharesReport.feature#L159)
- [apiContract/spacesReport.feature:16](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L16) - [apiContract/spacesReport.feature:16](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L16)
- [apiContract/spacesReport.feature:34](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L34) - [apiContract/spacesReport.feature:34](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L34)
- [apiContract/spacesReport.feature:53](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L53) - [apiContract/spacesReport.feature:53](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L53)
- [apiContract/spacesReport.feature:71](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L71) - [apiContract/spacesReport.feature:71](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L71)
- [apiContract/spacesSharesReport.feature:48](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesSharesReport.feature#L48) - [apiContract/spacesSharesReport.feature:48](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/spacesSharesReport.feature#L48)
- [apiContract/spacesSharesReport.feature:78](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesSharesReport.feature#L78) - [apiContract/spacesSharesReport.feature:78](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiContract/spacesSharesReport.feature#L78)
- [apiSearch1/dateSearch.feature:19](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L19) - [apiSearch1/dateSearch.feature:19](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L19)
- [apiSearch1/dateSearch.feature:39](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L39) - [apiSearch1/dateSearch.feature:39](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L39)
- [apiSearch1/dateSearch.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L40) - [apiSearch1/dateSearch.feature:40](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L40)
- [apiSearch1/dateSearch.feature:41](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L41) - [apiSearch1/dateSearch.feature:41](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L41)
- [apiSearch1/dateSearch.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L42) - [apiSearch1/dateSearch.feature:42](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L42)
- [apiSearch1/dateSearch.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L43) - [apiSearch1/dateSearch.feature:43](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L43)
- [apiSearch1/dateSearch.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L44) - [apiSearch1/dateSearch.feature:44](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L44)
- [apiSearch1/dateSearch.feature:45](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L45) - [apiSearch1/dateSearch.feature:45](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L45)
- [apiSearch1/dateSearch.feature:46](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L46) - [apiSearch1/dateSearch.feature:46](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L46)
- [apiSearch1/dateSearch.feature:47](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L47) - [apiSearch1/dateSearch.feature:47](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L47)
- [apiSearch1/dateSearch.feature:48](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L48) - [apiSearch1/dateSearch.feature:48](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L48)
- [apiSearch1/dateSearch.feature:50](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L50) - [apiSearch1/dateSearch.feature:50](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L50)
- [apiSearch1/dateSearch.feature:53](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L53) - [apiSearch1/dateSearch.feature:53](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L53)
- [apiSearch1/search.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L43) - [apiSearch1/search.feature:43](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L43)
- [apiSearch1/search.feature:71](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L71) - [apiSearch1/search.feature:71](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L71)
- [apiSearch1/search.feature:113](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L113) - [apiSearch1/search.feature:113](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L113)
- [apiSearch1/search.feature:176](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L176) - [apiSearch1/search.feature:176](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L176)
- [apiSearch1/search.feature:199](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L199) - [apiSearch1/search.feature:199](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L199)
- [apiSearch1/search.feature:223](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L223) - [apiSearch1/search.feature:223](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L223)
- [apiSearch1/search.feature:244](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L244) - [apiSearch1/search.feature:244](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L244)
- [apiSearch1/search.feature:262](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L262) - [apiSearch1/search.feature:262](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L262)
- [apiSearch1/search.feature:280](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L280) - [apiSearch1/search.feature:280](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L280)
- [apiSearch1/search.feature:304](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L304) - [apiSearch1/search.feature:304](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L304)
- [apiSearch1/search.feature:317](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L317) - [apiSearch1/search.feature:317](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L317)
- [apiSearch1/search.feature:318](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L318) - [apiSearch1/search.feature:318](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L318)
- [apiSearch1/search.feature:319](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L319) - [apiSearch1/search.feature:319](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L319)
- [apiSearch1/search.feature:320](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L320) - [apiSearch1/search.feature:320](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L320)
- [apiSearch1/search.feature:321](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L321) - [apiSearch1/search.feature:321](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L321)
- [apiSearch1/search.feature:324](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L324) - [apiSearch1/search.feature:324](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L324)
- [apiSearch1/search.feature:356](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/search.feature#L356) - [apiSearch1/search.feature:356](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch1/search.feature#L356)
- [apiSearch2/mediaTypeSearch.feature:31](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L31) - [apiSearch2/mediaTypeSearch.feature:31](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L31)
- [apiSearch2/mediaTypeSearch.feature:32](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L32) - [apiSearch2/mediaTypeSearch.feature:32](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L32)
- [apiSearch2/mediaTypeSearch.feature:33](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L33) - [apiSearch2/mediaTypeSearch.feature:33](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L33)
- [apiSearch2/mediaTypeSearch.feature:34](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L34) - [apiSearch2/mediaTypeSearch.feature:34](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L34)
- [apiSearch2/mediaTypeSearch.feature:35](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L35) - [apiSearch2/mediaTypeSearch.feature:35](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L35)
- [apiSearch2/mediaTypeSearch.feature:36](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L36) - [apiSearch2/mediaTypeSearch.feature:36](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L36)
- [apiSearch2/mediaTypeSearch.feature:37](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L37) - [apiSearch2/mediaTypeSearch.feature:37](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L37)
- [apiSearch2/mediaTypeSearch.feature:38](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L38) - [apiSearch2/mediaTypeSearch.feature:38](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L38)
- [apiSearch2/mediaTypeSearch.feature:39](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L39) - [apiSearch2/mediaTypeSearch.feature:39](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L39)
- [apiSearch2/mediaTypeSearch.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L60) - [apiSearch2/mediaTypeSearch.feature:60](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L60)
- [apiSearch2/mediaTypeSearch.feature:61](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L61) - [apiSearch2/mediaTypeSearch.feature:61](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L61)
- [apiSearch2/mediaTypeSearch.feature:62](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L62) - [apiSearch2/mediaTypeSearch.feature:62](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L62)
- [apiSearch2/mediaTypeSearch.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L63) - [apiSearch2/mediaTypeSearch.feature:63](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L63)
- [apiSearch2/mediaTypeSearch.feature:64](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L64) - [apiSearch2/mediaTypeSearch.feature:64](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L64)
- [apiSearch2/mediaTypeSearch.feature:65](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L65) - [apiSearch2/mediaTypeSearch.feature:65](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L65)
- [apiSearch2/mediaTypeSearch.feature:66](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L66) - [apiSearch2/mediaTypeSearch.feature:66](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L66)
- [apiSearch2/mediaTypeSearch.feature:67](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L67) - [apiSearch2/mediaTypeSearch.feature:67](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L67)
- [apiSearch2/mediaTypeSearch.feature:68](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L68) - [apiSearch2/mediaTypeSearch.feature:68](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L68)
- [apiSearch2/mediaTypeSearch.feature:90](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L90) - [apiSearch2/mediaTypeSearch.feature:90](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L90)
- [apiSearch2/mediaTypeSearch.feature:91](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L91) - [apiSearch2/mediaTypeSearch.feature:91](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L91)
- [apiSearch2/mediaTypeSearch.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L92) - [apiSearch2/mediaTypeSearch.feature:92](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L92)
- [apiSearch2/mediaTypeSearch.feature:93](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L93) - [apiSearch2/mediaTypeSearch.feature:93](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L93)
- [apiSearch2/mediaTypeSearch.feature:94](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L94) - [apiSearch2/mediaTypeSearch.feature:94](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L94)
- [apiSearch2/mediaTypeSearch.feature:95](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L95) - [apiSearch2/mediaTypeSearch.feature:95](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L95)
- [apiSearch2/mediaTypeSearch.feature:96](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L96) - [apiSearch2/mediaTypeSearch.feature:96](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L96)
- [apiSearch2/mediaTypeSearch.feature:97](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L97) - [apiSearch2/mediaTypeSearch.feature:97](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L97)
- [apiSearch2/mediaTypeSearch.feature:98](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L98) - [apiSearch2/mediaTypeSearch.feature:98](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L98)
- [apiSearch2/mediaTypeSearch.feature:126](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L126) - [apiSearch2/mediaTypeSearch.feature:126](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L126)
- [apiSearch2/mediaTypeSearch.feature:127](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L127) - [apiSearch2/mediaTypeSearch.feature:127](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L127)
- [apiSearch2/mediaTypeSearch.feature:128](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L128) - [apiSearch2/mediaTypeSearch.feature:128](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L128)
- [apiSearch2/mediaTypeSearch.feature:129](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L129) - [apiSearch2/mediaTypeSearch.feature:129](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L129)
- [apiSearch2/mediaTypeSearch.feature:130](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L130) - [apiSearch2/mediaTypeSearch.feature:130](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L130)
- [apiSearch2/mediaTypeSearch.feature:131](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L131) - [apiSearch2/mediaTypeSearch.feature:131](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L131)
- [apiSearch2/mediaTypeSearch.feature:132](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L132) - [apiSearch2/mediaTypeSearch.feature:132](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L132)
- [apiSearch2/mediaTypeSearch.feature:133](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L133) - [apiSearch2/mediaTypeSearch.feature:133](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L133)
- [apiSearch2/mediaTypeSearch.feature:134](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L134) - [apiSearch2/mediaTypeSearch.feature:134](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L134)
- [apiSearch2/mediaTypeSearch.feature:161](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L161) - [apiSearch2/mediaTypeSearch.feature:161](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L161)
- [apiSearch2/mediaTypeSearch.feature:162](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L162) - [apiSearch2/mediaTypeSearch.feature:162](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L162)
- [apiSearch2/mediaTypeSearch.feature:163](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L163) - [apiSearch2/mediaTypeSearch.feature:163](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L163)
- [apiSearch2/mediaTypeSearch.feature:164](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L164) - [apiSearch2/mediaTypeSearch.feature:164](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L164)
- [apiSearch2/mediaTypeSearch.feature:165](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L165) - [apiSearch2/mediaTypeSearch.feature:165](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L165)
- [apiSearch2/mediaTypeSearch.feature:166](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L166) - [apiSearch2/mediaTypeSearch.feature:166](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L166)
- [apiSearch2/mediaTypeSearch.feature:167](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L167) - [apiSearch2/mediaTypeSearch.feature:167](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L167)
- [apiSearch2/mediaTypeSearch.feature:168](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L168) - [apiSearch2/mediaTypeSearch.feature:168](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L168)
- [apiSearch2/mediaTypeSearch.feature:169](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L169) - [apiSearch2/mediaTypeSearch.feature:169](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L169)
- [apiSearch2/mediaTypeSearch.feature:172](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L172) - [apiSearch2/mediaTypeSearch.feature:172](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L172)
- [apiSearch2/tagSearch.feature:36](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L36) - [apiSearch2/tagSearch.feature:36](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L36)
- [apiSearch2/tagSearch.feature:68](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L68) - [apiSearch2/tagSearch.feature:68](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L68)
- [apiSearch2/tagSearch.feature:89](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L89) - [apiSearch2/tagSearch.feature:89](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L89)
- [apiSearch2/tagSearch.feature:116](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L116) - [apiSearch2/tagSearch.feature:116](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L116)
- [apiSearch2/tagSearch.feature:150](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L150) - [apiSearch2/tagSearch.feature:150](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L150)
- [apiSearch2/tagSearch.feature:188](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L188) - [apiSearch2/tagSearch.feature:188](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L188)
- [apiSearch2/tagSearch.feature:224](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L224) - [apiSearch2/tagSearch.feature:224](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L224)
- [apiSearch2/tagSearch.feature:243](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L243) - [apiSearch2/tagSearch.feature:243](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L243)
- [apiSearch2/tagSearch.feature:271](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L271) - [apiSearch2/tagSearch.feature:271](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L271)
- [apiSearch2/tagSearch.feature:272](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L272) - [apiSearch2/tagSearch.feature:272](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L272)
- [apiSearch2/tagSearch.feature:273](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L273) - [apiSearch2/tagSearch.feature:273](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L273)
- [apiSearch2/tagSearch.feature:274](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L274) - [apiSearch2/tagSearch.feature:274](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L274)
- [apiSearch2/tagSearch.feature:275](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L275) - [apiSearch2/tagSearch.feature:275](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L275)
- [apiSearch2/tagSearch.feature:276](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L276) - [apiSearch2/tagSearch.feature:276](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L276)
- [apiSearch2/tagSearch.feature:277](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L277) - [apiSearch2/tagSearch.feature:277](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L277)
- [apiSearch2/tagSearch.feature:278](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L278) - [apiSearch2/tagSearch.feature:278](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L278)
- [apiSearch2/tagSearch.feature:279](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L279) - [apiSearch2/tagSearch.feature:279](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L279)
- [apiSearch2/tagSearch.feature:280](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L280) - [apiSearch2/tagSearch.feature:280](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L280)
- [apiSearch2/tagSearch.feature:282](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L282) - [apiSearch2/tagSearch.feature:282](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearch2/tagSearch.feature#L282)
- [apiSearchContent/contentSearch.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L27) - [apiSearchContent/contentSearch.feature:27](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L27)
- [apiSearchContent/contentSearch.feature:51](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L51) - [apiSearchContent/contentSearch.feature:51](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L51)
- [apiSearchContent/contentSearch.feature:84](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L84) - [apiSearchContent/contentSearch.feature:84](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L84)
- [apiSearchContent/contentSearch.feature:112](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L112) - [apiSearchContent/contentSearch.feature:112](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L112)
- [apiSearchContent/contentSearch.feature:131](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L131) - [apiSearchContent/contentSearch.feature:131](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L131)
- [apiSearchContent/contentSearch.feature:148](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L148) - [apiSearchContent/contentSearch.feature:148](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L148)
- [apiSearchContent/contentSearch.feature:164](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L164) - [apiSearchContent/contentSearch.feature:164](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L164)
- [apiSearchContent/contentSearch.feature:187](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L187) - [apiSearchContent/contentSearch.feature:187](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L187)
- [apiSearchContent/contentSearch.feature:216](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L216) - [apiSearchContent/contentSearch.feature:216](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L216)
- [apiSearchContent/contentSearch.feature:234](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L234) - [apiSearchContent/contentSearch.feature:234](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L234)
- [apiSearchContent/contentSearch.feature:235](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L235) - [apiSearchContent/contentSearch.feature:235](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L235)
- [apiSearchContent/contentSearch.feature:236](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L236) - [apiSearchContent/contentSearch.feature:236](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L236)
- [apiSearchContent/contentSearch.feature:237](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L237) - [apiSearchContent/contentSearch.feature:237](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L237)
- [apiSearchContent/contentSearch.feature:238](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L238) - [apiSearchContent/contentSearch.feature:238](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L238)
- [apiSearchContent/contentSearch.feature:239](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L239) - [apiSearchContent/contentSearch.feature:239](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L239)
- [apiSearchContent/contentSearch.feature:268](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L268) - [apiSearchContent/contentSearch.feature:268](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSearchContent/contentSearch.feature#L268)
- [cliCommands/searchReIndex.feature:15](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/cliCommands/searchReIndex.feature#L15) - [cliCommands/searchReIndex.feature:15](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/cliCommands/searchReIndex.feature#L15)
- [coreApiWebdavOperations/search.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L44) - [coreApiWebdavOperations/search.feature:44](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L44)
- [coreApiWebdavOperations/search.feature:62](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L62) - [coreApiWebdavOperations/search.feature:62](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L62)
- [coreApiWebdavOperations/search.feature:81](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L81) - [coreApiWebdavOperations/search.feature:81](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L81)
- [coreApiWebdavOperations/search.feature:112](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L112) - [coreApiWebdavOperations/search.feature:112](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L112)
- [coreApiWebdavOperations/search.feature:132](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L132) - [coreApiWebdavOperations/search.feature:132](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L132)
- [coreApiWebdavOperations/search.feature:153](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L153) - [coreApiWebdavOperations/search.feature:153](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L153)
- [coreApiWebdavOperations/search.feature:231](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L231) - [coreApiWebdavOperations/search.feature:231](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/search.feature#L231)
#### [Downloading public files without remote.php returns 401 unauthorized error](https://github.com/owncloud/ocis/issues/9724) #### [Downloading public files without remote.php returns 401 unauthorized error](https://github.com/owncloud/ocis/issues/9724)
- [apiGraph/enforcePasswordPublicLink.feature:79](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L79) - [apiGraph/enforcePasswordPublicLink.feature:79](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L79)
- [apiGraph/enforcePasswordPublicLink.feature:80](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L80) - [apiGraph/enforcePasswordPublicLink.feature:80](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L80)
- [apiGraph/enforcePasswordPublicLink.feature:107](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L107) - [apiGraph/enforcePasswordPublicLink.feature:107](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L107)
- [apiGraph/enforcePasswordPublicLink.feature:108](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L108) - [apiGraph/enforcePasswordPublicLink.feature:108](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L108)
- [apiGraph/enforcePasswordPublicLink.feature:171](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L171) - [apiGraph/enforcePasswordPublicLink.feature:171](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L171)
- [apiGraph/enforcePasswordPublicLink.feature:172](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L172) - [apiGraph/enforcePasswordPublicLink.feature:172](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L172)
- [apiGraph/enforcePasswordPublicLink.feature:229](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L229) - [apiGraph/enforcePasswordPublicLink.feature:229](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L229)
- [apiGraph/enforcePasswordPublicLink.feature:230](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L230) - [apiGraph/enforcePasswordPublicLink.feature:230](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L230)
- [apiGraph/enforcePasswordPublicLink.feature:231](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L231) - [apiGraph/enforcePasswordPublicLink.feature:231](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L231)
- [apiGraph/enforcePasswordPublicLink.feature:232](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L232) - [apiGraph/enforcePasswordPublicLink.feature:232](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L232)
- [apiGraph/enforcePasswordPublicLink.feature:233](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L233) - [apiGraph/enforcePasswordPublicLink.feature:233](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L233)
- [apiGraph/enforcePasswordPublicLink.feature:234](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L234) - [apiGraph/enforcePasswordPublicLink.feature:234](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L234)
- [apiGraph/enforcePasswordPublicLink.feature:235](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L235) - [apiGraph/enforcePasswordPublicLink.feature:235](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L235)
- [apiGraph/enforcePasswordPublicLink.feature:236](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L236) - [apiGraph/enforcePasswordPublicLink.feature:236](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiGraph/enforcePasswordPublicLink.feature#L236)
- [apiSpaces/editPublicLinkOfSpace.feature:52](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/editPublicLinkOfSpace.feature#L52) - [apiSpaces/editPublicLinkOfSpace.feature:52](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/editPublicLinkOfSpace.feature#L52)
- [apiSpaces/editPublicLinkOfSpace.feature:53](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/editPublicLinkOfSpace.feature#L53) - [apiSpaces/editPublicLinkOfSpace.feature:53](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/editPublicLinkOfSpace.feature#L53)
- [apiSpacesShares/publicLinkDownload.feature:16](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/publicLinkDownload.feature#L16) - [apiSpacesShares/publicLinkDownload.feature:16](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/publicLinkDownload.feature#L16)
- [apiSpacesShares/publicLinkDownload.feature:32](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/publicLinkDownload.feature#L32) - [apiSpacesShares/publicLinkDownload.feature:32](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/publicLinkDownload.feature#L32)
- [apiSpacesShares/shareSpacesViaLink.feature:45](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L45) - [apiSpacesShares/shareSpacesViaLink.feature:45](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L45)
- [apiSpacesShares/shareSpacesViaLink.feature:46](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L46) - [apiSpacesShares/shareSpacesViaLink.feature:46](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L46)
- [apiSpacesShares/shareSpacesViaLink.feature:47](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L47) - [apiSpacesShares/shareSpacesViaLink.feature:47](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L47)
- [apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature:149](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature#L149) - [apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature:149](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature#L149)
- [apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature:150](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature#L150) - [apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature:150](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareSubItemOfSpaceViaPublicLink.feature#L150)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:478](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L478) - [apiSharingNgLinkSharePermission/createLinkShare.feature:478](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L478)
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1225](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1225) - [apiSharingNgLinkSharePermission/createLinkShare.feature:1225](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1225)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:209](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L209) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:209](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L209)
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:287](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L287) - [apiSharingNgLinkSharePermission/updateLinkShare.feature:287](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/updateLinkShare.feature#L287)
- [apiSharingNgLinkShareRoot/updateLinkShare.feature:10](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/updateLinkShare.feature#L10) - [apiSharingNgLinkShareRoot/updateLinkShare.feature:10](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/updateLinkShare.feature#L10)
- [apiSharingNgLinkShareRoot/updateLinkShare.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/updateLinkShare.feature#L42) - [apiSharingNgLinkShareRoot/updateLinkShare.feature:42](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSharingNgLinkShareRoot/updateLinkShare.feature#L42)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:219](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L219) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:219](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L219)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:220](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L220) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:220](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L220)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:59](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L59) - [coreApiSharePublicLink1/createPublicLinkShare.feature:59](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L59)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L60) - [coreApiSharePublicLink1/createPublicLinkShare.feature:60](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L60)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:88](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L88) - [coreApiSharePublicLink1/createPublicLinkShare.feature:88](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L88)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:89](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L89) - [coreApiSharePublicLink1/createPublicLinkShare.feature:89](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L89)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:122](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L122) - [coreApiSharePublicLink1/createPublicLinkShare.feature:122](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L122)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:123](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L123) - [coreApiSharePublicLink1/createPublicLinkShare.feature:123](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L123)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:209](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L209) - [coreApiSharePublicLink1/createPublicLinkShare.feature:209](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L209)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:210](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L210) - [coreApiSharePublicLink1/createPublicLinkShare.feature:210](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L210)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:229](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L229) - [coreApiSharePublicLink1/createPublicLinkShare.feature:229](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L229)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:230](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L230) - [coreApiSharePublicLink1/createPublicLinkShare.feature:230](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L230)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:257](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L257) - [coreApiSharePublicLink1/createPublicLinkShare.feature:257](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L257)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:258](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L258) - [coreApiSharePublicLink1/createPublicLinkShare.feature:258](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L258)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:273](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L273) - [coreApiSharePublicLink1/createPublicLinkShare.feature:273](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L273)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:274](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L274) - [coreApiSharePublicLink1/createPublicLinkShare.feature:274](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L274)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:277](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L277) - [coreApiSharePublicLink1/createPublicLinkShare.feature:277](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L277)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:291](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L291) - [coreApiSharePublicLink1/createPublicLinkShare.feature:291](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L291)
- [coreApiSharePublicLink2/updatePublicLinkShare.feature:111](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L111) - [coreApiSharePublicLink2/updatePublicLinkShare.feature:111](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L111)
- [coreApiSharePublicLink2/updatePublicLinkShare.feature:112](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L112) - [coreApiSharePublicLink2/updatePublicLinkShare.feature:112](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L112)
- [coreApiSharePublicLink2/updatePublicLinkShare.feature:249](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L249) - [coreApiSharePublicLink2/updatePublicLinkShare.feature:249](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L249)
- [coreApiSharePublicLink2/updatePublicLinkShare.feature:250](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L250) - [coreApiSharePublicLink2/updatePublicLinkShare.feature:250](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L250)
- [coreApiSharePublicLink2/updatePublicLinkShare.feature:276](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L276) - [coreApiSharePublicLink2/updatePublicLinkShare.feature:276](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L276)
- [coreApiSharePublicLink2/updatePublicLinkShare.feature:277](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L277) - [coreApiSharePublicLink2/updatePublicLinkShare.feature:277](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/updatePublicLinkShare.feature#L277)
#### [Most (if not all) requests to public link share without remote.php returns 401 Unauthorized error](https://github.com/owncloud/ocis/issues/10331) #### [Most (if not all) requests to public link share without remote.php returns 401 Unauthorized error](https://github.com/owncloud/ocis/issues/10331)
- [apiSpaces/publicLink.feature:18](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L18) - [apiSpaces/publicLink.feature:18](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L18)
- [apiSpaces/publicLink.feature:23](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L23) - [apiSpaces/publicLink.feature:23](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L23)
- [apiSpaces/publicLink.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L28) - [apiSpaces/publicLink.feature:28](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L28)
- [apiSpaces/publicLink.feature:34](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L34) - [apiSpaces/publicLink.feature:34](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L34)
- [apiSpaces/publicLink.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L40) - [apiSpaces/publicLink.feature:40](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/publicLink.feature#L40)
- [apiSpaces/uploadSpaces.feature:98](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/uploadSpaces.feature#L98) - [apiSpaces/uploadSpaces.feature:98](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/uploadSpaces.feature#L98)
- [apiSpaces/uploadSpaces.feature:115](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/uploadSpaces.feature#L115) - [apiSpaces/uploadSpaces.feature:115](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/uploadSpaces.feature#L115)
- [apiSpaces/uploadSpaces.feature:132](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/uploadSpaces.feature#L132) - [apiSpaces/uploadSpaces.feature:132](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/uploadSpaces.feature#L132)
- [apiSpacesShares/shareSpacesViaLink.feature:61](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L61) - [apiSpacesShares/shareSpacesViaLink.feature:61](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpacesShares/shareSpacesViaLink.feature#L61)
- [apiDepthInfinity/propfind.feature:74](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiDepthInfinity/propfind.feature#L74) - [apiDepthInfinity/propfind.feature:74](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiDepthInfinity/propfind.feature#L74)
- [apiDepthInfinity/propfind.feature:124](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiDepthInfinity/propfind.feature#L124) - [apiDepthInfinity/propfind.feature:124](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiDepthInfinity/propfind.feature#L124)
- [apiLocks/lockFiles.feature:490](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L490) - [apiLocks/lockFiles.feature:490](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L490)
- [apiLocks/lockFiles.feature:487](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L487) - [apiLocks/lockFiles.feature:487](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L487)
- [apiLocks/lockFiles.feature:488](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L488) - [apiLocks/lockFiles.feature:488](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L488)
- [apiLocks/lockFiles.feature:489](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L489) - [apiLocks/lockFiles.feature:489](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L489)
- [apiLocks/lockFiles.feature:513](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L513) - [apiLocks/lockFiles.feature:513](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L513)
- [apiLocks/lockFiles.feature:510](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L510) - [apiLocks/lockFiles.feature:510](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L510)
- [apiLocks/lockFiles.feature:511](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L511) - [apiLocks/lockFiles.feature:511](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L511)
- [apiLocks/lockFiles.feature:512](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L512) - [apiLocks/lockFiles.feature:512](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L512)
- [apiLocks/unlockFiles.feature:320](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L320) - [apiLocks/unlockFiles.feature:320](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L320)
- [apiLocks/unlockFiles.feature:321](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L321) - [apiLocks/unlockFiles.feature:321](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L321)
- [apiLocks/unlockFiles.feature:322](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L322) - [apiLocks/unlockFiles.feature:322](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L322)
- [apiLocks/unlockFiles.feature:323](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L323) - [apiLocks/unlockFiles.feature:323](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L323)
- [apiActivities/shareActivities.feature:1956](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiActivities/shareActivities.feature#L1956) - [apiActivities/shareActivities.feature:1956](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiActivities/shareActivities.feature#L1956)
- [apiActivities/shareActivities.feature:2095](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiActivities/shareActivities.feature#L2095) - [apiActivities/shareActivities.feature:2095](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiActivities/shareActivities.feature#L2095)
- [apiAntivirus/antivirus.feature:114](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L114) - [apiAntivirus/antivirus.feature:114](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L114)
- [apiAntivirus/antivirus.feature:115](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L115) - [apiAntivirus/antivirus.feature:115](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L115)
- [apiAntivirus/antivirus.feature:116](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L116) - [apiAntivirus/antivirus.feature:116](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L116)
- [apiAntivirus/antivirus.feature:117](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L117) - [apiAntivirus/antivirus.feature:117](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L117)
- [apiAntivirus/antivirus.feature:118](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L118) - [apiAntivirus/antivirus.feature:118](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L118)
- [apiAntivirus/antivirus.feature:119](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L119) - [apiAntivirus/antivirus.feature:119](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L119)
- [apiAntivirus/antivirus.feature:140](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L140) - [apiAntivirus/antivirus.feature:140](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L140)
- [apiAntivirus/antivirus.feature:141](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L141) - [apiAntivirus/antivirus.feature:141](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L141)
- [apiAntivirus/antivirus.feature:142](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L142) - [apiAntivirus/antivirus.feature:142](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L142)
- [apiAntivirus/antivirus.feature:143](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L143) - [apiAntivirus/antivirus.feature:143](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L143)
- [apiAntivirus/antivirus.feature:144](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L144) - [apiAntivirus/antivirus.feature:144](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L144)
- [apiAntivirus/antivirus.feature:145](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L145) - [apiAntivirus/antivirus.feature:145](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L145)
- [apiAntivirus/antivirus.feature:356](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L356) - [apiAntivirus/antivirus.feature:356](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L356)
- [apiAntivirus/antivirus.feature:357](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L357) - [apiAntivirus/antivirus.feature:357](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L357)
- [apiAntivirus/antivirus.feature:358](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L358) - [apiAntivirus/antivirus.feature:358](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiAntivirus/antivirus.feature#L358)
- [apiCollaboration/wopi.feature:956](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L956) - [apiCollaboration/wopi.feature:956](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L956)
- [apiCollaboration/wopi.feature:957](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L957) - [apiCollaboration/wopi.feature:957](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L957)
- [apiCollaboration/wopi.feature:958](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L958) - [apiCollaboration/wopi.feature:958](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L958)
- [apiCollaboration/wopi.feature:961](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L961) - [apiCollaboration/wopi.feature:961](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L961)
- [apiCollaboration/wopi.feature:1047](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1047) - [apiCollaboration/wopi.feature:1047](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1047)
- [apiCollaboration/wopi.feature:1048](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1048) - [apiCollaboration/wopi.feature:1048](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1048)
- [apiCollaboration/wopi.feature:1049](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1049) - [apiCollaboration/wopi.feature:1049](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1049)
- [apiCollaboration/wopi.feature:1052](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1052) - [apiCollaboration/wopi.feature:1052](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiCollaboration/wopi.feature#L1052)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L27) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:27](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L27)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L28) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:28](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L28)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L29) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:29](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L29)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:30](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L30) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:30](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L30)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:33](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L33) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:33](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L33)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:46](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L46) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:46](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L46)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:70](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L70) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:70](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L70)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:95](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L95) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:95](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L95)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:120](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L120) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:120](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L120)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:132](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L132) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:132](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L132)
- [coreApiSharePublicLink1/changingPublicLinkShare.feature:145](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L145) - [coreApiSharePublicLink1/changingPublicLinkShare.feature:145](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/changingPublicLinkShare.feature#L145)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:189](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L189) - [coreApiSharePublicLink1/createPublicLinkShare.feature:189](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L189)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:190](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L190) - [coreApiSharePublicLink1/createPublicLinkShare.feature:190](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L190)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:304](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L304) - [coreApiSharePublicLink1/createPublicLinkShare.feature:304](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L304)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:328](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L328) - [coreApiSharePublicLink1/createPublicLinkShare.feature:328](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L328)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:329](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L329) - [coreApiSharePublicLink1/createPublicLinkShare.feature:329](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L329)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:344](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L344) - [coreApiSharePublicLink1/createPublicLinkShare.feature:344](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L344)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:345](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L345) - [coreApiSharePublicLink1/createPublicLinkShare.feature:345](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L345)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:348](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L348) - [coreApiSharePublicLink1/createPublicLinkShare.feature:348](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L348)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:363](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L363) - [coreApiSharePublicLink1/createPublicLinkShare.feature:363](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L363)
- [coreApiSharePublicLink1/createPublicLinkShare.feature:377](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L377) - [coreApiSharePublicLink1/createPublicLinkShare.feature:377](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink1/createPublicLinkShare.feature#L377)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:13](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L13) - [coreApiSharePublicLink2/copyFromPublicLink.feature:13](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L13)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L28) - [coreApiSharePublicLink2/copyFromPublicLink.feature:28](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L28)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L44) - [coreApiSharePublicLink2/copyFromPublicLink.feature:44](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L44)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L60) - [coreApiSharePublicLink2/copyFromPublicLink.feature:60](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L60)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L75) - [coreApiSharePublicLink2/copyFromPublicLink.feature:75](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L75)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L92) - [coreApiSharePublicLink2/copyFromPublicLink.feature:92](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L92)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:105](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L105) - [coreApiSharePublicLink2/copyFromPublicLink.feature:105](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L105)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:137](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L137) - [coreApiSharePublicLink2/copyFromPublicLink.feature:137](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L137)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:138](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L138) - [coreApiSharePublicLink2/copyFromPublicLink.feature:138](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L138)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:139](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L139) - [coreApiSharePublicLink2/copyFromPublicLink.feature:139](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L139)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:140](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L140) - [coreApiSharePublicLink2/copyFromPublicLink.feature:140](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L140)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:158](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L158) - [coreApiSharePublicLink2/copyFromPublicLink.feature:158](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L158)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:159](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L159) - [coreApiSharePublicLink2/copyFromPublicLink.feature:159](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L159)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:160](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L160) - [coreApiSharePublicLink2/copyFromPublicLink.feature:160](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L160)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:161](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L161) - [coreApiSharePublicLink2/copyFromPublicLink.feature:161](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L161)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:180](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L180) - [coreApiSharePublicLink2/copyFromPublicLink.feature:180](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L180)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:181](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L181) - [coreApiSharePublicLink2/copyFromPublicLink.feature:181](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L181)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:182](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L182) - [coreApiSharePublicLink2/copyFromPublicLink.feature:182](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L182)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:183](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L183) - [coreApiSharePublicLink2/copyFromPublicLink.feature:183](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L183)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:186](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L186) - [coreApiSharePublicLink2/copyFromPublicLink.feature:186](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L186)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:212](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L212) - [coreApiSharePublicLink2/copyFromPublicLink.feature:212](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L212)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:225](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L225) - [coreApiSharePublicLink2/copyFromPublicLink.feature:225](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L225)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L28) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:28](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L28)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L29) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:29](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L29)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:30](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L30) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:30](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L30)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:33](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L33) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:33](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L33)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L44) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:44](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L44)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:58](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L58) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:58](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L58)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:70](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L70) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:70](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L70)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:82](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L82) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:82](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L82)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:94](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L94) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:94](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L94)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:106](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L106) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:106](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L106)
- [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:118](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L118) - [coreApiSharePublicLink2/uploadToPublicLinkShare.feature:118](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiSharePublicLink2/uploadToPublicLinkShare.feature#L118)
- [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:238](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L238) - [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:238](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L238)
- [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:239](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L239) - [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:239](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L239)
- [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:240](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L240) - [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:240](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L240)
- [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:262](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L262) - [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:262](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L262)
- [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:263](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L263) - [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:263](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L263)
- [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:264](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L264) - [coreApiWebdavEtagPropagation1/deleteFileFolder.feature:264](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/deleteFileFolder.feature#L264)
- [coreApiWebdavEtagPropagation1/moveFileFolder.feature:308](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L308) - [coreApiWebdavEtagPropagation1/moveFileFolder.feature:308](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L308)
- [coreApiWebdavEtagPropagation1/moveFileFolder.feature:309](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L309) - [coreApiWebdavEtagPropagation1/moveFileFolder.feature:309](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L309)
- [coreApiWebdavEtagPropagation1/moveFileFolder.feature:310](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L310) - [coreApiWebdavEtagPropagation1/moveFileFolder.feature:310](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L310)
- [coreApiWebdavEtagPropagation1/moveFileFolder.feature:333](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L333) - [coreApiWebdavEtagPropagation1/moveFileFolder.feature:333](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L333)
- [coreApiWebdavEtagPropagation1/moveFileFolder.feature:334](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L334) - [coreApiWebdavEtagPropagation1/moveFileFolder.feature:334](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L334)
- [coreApiWebdavEtagPropagation1/moveFileFolder.feature:335](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L335) - [coreApiWebdavEtagPropagation1/moveFileFolder.feature:335](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation1/moveFileFolder.feature#L335)
- [coreApiWebdavEtagPropagation2/copyFileFolder.feature:135](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/copyFileFolder.feature#L135) - [coreApiWebdavEtagPropagation2/copyFileFolder.feature:135](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/copyFileFolder.feature#L135)
- [coreApiWebdavEtagPropagation2/copyFileFolder.feature:136](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/copyFileFolder.feature#L136) - [coreApiWebdavEtagPropagation2/copyFileFolder.feature:136](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/copyFileFolder.feature#L136)
- [coreApiWebdavEtagPropagation2/copyFileFolder.feature:137](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/copyFileFolder.feature#L137) - [coreApiWebdavEtagPropagation2/copyFileFolder.feature:137](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/copyFileFolder.feature#L137)
- [coreApiWebdavEtagPropagation2/createFolder.feature:111](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/createFolder.feature#L111) - [coreApiWebdavEtagPropagation2/createFolder.feature:111](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/createFolder.feature#L111)
- [coreApiWebdavEtagPropagation2/upload.feature:188](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/upload.feature#L188) - [coreApiWebdavEtagPropagation2/upload.feature:188](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/upload.feature#L188)
- [coreApiWebdavEtagPropagation2/upload.feature:189](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/upload.feature#L189) - [coreApiWebdavEtagPropagation2/upload.feature:189](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/upload.feature#L189)
- [coreApiWebdavEtagPropagation2/upload.feature:190](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/upload.feature#L190) - [coreApiWebdavEtagPropagation2/upload.feature:190](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavEtagPropagation2/upload.feature#L190)
- [coreApiWebdavOperations/listFiles.feature:112](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/listFiles.feature#L112) - [coreApiWebdavOperations/listFiles.feature:112](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/listFiles.feature#L112)
- [coreApiWebdavOperations/listFiles.feature:140](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/listFiles.feature#L140) - [coreApiWebdavOperations/listFiles.feature:140](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/listFiles.feature#L140)
- [coreApiWebdavOperations/propfind.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L40) - [coreApiWebdavOperations/propfind.feature:40](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L40)
- [coreApiWebdavOperations/propfind.feature:55](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L55) - [coreApiWebdavOperations/propfind.feature:55](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L55)
- [coreApiWebdavOperations/propfind.feature:69](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L69) - [coreApiWebdavOperations/propfind.feature:69](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L69)
- [coreApiWebdavUpload/uploadFile.feature:376](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L376) - [coreApiWebdavUpload/uploadFile.feature:376](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUpload/uploadFile.feature#L376)
#### [Cannot create new TUS upload resource using /webdav without remote.php - returns html instead](https://github.com/owncloud/ocis/issues/10346) #### [Cannot create new TUS upload resource using /webdav without remote.php - returns html instead](https://github.com/owncloud/ocis/issues/10346)
- [apiSpaces/tusUpload.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/tusUpload.feature#L60) - [apiSpaces/tusUpload.feature:60](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/tusUpload.feature#L60)
- [apiSpaces/tusUpload.feature:104](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpaces/tusUpload.feature#L104) - [apiSpaces/tusUpload.feature:104](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/apiSpaces/tusUpload.feature#L104)
- [coreApiWebdavUploadTUS/creationWithUploadExtension.feature:38](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/creationWithUploadExtension.feature#L38) - [coreApiWebdavUploadTUS/creationWithUploadExtension.feature:38](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/creationWithUploadExtension.feature#L38)
- [coreApiWebdavUploadTUS/uploadFile.feature:16](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L16) - [coreApiWebdavUploadTUS/uploadFile.feature:16](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L16)
- [coreApiWebdavUploadTUS/uploadFile.feature:17](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L17) - [coreApiWebdavUploadTUS/uploadFile.feature:17](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L17)
- [coreApiWebdavUploadTUS/uploadFile.feature:18](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L18) - [coreApiWebdavUploadTUS/uploadFile.feature:18](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L18)
- [coreApiWebdavUploadTUS/uploadFile.feature:19](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L19) - [coreApiWebdavUploadTUS/uploadFile.feature:19](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L19)
- [coreApiWebdavUploadTUS/uploadFile.feature:20](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L20) - [coreApiWebdavUploadTUS/uploadFile.feature:20](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L20)
- [coreApiWebdavUploadTUS/uploadFile.feature:21](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L21) - [coreApiWebdavUploadTUS/uploadFile.feature:21](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L21)
- [coreApiWebdavUploadTUS/uploadFile.feature:22](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L22) - [coreApiWebdavUploadTUS/uploadFile.feature:22](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L22)
- [coreApiWebdavUploadTUS/uploadFile.feature:46](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L46) - [coreApiWebdavUploadTUS/uploadFile.feature:46](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L46)
- [coreApiWebdavUploadTUS/uploadFile.feature:47](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L47) - [coreApiWebdavUploadTUS/uploadFile.feature:47](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L47)
- [coreApiWebdavUploadTUS/uploadFile.feature:48](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L48) - [coreApiWebdavUploadTUS/uploadFile.feature:48](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L48)
- [coreApiWebdavUploadTUS/uploadFile.feature:49](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L49) - [coreApiWebdavUploadTUS/uploadFile.feature:49](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L49)
- [coreApiWebdavUploadTUS/uploadFile.feature:50](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L50) - [coreApiWebdavUploadTUS/uploadFile.feature:50](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L50)
- [coreApiWebdavUploadTUS/uploadFile.feature:51](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L51) - [coreApiWebdavUploadTUS/uploadFile.feature:51](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L51)
- [coreApiWebdavUploadTUS/uploadFile.feature:52](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L52) - [coreApiWebdavUploadTUS/uploadFile.feature:52](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L52)
- [coreApiWebdavUploadTUS/uploadFile.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L75) - [coreApiWebdavUploadTUS/uploadFile.feature:75](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L75)
- [coreApiWebdavUploadTUS/uploadFile.feature:86](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L86) - [coreApiWebdavUploadTUS/uploadFile.feature:86](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L86)
- [coreApiWebdavUploadTUS/uploadFile.feature:98](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L98) - [coreApiWebdavUploadTUS/uploadFile.feature:98](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L98)
- [coreApiWebdavUploadTUS/uploadFile.feature:109](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L109) - [coreApiWebdavUploadTUS/uploadFile.feature:109](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L109)
- [coreApiWebdavUploadTUS/uploadFile.feature:122](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L122) - [coreApiWebdavUploadTUS/uploadFile.feature:122](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L122)
- [coreApiWebdavUploadTUS/uploadFile.feature:133](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L133) - [coreApiWebdavUploadTUS/uploadFile.feature:133](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L133)
- [coreApiWebdavUploadTUS/uploadFile.feature:146](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L146) - [coreApiWebdavUploadTUS/uploadFile.feature:146](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L146)
- [coreApiWebdavUploadTUS/uploadFile.feature:168](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L168) - [coreApiWebdavUploadTUS/uploadFile.feature:168](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L168)
- [coreApiWebdavUploadTUS/uploadFile.feature:187](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L187) - [coreApiWebdavUploadTUS/uploadFile.feature:187](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L187)
- [coreApiWebdavUploadTUS/uploadFile.feature:199](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L199) - [coreApiWebdavUploadTUS/uploadFile.feature:199](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L199)
- [coreApiWebdavUploadTUS/uploadFile.feature:212](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L212) - [coreApiWebdavUploadTUS/uploadFile.feature:212](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFile.feature#L212)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:16](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L16) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:16](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L16)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L27) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:27](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L27)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:39](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L39) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:39](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L39)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:51](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L51) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:51](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L51)
- [coreApiWebdavUploadTUS/uploadFileMtime.feature:65](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L65) - [coreApiWebdavUploadTUS/uploadFileMtime.feature:65](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtime.feature#L65)
- [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L29) - [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:29](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L29)
- [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:48](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L48) - [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:48](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L48)
- [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:69](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L69) - [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:69](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L69)
- [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:89](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L89) - [coreApiWebdavUploadTUS/uploadFileMtimeShares.feature:89](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadFileMtimeShares.feature#L89)
- [coreApiWebdavUploadTUS/uploadToMoveFolder.feature:20](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToMoveFolder.feature#L20) - [coreApiWebdavUploadTUS/uploadToMoveFolder.feature:20](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToMoveFolder.feature#L20)
- [coreApiWebdavUploadTUS/uploadToShare.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L29) - [coreApiWebdavUploadTUS/uploadToShare.feature:29](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L29)
- [coreApiWebdavUploadTUS/uploadToShare.feature:48](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L48) - [coreApiWebdavUploadTUS/uploadToShare.feature:48](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L48)
- [coreApiWebdavUploadTUS/uploadToShare.feature:69](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L69) - [coreApiWebdavUploadTUS/uploadToShare.feature:69](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L69)
- [coreApiWebdavUploadTUS/uploadToShare.feature:89](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L89) - [coreApiWebdavUploadTUS/uploadToShare.feature:89](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L89)
#### [PROPFIND to /webdav root (old dav path) without remote.php returns html instead of xml](https://github.com/owncloud/ocis/issues/10334) #### [PROPFIND to /webdav root (old dav path) without remote.php returns html instead of xml](https://github.com/owncloud/ocis/issues/10334)
- [coreApiAuth/webDavAuth.feature:15](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiAuth/webDavAuth.feature#L15) - [coreApiAuth/webDavAuth.feature:15](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiAuth/webDavAuth.feature#L15)
- [coreApiAuth/webDavAuth.feature:25](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiAuth/webDavAuth.feature#L25) - [coreApiAuth/webDavAuth.feature:25](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiAuth/webDavAuth.feature#L25)
- [coreApiShareManagementToShares/moveReceivedShare.feature:49](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiShareManagementToShares/moveReceivedShare.feature#L49) - [coreApiShareManagementToShares/moveReceivedShare.feature:49](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiShareManagementToShares/moveReceivedShare.feature#L49)
- [coreApiShareManagementToShares/moveReceivedShare.feature:130](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiShareManagementToShares/moveReceivedShare.feature#L130) - [coreApiShareManagementToShares/moveReceivedShare.feature:130](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiShareManagementToShares/moveReceivedShare.feature#L130)
- [coreApiShareManagementToShares/moveReceivedShare.feature:129](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiShareManagementToShares/moveReceivedShare.feature#L129) - [coreApiShareManagementToShares/moveReceivedShare.feature:129](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiShareManagementToShares/moveReceivedShare.feature#L129)
- [coreApiWebdavOperations/propfind.feature:25](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L25) - [coreApiWebdavOperations/propfind.feature:25](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L25)
- [coreApiWebdavOperations/propfind.feature:26](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L26) - [coreApiWebdavOperations/propfind.feature:26](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L26)
- [coreApiWebdavOperations/propfind.feature:36](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L36) - [coreApiWebdavOperations/propfind.feature:36](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavOperations/propfind.feature#L36)
#### [Public cannot download file preview of unprotected (without password) link share without remote.php](https://github.com/owncloud/ocis/issues/10341) #### [Public cannot download file preview of unprotected (without password) link share without remote.php](https://github.com/owncloud/ocis/issues/10341)
- [coreApiWebdavPreviews/linkSharePreviews.feature:25](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/linkSharePreviews.feature#L25) - [coreApiWebdavPreviews/linkSharePreviews.feature:25](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavPreviews/linkSharePreviews.feature#L25)
- [coreApiWebdavPreviews/linkSharePreviews.feature:54](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/linkSharePreviews.feature#L54) - [coreApiWebdavPreviews/linkSharePreviews.feature:54](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavPreviews/linkSharePreviews.feature#L54)
#### [Trying to create .. resource with /webdav root (old dav path) without remote.php returns html](https://github.com/owncloud/ocis/issues/10339) #### [Trying to create .. resource with /webdav root (old dav path) without remote.php returns html](https://github.com/owncloud/ocis/issues/10339)
- [coreApiWebdavProperties/createFileFolder.feature:176](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L176) - [coreApiWebdavProperties/createFileFolder.feature:176](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L176)
- [coreApiWebdavProperties/createFileFolder.feature:177](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L177) - [coreApiWebdavProperties/createFileFolder.feature:177](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L177)
- [coreApiWebdavProperties/createFileFolder.feature:196](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L196) - [coreApiWebdavProperties/createFileFolder.feature:196](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L196)
- [coreApiWebdavProperties/createFileFolder.feature:197](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L197) - [coreApiWebdavProperties/createFileFolder.feature:197](https://github.com/opencloud-eu/opencloud/blob/master/tests/acceptance/features/coreApiWebdavProperties/createFileFolder.feature#L197)
Note: always have an empty line at the end of this file. Note: always have an empty line at the end of this file.
The bash script that processes this file requires that the last line has a newline on the end. The bash script that processes this file requires that the last line has a newline on the end.
@@ -2,7 +2,7 @@
Feature: add user Feature: add user
As an admin As an admin
I want to be able to add users and store their password with the full hash difficulty I want to be able to add users and store their password with the full hash difficulty
So that I can give people controlled individual access to resources on the ownCloud server So that I can give people controlled individual access to resources on the OpenCloud server
Note - this feature is run in CI with ACCOUNTS_HASH_DIFFICULTY set to the default for production Note - this feature is run in CI with ACCOUNTS_HASH_DIFFICULTY set to the default for production
See https://github.com/owncloud/ocis/issues/1542 and https://github.com/owncloud/ocis/pull/839 See https://github.com/owncloud/ocis/issues/1542 and https://github.com/owncloud/ocis/pull/839
@@ -11,10 +11,10 @@ Feature: sharing
Scenario Outline: creating a share of a file with a user Scenario Outline: creating a share of a file with a user
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Alice" has been created with default attributes And user "Alice" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API
And the content of file "/Shares/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/Shares/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
Examples: Examples:
| ocs-api-version | | ocs-api-version |
| 1 | | 1 |
@@ -8,7 +8,7 @@ Feature: check activities
@issue-9712 @issue-9712
Scenario: check activities after uploading a file and a folder Scenario: check activities after uploading a file and a folder
Given user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
When user "Alice" lists the activities of file "textfile.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "textfile.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
@@ -185,8 +185,8 @@ Feature: check activities
@issue-10001 @issue-10001
Scenario: check edit activity of a file Scenario: check edit activity of a file
Given user "Alice" has uploaded file with content "ownCloud test text file" to "/textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "/textfile.txt"
And user "Alice" has uploaded file with content "edited ownCloud test text file" to "/textfile.txt" And user "Alice" has uploaded file with content "edited OpenCloud test text file" to "/textfile.txt"
When user "Alice" lists the activities of file "/textfile.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "/textfile.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the JSON data of the response should match And the JSON data of the response should match
@@ -290,7 +290,7 @@ Feature: check activities
@issue-9712 @issue-9712
Scenario: check activities after deleting a file and a folder Scenario: check activities after deleting a file and a folder
Given user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
And user "Alice" has deleted file "textfile.txt" And user "Alice" has deleted file "textfile.txt"
And user "Alice" has deleted folder "FOLDER" And user "Alice" has deleted folder "FOLDER"
@@ -667,7 +667,7 @@ Feature: check activities
Scenario: check activities of destination file and folder after moving a file into it Scenario: check activities of destination file and folder after moving a file into it
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
And user "Alice" has moved file "textfile.txt" to "FOLDER/textfile.txt" And user "Alice" has moved file "textfile.txt" to "FOLDER/textfile.txt"
When user "Alice" lists the activities of file "FOLDER/textfile.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "FOLDER/textfile.txt" from space "Personal" using the Graph API
@@ -1140,7 +1140,7 @@ Feature: check activities
Scenario: check activities of destination file and folder after moving a file by renaming destination file Scenario: check activities of destination file and folder after moving a file by renaming destination file
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
And user "Alice" has moved file "textfile.txt" to "FOLDER/renamed.txt" And user "Alice" has moved file "textfile.txt" to "FOLDER/renamed.txt"
When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API
@@ -1612,7 +1612,7 @@ Feature: check activities
@issue-9712 @issue-9712
Scenario: check rename activity for a file and a folder Scenario: check rename activity for a file and a folder
Given user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
And user "Alice" has moved file "textfile.txt" to "renamed.txt" And user "Alice" has moved file "textfile.txt" to "renamed.txt"
And user "Alice" has moved folder "/FOLDER" to "RENAMED FOLDER" And user "Alice" has moved folder "/FOLDER" to "RENAMED FOLDER"
@@ -1840,7 +1840,7 @@ Feature: check activities
Given user "Alice" has created folder "/New Folder" Given user "Alice" has created folder "/New Folder"
And user "Alice" has created folder "/New Folder/Folder" And user "Alice" has created folder "/New Folder/Folder"
And user "Alice" has created folder "/New Folder/Sub Folder" And user "Alice" has created folder "/New Folder/Sub Folder"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/New Folder/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/New Folder/textfile.txt"
And user "Alice" has moved file "/New Folder/textfile.txt" to "/New Folder/Sub Folder/textfile.txt" And user "Alice" has moved file "/New Folder/textfile.txt" to "/New Folder/Sub Folder/textfile.txt"
And user "Alice" has moved folder "/New Folder/Folder" to "/New Folder/Sub Folder/Folder" And user "Alice" has moved folder "/New Folder/Folder" to "/New Folder/Sub Folder/Folder"
And user "Alice" has moved file "/New Folder/Sub Folder/textfile.txt" to "/New Folder/Sub Folder/renamed.txt" And user "Alice" has moved file "/New Folder/Sub Folder/textfile.txt" to "/New Folder/Sub Folder/renamed.txt"
@@ -2369,9 +2369,9 @@ Feature: check activities
@issue-10210 @issue-10210
Scenario: check activities of a folder after renaming Scenario: check activities of a folder after renaming
Given user "Alice" has created folder "FOLDER" Given user "Alice" has created folder "FOLDER"
And user "Alice" has uploaded file with content "ownCloud test text file" to "FOLDER/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file" to "FOLDER/textfile.txt"
And user "Alice" has moved folder "FOLDER" to "RENAMED FOLDER" And user "Alice" has moved folder "FOLDER" to "RENAMED FOLDER"
And user "Alice" has uploaded file with content "updated ownCloud test text file" to "RENAMED FOLDER/textfile.txt" And user "Alice" has uploaded file with content "updated OpenCloud test text file" to "RENAMED FOLDER/textfile.txt"
When user "Alice" lists the activities of file "RENAMED FOLDER" from space "Personal" using the Graph API When user "Alice" lists the activities of file "RENAMED FOLDER" from space "Personal" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the JSON data of the response should match And the JSON data of the response should match
@@ -2596,7 +2596,7 @@ Feature: check activities
@issue-9856 @issue-10127 @issue-9856 @issue-10127
Scenario: check activity message with different language Scenario: check activity message with different language
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And user "Alice" has switched the system language to "de" using the Graph API And user "Alice" has switched the system language to "de" using the Graph API
When user "Alice" lists the activities of file "textfile.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "textfile.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
@@ -2693,7 +2693,7 @@ Feature: check activities
Scenario: check activity with -1 depth filter Scenario: check activity with -1 depth filter
Given user "Alice" has created folder "/New Folder" Given user "Alice" has created folder "/New Folder"
And user "Alice" has created folder "/New Folder/Sub Folder" And user "Alice" has created folder "/New Folder/Sub Folder"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt"
When user "Alice" lists the activities of folder "New Folder" from space "Personal" with depth "-1" using the Graph API When user "Alice" lists the activities of folder "New Folder" from space "Personal" with depth "-1" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the JSON data of the response should match And the JSON data of the response should match
@@ -2888,7 +2888,7 @@ Feature: check activities
Scenario: check activity with depth filter Scenario: check activity with depth filter
Given user "Alice" has created folder "/New Folder" Given user "Alice" has created folder "/New Folder"
And user "Alice" has created folder "/New Folder/Sub Folder" And user "Alice" has created folder "/New Folder/Sub Folder"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt"
When user "Alice" lists the activities of folder "New Folder" from space "Personal" with depth "1" using the Graph API When user "Alice" lists the activities of folder "New Folder" from space "Personal" with depth "1" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the JSON data of the response should match And the JSON data of the response should match
@@ -3027,7 +3027,7 @@ Feature: check activities
Scenario: check activity with limit filter Scenario: check activity with limit filter
Given user "Alice" has created folder "/New Folder" Given user "Alice" has created folder "/New Folder"
And user "Alice" has created folder "/New Folder/Sub Folder" And user "Alice" has created folder "/New Folder/Sub Folder"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt"
When user "Alice" lists the activities of folder "New Folder" from space "Personal" with limit "2" using the Graph API When user "Alice" lists the activities of folder "New Folder" from space "Personal" with limit "2" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the JSON data of the response should match And the JSON data of the response should match
@@ -3165,8 +3165,8 @@ Feature: check activities
Scenario: check activity with sort filter Scenario: check activity with sort filter
Given user "Alice" has created folder "/New Folder" Given user "Alice" has created folder "/New Folder"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/New Folder/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/New Folder/textfile.txt"
And user "Alice" has uploaded file with content "updated ownCloud test text file" to "/New Folder/textfile.txt" And user "Alice" has uploaded file with content "updated OpenCloud test text file" to "/New Folder/textfile.txt"
When user "Alice" lists the activities of folder "New Folder" from space "Personal" with sort "asc" using the Graph API When user "Alice" lists the activities of folder "New Folder" from space "Personal" with sort "asc" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the activities should be in the following order: And the activities should be in the following order:
@@ -3186,8 +3186,8 @@ Feature: check activities
Scenario: check activities with limit and sort filters (asc/desc) Scenario: check activities with limit and sort filters (asc/desc)
Given user "Alice" has created folder "/New Folder" Given user "Alice" has created folder "/New Folder"
And user "Alice" has created folder "/New Folder/Sub Folder" And user "Alice" has created folder "/New Folder/Sub Folder"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt"
And user "Alice" has uploaded file with content "updated ownCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt" And user "Alice" has uploaded file with content "updated OpenCloud test text file 0" to "/New Folder/Sub Folder/textfile.txt"
When user "Alice" lists the activities of folder "New Folder" from space "Personal" with limit "2" and sort "asc" using the Graph API When user "Alice" lists the activities of folder "New Folder" from space "Personal" with limit "2" and sort "asc" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the activities should be in the following order: And the activities should be in the following order:
@@ -3204,14 +3204,14 @@ Feature: check activities
@issue-9860 @issue-9860
Scenario: user tries to check activities of another user's file Scenario: user tries to check activities of another user's file
Given user "Brian" has been created with default attributes Given user "Brian" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And user "Alice" has uploaded file with content "updated ownCloud test text file" to "textfile.txt" And user "Alice" has uploaded file with content "updated OpenCloud test text file" to "textfile.txt"
When user "Brian" tries to list the activities of file "textfile.txt" from space "Personal" owned by user "Alice" using the Graph API When user "Brian" tries to list the activities of file "textfile.txt" from space "Personal" owned by user "Alice" using the Graph API
Then the HTTP status code should be "403" Then the HTTP status code should be "403"
Scenario: check activities of destination resources after copying a file Scenario: check activities of destination resources after copying a file
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
And user "Alice" has copied file "textfile.txt" to "FOLDER/textfile.txt" And user "Alice" has copied file "textfile.txt" to "FOLDER/textfile.txt"
When user "Alice" lists the activities of file "FOLDER/textfile.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "FOLDER/textfile.txt" from space "Personal" using the Graph API
@@ -3433,7 +3433,7 @@ Feature: check activities
Scenario: check activities of destination resources after copying a file by renaming the destination file Scenario: check activities of destination resources after copying a file by renaming the destination file
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
And user "Alice" has copied file "textfile.txt" to "FOLDER/renamed.txt" And user "Alice" has copied file "textfile.txt" to "FOLDER/renamed.txt"
When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API
@@ -3656,7 +3656,7 @@ Feature: check activities
Scenario: check activities of destination resources after copying a file into same folder by renaming the destination file Scenario: check activities of destination resources after copying a file into same folder by renaming the destination file
Given user "Alice" has created folder "/FOLDER" Given user "Alice" has created folder "/FOLDER"
And user "Alice" has uploaded file with content "ownCloud test text file" to "FOLDER/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file" to "FOLDER/textfile.txt"
And user "Alice" has copied file "FOLDER/textfile.txt" to "FOLDER/renamed.txt" And user "Alice" has copied file "FOLDER/textfile.txt" to "FOLDER/renamed.txt"
When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
@@ -9,7 +9,7 @@ Feature: check activities
Scenario: check copy activity of destination resources Scenario: check copy activity of destination resources
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And we save it into "FILEID" And we save it into "FILEID"
And user "Alice" has created folder "newFolder" And user "Alice" has created folder "newFolder"
And user "Alice" has copied file with id "<<FILEID>>" as "textfile.txt" into folder "newFolder" inside space "Personal" And user "Alice" has copied file with id "<<FILEID>>" as "textfile.txt" into folder "newFolder" inside space "Personal"
@@ -232,7 +232,7 @@ Feature: check activities
Scenario: check edit activity Scenario: check edit activity
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And we save it into "FILEID" And we save it into "FILEID"
And user "Alice" has updated a file with content "updated content" using file-id "<<FILEID>>" And user "Alice" has updated a file with content "updated content" using file-id "<<FILEID>>"
When user "Alice" lists the activities of file "textfile.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "textfile.txt" from space "Personal" using the Graph API
@@ -338,7 +338,7 @@ Feature: check activities
@issue-9744 @issue-9744
Scenario: check rename activity Scenario: check rename activity
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And we save it into "FILEID" And we save it into "FILEID"
And user "Alice" has renamed file with id "<<FILEID>>" to "renamed.txt" inside space "Personal" And user "Alice" has renamed file with id "<<FILEID>>" to "renamed.txt" inside space "Personal"
When user "Alice" lists the activities of file "renamed.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "renamed.txt" from space "Personal" using the Graph API
@@ -453,7 +453,7 @@ Feature: check activities
Scenario: check activities of destination file and folder after moving a file using file-id Scenario: check activities of destination file and folder after moving a file using file-id
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And we save it into "FILEID" And we save it into "FILEID"
And user "Alice" has created folder "New Folder" And user "Alice" has created folder "New Folder"
And user "Alice" has moved file with id "<<FILEID>>" as "textfile.txt" into folder "New Folder" inside space "Personal" And user "Alice" has moved file with id "<<FILEID>>" as "textfile.txt" into folder "New Folder" inside space "Personal"
@@ -906,7 +906,7 @@ Feature: check activities
Scenario: check activities of destination file and folder after moving a file by renaming destination file using file-id Scenario: check activities of destination file and folder after moving a file by renaming destination file using file-id
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And we save it into "FILEID" And we save it into "FILEID"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
And user "Alice" has moved file with id "<<FILEID>>" as "renamed.txt" into folder "FOLDER" inside space "Personal" And user "Alice" has moved file with id "<<FILEID>>" as "renamed.txt" into folder "FOLDER" inside space "Personal"
@@ -1380,7 +1380,7 @@ Feature: check activities
Scenario: check activities of destination resources after copying a file by renaming the destination file Scenario: check activities of destination resources after copying a file by renaming the destination file
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
And we save it into "FILEID" And we save it into "FILEID"
And user "Alice" has created folder "newFolder" And user "Alice" has created folder "newFolder"
And user "Alice" has copied file with id "<<FILEID>>" as "renamed.txt" into folder "newFolder" inside space "Personal" And user "Alice" has copied file with id "<<FILEID>>" as "renamed.txt" into folder "newFolder" inside space "Personal"
@@ -1604,7 +1604,7 @@ Feature: check activities
Scenario: check activities of destination resources after copying file into same folder by renaming the destination file Scenario: check activities of destination resources after copying file into same folder by renaming the destination file
Given user "Alice" has created folder "/FOLDER" Given user "Alice" has created folder "/FOLDER"
And user "Alice" has uploaded file with content "ownCloud test text file" to "FOLDER/textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file" to "FOLDER/textfile.txt"
And we save it into "FILEID" And we save it into "FILEID"
And user "Alice" has copied file with id "<<FILEID>>" as "renamed.txt" into folder "FOLDER" inside space "Personal" And user "Alice" has copied file with id "<<FILEID>>" as "renamed.txt" into folder "FOLDER" inside space "Personal"
When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API
@@ -8,7 +8,7 @@ Feature: check share activity
| username | | username |
| Alice | | Alice |
| Brian | | Brian |
And user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file" to "textfile.txt"
Scenario: check activities after adding share to a file Scenario: check activities after adding share to a file
@@ -1942,7 +1942,7 @@ Feature: check share activity
@issue-9860 @issue-9860
Scenario: sharee tries to check the activities of unshared file Scenario: sharee tries to check the activities of unshared file
Given user "Alice" has uploaded file with content "another ownCloud test text file" to "anotherTextfile.txt" Given user "Alice" has uploaded file with content "another OpenCloud test text file" to "anotherTextfile.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | textfile.txt | | resource | textfile.txt |
| space | Personal | | space | Personal |
@@ -1,4 +1,4 @@
# NOTE: set env OC_CORS_ALLOW_ORIGINS=https://aphno.badal while running ocis server # NOTE: set env OC_CORS_ALLOW_ORIGINS=https://aphno.badal while running OpenCloud server
@env-config @env-config
Feature: CORS headers Feature: CORS headers
As a user As a user
@@ -275,7 +275,7 @@ Feature: enforce password on public link
| password | http-status-code | ocs-status-code | message | | password | http-status-code | ocs-status-code | message |
| 123 | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety | | 123 | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety |
| password | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety | | password | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety |
| ownCloud | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety | | OpenCloud | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety |
Scenario Outline: create a public link with a password that is listed in the Banned-Password-List Scenario Outline: create a public link with a password that is listed in the Banned-Password-List
@@ -294,4 +294,4 @@ Feature: enforce password on public link
| password | http-status-code | ocs-status-code | message | | password | http-status-code | ocs-status-code | message |
| 123 | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety | | 123 | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety |
| password | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety | | password | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety |
| ownCloud | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety | | OpenCloud | 400 | 400 | Unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety |
@@ -6,15 +6,14 @@ Feature: get applications
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
Scenario Outline: admin user lists all the groups Scenario Outline: admin user lists all the groups
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" gets all applications using the Graph API When user "Alice" gets all applications using the Graph API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the user API response should contain the following application information: And the user API response should contain the following application information:
| key | value | | key | value |
| displayName | ownCloud Infinite Scale | | displayName | OpenCloud |
| id | %uuid_v4% | | id | %uuid_v4% |
And the user API response should contain the following app roles: And the user API response should contain the following app roles:
| Admin | | Admin |
| Space Admin | | Space Admin |
@@ -92,7 +92,7 @@ Feature: create user
And user "Brian" should exist And user "Brian" should exist
@env-config @env-config
Scenario Outline: create user with setting OCIS no restriction on the user name Scenario Outline: create user with setting OpenCloud no restriction on the user name
Given the config "GRAPH_USERNAME_MATCH" has been set to "none" Given the config "GRAPH_USERNAME_MATCH" has been set to "none"
And the administrator has assigned the role "Admin" to user "Alice" using the Graph API And the administrator has assigned the role "Admin" to user "Alice" using the Graph API
When the user "Alice" creates a new user with the following attributes using the Graph API: When the user "Alice" creates a new user with the following attributes using the Graph API:
@@ -109,7 +109,7 @@ Feature: create user
| (*:!;+-&$%)_alice | user names starts with the ASCII characters | | (*:!;+-&$%)_alice | user names starts with the ASCII characters |
@env-config @env-config
Scenario: create user with setting OCIS not to assign the default user role Scenario: create user with setting OpenCloud not to assign the default user role
Given the config "GRAPH_ASSIGN_DEFAULT_USER_ROLE" has been set to "false" Given the config "GRAPH_ASSIGN_DEFAULT_USER_ROLE" has been set to "false"
When the user "admin" creates a new user with the following attributes using the Graph API: When the user "admin" creates a new user with the following attributes using the Graph API:
| userName | sam | | userName | sam |
@@ -124,7 +124,7 @@ Feature: create user
And the Graph API response should have no role And the Graph API response should have no role
@env-config @env-config
Scenario: create user with setting OCIS assign the default user role Scenario: create user with setting OpenCloud assign the default user role
Given the config "GRAPH_ASSIGN_DEFAULT_USER_ROLE" has been set to "true" Given the config "GRAPH_ASSIGN_DEFAULT_USER_ROLE" has been set to "true"
When the user "admin" creates a new user with the following attributes using the Graph API: When the user "admin" creates a new user with the following attributes using the Graph API:
| userName | sam | | userName | sam |
@@ -1,7 +1,7 @@
@ocm @ocm
Feature: accepting invitation Feature: accepting invitation
As a user As a user
I can accept invitations from users of other ocis instances I can accept invitations from users of other OpenCloud instances
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
@@ -32,7 +32,7 @@ Feature: ocm well-known URI
"pattern": "^%base_url%/ocm" "pattern": "^%base_url%/ocm"
}, },
"provider": { "provider": {
"const": "oCIS" "const": "OpenCloud"
}, },
"resourceTypes": { "resourceTypes": {
"type": "array", "type": "array",
@@ -1,7 +1,7 @@
@ocm @ocm
Feature: an user shares resources using ScienceMesh application Feature: an user shares resources using ScienceMesh application
As a user As a user
I want to share resources between different ocis instances I want to share resources between different OpenCloud instances
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
@@ -1,7 +1,7 @@
Feature: re-share resources Feature: re-share resources
As a user As a user
I cannot to re-share resources I cannot to re-share resources
This feature has been removed from ocis This feature has been removed from OpenCloud
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -30,13 +30,13 @@ Feature: content search
Scenario Outline: search files by different content types Scenario Outline: search files by different content types
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "Using k6, you can test the reliability and performance of your systems" to "wordWithNumber.md" And user "Alice" has uploaded file with content "Using k6, you can test the reliability and performance of your systems" to "wordWithNumber.md"
And user "Alice" has uploaded file with content "see our web site https://owncloud.com/infinite-scale-4-0" to "findByWebSite.txt" And user "Alice" has uploaded file with content "see our web site https://opencloud.eu/en/contact-us" to "findByWebSite.txt"
And user "Alice" has uploaded file with content "einstein@example.org want to say hello" to "findByEmail.docs" And user "Alice" has uploaded file with content "einstein@example.org want to say hello" to "findByEmail.docs"
When user "Alice" searches for "Content:k6" using the WebDAV API When user "Alice" searches for "Content:k6" using the WebDAV API
Then the HTTP status code should be "207" Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files: And the search result of user "Alice" should contain only these files:
| wordWithNumber.md | | wordWithNumber.md |
When user "Alice" searches for "Content:https://owncloud.com/" using the WebDAV API When user "Alice" searches for "Content:https://opencloud.eu/" using the WebDAV API
Then the HTTP status code should be "207" Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files: And the search result of user "Alice" should contain only these files:
| findByWebSite.txt | | findByWebSite.txt |
@@ -28,7 +28,7 @@ Feature: settings api
"type": "object", "type": "object",
"required": [ "extension", "bundle", "setting"], "required": [ "extension", "bundle", "setting"],
"properties": { "properties": {
"extension": { "const": "ocis-accounts" }, "extension": { "const": "opencloud-accounts" },
"bundle": { "const": "profile" }, "bundle": { "const": "profile" },
"setting": { "const": "auto-accept-shares" } "setting": { "const": "auto-accept-shares" }
} }
@@ -128,7 +128,7 @@ Feature: settings api
"type": "object", "type": "object",
"required": [ "extension", "bundle", "setting"], "required": [ "extension", "bundle", "setting"],
"properties": { "properties": {
"extension": { "const": "ocis-accounts" }, "extension": { "const": "opencloud-accounts" },
"bundle": { "const": "profile" }, "bundle": { "const": "profile" },
"setting": { "const": "language" } "setting": { "const": "language" }
} }
@@ -199,7 +199,7 @@ Feature: settings api
"id": { "pattern": "^%user_id_pattern%$" }, "id": { "pattern": "^%user_id_pattern%$" },
"name": { "const": "spaceadmin" }, "name": { "const": "spaceadmin" },
"type": { "const": "TYPE_ROLE" }, "type": { "const": "TYPE_ROLE" },
"extension": { "const": "ocis-roles" }, "extension": { "const": "opencloud-roles" },
"displayName": { "const": "Space Admin" }, "displayName": { "const": "Space Admin" },
"resource": { "resource": {
"type": "object", "type": "object",
@@ -217,7 +217,7 @@ Feature: settings api
"id": { "pattern": "^%user_id_pattern%$" }, "id": { "pattern": "^%user_id_pattern%$" },
"name": { "const": "admin"}, "name": { "const": "admin"},
"type": { "const": "TYPE_ROLE" }, "type": { "const": "TYPE_ROLE" },
"extension": { "const": "ocis-roles" }, "extension": { "const": "opencloud-roles" },
"displayName": { "const": "Admin" }, "displayName": { "const": "Admin" },
"resource": { "resource": {
"type": "object", "type": "object",
@@ -235,7 +235,7 @@ Feature: settings api
"id": { "pattern": "^%user_id_pattern%$" }, "id": { "pattern": "^%user_id_pattern%$" },
"name": { "const": "user-light" }, "name": { "const": "user-light" },
"type": { "const": "TYPE_ROLE" }, "type": { "const": "TYPE_ROLE" },
"extension": { "const": "ocis-roles" }, "extension": { "const": "opencloud-roles" },
"displayName": { "const": "User Light" }, "displayName": { "const": "User Light" },
"resource": { "resource": {
"type": "object", "type": "object",
@@ -253,7 +253,7 @@ Feature: settings api
"id": { "pattern": "^%user_id_pattern%$" }, "id": { "pattern": "^%user_id_pattern%$" },
"name": { "const": "user" }, "name": { "const": "user" },
"type": { "const": "TYPE_ROLE" }, "type": { "const": "TYPE_ROLE" },
"extension": { "const": "ocis-roles" }, "extension": { "const": "opencloud-roles" },
"displayName": { "const": "User" }, "displayName": { "const": "User" },
"resource": { "resource": {
"type": "object", "type": "object",
@@ -1,5 +1,5 @@
Feature: List a sharing permissions Feature: List a sharing permissions
https://owncloud.dev/libre-graph-api/#/drives.permissions/ListPermissions https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/ListPermissions
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -1,5 +1,5 @@
Feature: Remove access to a drive Feature: Remove access to a drive
https://owncloud.dev/libre-graph-api/#/drives.root/DeletePermissionSpaceRoot https://docs.opencloud.eu/libre-graph-api/#/drives.root/DeletePermissionSpaceRoot
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -1,5 +1,5 @@
Feature: Remove access to a drive item Feature: Remove access to a drive item
https://owncloud.dev/libre-graph-api/#/drives.permissions/DeletePermission https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/DeletePermission
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -3,7 +3,7 @@ Feature: resources shared by user
I want to get resources shared by me I want to get resources shared by me
So that I can know about what resources are shared with others So that I can know about what resources are shared with others
https://owncloud.dev/libre-graph-api/#/me.drive/ListSharedByMe https://docs.opencloud.eu/libre-graph-api/#/me.drive/ListSharedByMe
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -3,7 +3,7 @@ Feature: an user gets the resources shared to them
I want to get resources shared with me I want to get resources shared with me
So that I can know about what resources I have access to So that I can know about what resources I have access to
https://owncloud.dev/libre-graph-api/#/me.drive/ListSharedWithMe https://docs.opencloud.eu/libre-graph-api/#/me.drive/ListSharedWithMe
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -3,7 +3,7 @@ Feature: listing sharedWithMe when auto-sync is disabled
I want to get resources shared with me when auto-sync is disabled I want to get resources shared with me when auto-sync is disabled
So that I can know about what resources I have access to So that I can know about what resources I have access to
https://owncloud.dev/libre-graph-api/#/me.drive/ListSharedWithMe https://docs.opencloud.eu/libre-graph-api/#/me.drive/ListSharedWithMe
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -1,5 +1,5 @@
Feature: Remove access to a drive item Feature: Remove access to a drive item
https://owncloud.dev/libre-graph-api/#/drives.permissions/DeletePermission https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/DeletePermission
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -1,5 +1,5 @@
Feature: Create a link share for a resource Feature: Create a link share for a resource
https://owncloud.dev/libre-graph-api/#/drives.permissions/CreateLink https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/CreateLink
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -546,7 +546,7 @@ Feature: Create a link share for a resource
| banned-password | | banned-password |
| 123 | | 123 |
| password | | password |
| ownCloud | | OpenCloud |
@issue-7879 @issue-7879
Scenario Outline: create a link share of a folder inside project-space using permissions endpoint Scenario Outline: create a link share of a folder inside project-space using permissions endpoint
@@ -806,19 +806,19 @@ Feature: Create a link share for a resource
| banned-password | permissions-role | | banned-password | permissions-role |
| 123 | view | | 123 | view |
| password | view | | password | view |
| ownCloud | view | | OpenCloud | view |
| 123 | edit | | 123 | edit |
| password | edit | | password | edit |
| ownCloud | edit | | OpenCloud | edit |
| 123 | upload | | 123 | upload |
| password | upload | | password | upload |
| ownCloud | upload | | OpenCloud | upload |
| 123 | createOnly | | 123 | createOnly |
| password | createOnly | | password | createOnly |
| ownCloud | createOnly | | OpenCloud | createOnly |
| 123 | blocksDownload | | 123 | blocksDownload |
| password | blocksDownload | | password | blocksDownload |
| ownCloud | blocksDownload | | OpenCloud | blocksDownload |
@env-config @issue-7879 @env-config @issue-7879
Scenario Outline: create a link share of a file inside project-space without password using permissions endpoint Scenario Outline: create a link share of a file inside project-space without password using permissions endpoint
@@ -1213,13 +1213,13 @@ Feature: Create a link share for a resource
| banned-password | permissions-role | | banned-password | permissions-role |
| 123 | view | | 123 | view |
| password | view | | password | view |
| ownCloud | view | | OpenCloud | view |
| 123 | edit | | 123 | edit |
| password | edit | | password | edit |
| ownCloud | edit | | OpenCloud | edit |
| 123 | blocksDownload | | 123 | blocksDownload |
| password | blocksDownload | | password | blocksDownload |
| ownCloud | blocksDownload | | OpenCloud | blocksDownload |
@env-config @issue-9724 @issue-10331 @env-config @issue-9724 @issue-10331
Scenario: set password on a existing link share of a file inside project-space using permissions endpoint Scenario: set password on a existing link share of a file inside project-space using permissions endpoint
@@ -1673,19 +1673,19 @@ Feature: Create a link share for a resource
| banned-password | permissions-role | | banned-password | permissions-role |
| 123 | view | | 123 | view |
| password | view | | password | view |
| ownCloud | view | | OpenCloud | view |
| 123 | edit | | 123 | edit |
| password | edit | | password | edit |
| ownCloud | edit | | OpenCloud | edit |
| 123 | upload | | 123 | upload |
| password | upload | | password | upload |
| ownCloud | upload | | OpenCloud | upload |
| 123 | createOnly | | 123 | createOnly |
| password | createOnly | | password | createOnly |
| ownCloud | createOnly | | OpenCloud | createOnly |
| 123 | blocksDownload | | 123 | blocksDownload |
| password | blocksDownload | | password | blocksDownload |
| ownCloud | blocksDownload | | OpenCloud | blocksDownload |
Scenario Outline: create a link share of a project-space without password using permissions endpoint Scenario Outline: create a link share of a project-space without password using permissions endpoint
@@ -1,5 +1,5 @@
Feature: Update a link share for a resource Feature: Update a link share for a resource
https://owncloud.dev/libre-graph-api/#/drives.permissions/CreateLink https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/CreateLink
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -281,7 +281,7 @@ Feature: Update a link share for a resource
| banned-password | | banned-password |
| 123 | | 123 |
| password | | password |
| ownCloud | | OpenCloud |
@env-config @issue-9724 @issue-10331 @env-config @issue-9724 @issue-10331
Scenario: set password on a existing link share of a folder inside project-space using permissions endpoint Scenario: set password on a existing link share of a folder inside project-space using permissions endpoint
@@ -1,5 +1,5 @@
Feature: Create a link share for a resource Feature: Create a link share for a resource
https://owncloud.dev/libre-graph-api/#/drives.permissions/CreateLink https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/CreateLink
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -393,19 +393,19 @@ Feature: Create a link share for a resource
| banned-password | permissions-role | | banned-password | permissions-role |
| 123 | view | | 123 | view |
| password | view | | password | view |
| ownCloud | view | | OpenCloud | view |
| 123 | edit | | 123 | edit |
| password | edit | | password | edit |
| ownCloud | edit | | OpenCloud | edit |
| 123 | upload | | 123 | upload |
| password | upload | | password | upload |
| ownCloud | upload | | OpenCloud | upload |
| 123 | createOnly | | 123 | createOnly |
| password | createOnly | | password | createOnly |
| ownCloud | createOnly | | OpenCloud | createOnly |
| 123 | blocksDownload | | 123 | blocksDownload |
| password | blocksDownload | | password | blocksDownload |
| ownCloud | blocksDownload | | OpenCloud | blocksDownload |
@env-config @issue-7879 @env-config @issue-7879
Scenario Outline: create a link share of a project-space drive without password using root endpoint Scenario Outline: create a link share of a project-space drive without password using root endpoint
@@ -1,5 +1,5 @@
Feature: Update a link share for a resource Feature: Update a link share for a resource
https://owncloud.dev/libre-graph-api/#/drives.permissions/CreateLink https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/CreateLink
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -4,7 +4,7 @@ Feature: Send a sharing invitations
I want to be able to send invitations to other users I want to be able to send invitations to other users
So that they can have access to it So that they can have access to it
https://owncloud.dev/libre-graph-api/#/drives.permissions/Invite https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/Invite
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -2,7 +2,7 @@ Feature: Update permission of a share
As a user As a user
I want to update resources shared with me I want to update resources shared with me
So that I can have more control over my shares and manage it So that I can have more control over my shares and manage it
https://owncloud.dev/libre-graph-api/#/drives.permissions/UpdatePermission https://docs.opencloud.eu/libre-graph-api/#/drives.permissions/UpdatePermission
Background: Background:
Given these users have been created with default attributes: Given these users have been created with default attributes:
@@ -124,14 +124,14 @@ Feature: State of the quota
| /filesForUpload/lorem-big.txt | /ocs/v2.php/cloud/users/%username% | 200 | 91.17 | | /filesForUpload/lorem-big.txt | /ocs/v2.php/cloud/users/%username% | 200 | 91.17 |
@env-config @env-config
Scenario: upload a file by setting OCIS spaces max quota Scenario: upload a file by setting OpenCloud spaces max quota
Given the config "OC_SPACES_MAX_QUOTA" has been set to "10" Given the config "OC_SPACES_MAX_QUOTA" has been set to "10"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
When user "Brian" uploads file with content "more than 10 bytes content" to "lorem.txt" using the WebDAV API When user "Brian" uploads file with content "more than 10 bytes content" to "lorem.txt" using the WebDAV API
Then the HTTP status code should be "507" Then the HTTP status code should be "507"
@env-config @env-config
Scenario: try to create a space with quota greater than OCIS spaces max quota Scenario: try to create a space with quota greater than OpenCloud spaces max quota
Given the config "OC_SPACES_MAX_QUOTA" has been set to "50" Given the config "OC_SPACES_MAX_QUOTA" has been set to "50"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API And the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
@@ -673,7 +673,7 @@ Feature: copy file
| shareType | user | | shareType | user |
| permissionsRole | Viewer | | permissionsRole | Viewer |
And user "Alice" has a share "testshare" synced And user "Alice" has a share "testshare" synced
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Alice" copies file "/textfile0.txt" from space "Personal" to "/testshare/textfile0.txt" inside space "Shares" using the WebDAV API When user "Alice" copies file "/textfile0.txt" from space "Personal" to "/testshare/textfile0.txt" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "403" Then the HTTP status code should be "403"
And user "Alice" should not be able to download file "/testshare/textfile0.txt" from space "Shares" And user "Alice" should not be able to download file "/testshare/textfile0.txt" from space "Shares"
@@ -682,8 +682,8 @@ Feature: copy file
Scenario: copying a file to overwrite a file into a folder with no permissions Scenario: copying a file to overwrite a file into a folder with no permissions
Given using spaces DAV path Given using spaces DAV path
And user "Brian" has created folder "/testshare" And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded file with content "ownCloud test text file 1" to "/testshare/overwritethis.txt" And user "Brian" has uploaded file with content "OpenCloud test text file 1" to "/testshare/overwritethis.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Brian" has sent the following resource share invitation: And user "Brian" has sent the following resource share invitation:
| resource | testshare | | resource | testshare |
| space | Personal | | space | Personal |
@@ -693,12 +693,12 @@ Feature: copy file
And user "Alice" has a share "testshare" synced And user "Alice" has a share "testshare" synced
When user "Alice" copies file "/textfile0.txt" from space "Personal" to "/testshare/overwritethis.txt" inside space "Shares" using the WebDAV API When user "Alice" copies file "/textfile0.txt" from space "Personal" to "/testshare/overwritethis.txt" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "403" Then the HTTP status code should be "403"
And for user "Alice" the content of the file "/testshare/overwritethis.txt" of the space "Shares" should be "ownCloud test text file 1" And for user "Alice" the content of the file "/testshare/overwritethis.txt" of the space "Shares" should be "OpenCloud test text file 1"
@issue-7208 @issue-7208
Scenario: copy a file over the top of an existing folder received as a user share Scenario: copy a file over the top of an existing folder received as a user share
Given using spaces DAV path Given using spaces DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 1" to "/textfile1.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 1" to "/textfile1.txt"
And user "Brian" has created folder "/BRIAN-Folder" And user "Brian" has created folder "/BRIAN-Folder"
And user "Brian" has created folder "BRIAN-Folder/sample-folder" And user "Brian" has created folder "BRIAN-Folder/sample-folder"
And user "Brian" has sent the following resource share invitation: And user "Brian" has sent the following resource share invitation:
@@ -20,7 +20,7 @@ Feature: make webdav request with special urls
| /dav//files/%username%/PARENT/parent.txt | | /dav//files/%username%/PARENT/parent.txt |
| /webdav//PARENT | | /webdav//PARENT |
| //dav/files/%username%//FOLDER | | //dav/files/%username%//FOLDER |
Then the HTTP status code of responses on each endpoint should be "200,200,204,204,200" on oCIS or "204,204,204,204,204" on reva Then the HTTP status code of responses on each endpoint should be "200,200,204,204,200" on OpenCloud or "204,204,204,204,204" on reva
Scenario: send DELETE requests to webDav endpoints with 2 slashes using the spaces WebDAV API Scenario: send DELETE requests to webDav endpoints with 2 slashes using the spaces WebDAV API
@@ -30,7 +30,7 @@ Feature: make webdav request with special urls
| //dav//spaces/%spaceid%/PARENT/parent.txt | | //dav//spaces/%spaceid%/PARENT/parent.txt |
| /dav//spaces/%spaceid%/PARENT | | /dav//spaces/%spaceid%/PARENT |
| //dav/spaces/%spaceid%//FOLDER | | //dav/spaces/%spaceid%//FOLDER |
Then the HTTP status code of responses on each endpoint should be "200,200,204,200" on oCIS or "204,204,204,204" on reva Then the HTTP status code of responses on each endpoint should be "200,200,204,200" on OpenCloud or "204,204,204,204" on reva
Scenario: send GET requests to webDav endpoints with 2 slashes Scenario: send GET requests to webDav endpoints with 2 slashes
@@ -84,7 +84,7 @@ Feature: make webdav request with special urls
| //dav//files/%username%/PARENT4 | | //dav//files/%username%/PARENT4 |
| /dav/files/%username%//PARENT5 | | /dav/files/%username%//PARENT5 |
| /dav//files/%username%/PARENT6 | | /dav//files/%username%/PARENT6 |
Then the HTTP status code of responses on each endpoint should be "200,201,200,200,201,201" on oCIS or "201,201,201,201,201,201" on reva Then the HTTP status code of responses on each endpoint should be "200,201,200,200,201,201" on OpenCloud or "201,201,201,201,201,201" on reva
Scenario: send MKCOL requests to webDav endpoints with 2 slashes using the spaces WebDAV API Scenario: send MKCOL requests to webDav endpoints with 2 slashes using the spaces WebDAV API
@@ -96,7 +96,7 @@ Feature: make webdav request with special urls
| //dav/spaces//%spaceid%/PARENT4 | | //dav/spaces//%spaceid%/PARENT4 |
| /dav/spaces/%spaceid%//PARENT5 | | /dav/spaces/%spaceid%//PARENT5 |
| /dav//spaces/%spaceid%/PARENT6 | | /dav//spaces/%spaceid%/PARENT6 |
Then the HTTP status code of responses on each endpoint should be "200,201,200,200,201,201" on oCIS or "201,201,201,201,201,201" on reva Then the HTTP status code of responses on each endpoint should be "200,201,200,200,201,201" on OpenCloud or "201,201,201,201,201,201" on reva
Scenario: send MOVE requests to webDav endpoints with 2 slashes Scenario: send MOVE requests to webDav endpoints with 2 slashes
@@ -107,7 +107,7 @@ Feature: make webdav request with special urls
| /webdav//PARENT | /webdav/PARENT1 | | /webdav//PARENT | /webdav/PARENT1 |
| //dav/files//%username%//PARENT1 | /dav/files/%username%/PARENT2 | | //dav/files//%username%//PARENT1 | /dav/files/%username%/PARENT2 |
| /dav//files/%username%/PARENT2/parent.txt | /dav/files/%username%/PARENT2/parent1.txt | | /dav//files/%username%/PARENT2/parent.txt | /dav/files/%username%/PARENT2/parent1.txt |
Then the HTTP status code of responses on each endpoint should be "200,201,201,200,404" on oCIS or "201,201,201,201,201" on reva Then the HTTP status code of responses on each endpoint should be "200,201,201,200,404" on OpenCloud or "201,201,201,201,201" on reva
Scenario: send MOVE requests to webDav endpoints with 2 slashes using the spaces WebDAV API Scenario: send MOVE requests to webDav endpoints with 2 slashes using the spaces WebDAV API
@@ -117,7 +117,7 @@ Feature: make webdav request with special urls
| /dav/spaces/%spaceid%//PARENT | /dav/spaces/%spaceid%/PARENT1 | | /dav/spaces/%spaceid%//PARENT | /dav/spaces/%spaceid%/PARENT1 |
| //dav/spaces/%spaceid%//PARENT1 | /dav/spaces/%spaceid%/PARENT2 | | //dav/spaces/%spaceid%//PARENT1 | /dav/spaces/%spaceid%/PARENT2 |
| //dav/spaces/%spaceid%/PARENT2/parent.txt | /dav/spaces/%spaceid%/PARENT2/parent1.txt | | //dav/spaces/%spaceid%/PARENT2/parent.txt | /dav/spaces/%spaceid%/PARENT2/parent1.txt |
Then the HTTP status code of responses on each endpoint should be "201,201,200,200" on oCIS or "201,201,201,201" on reva Then the HTTP status code of responses on each endpoint should be "201,201,200,200" on OpenCloud or "201,201,201,201" on reva
Scenario: send POST requests to webDav endpoints with 2 slashes Scenario: send POST requests to webDav endpoints with 2 slashes
@@ -149,7 +149,7 @@ Feature: make webdav request with special urls
| /dav//files/%username%/PARENT/parent.txt | | /dav//files/%username%/PARENT/parent.txt |
| /webdav//PARENT | | /webdav//PARENT |
| //dav/files//%username%//FOLDER | | //dav/files//%username%//FOLDER |
Then the HTTP status code of responses on each endpoint should be "200,200,207,207,200" on oCIS or "207,207,207,207,207" on reva Then the HTTP status code of responses on each endpoint should be "200,200,207,207,200" on OpenCloud or "207,207,207,207,207" on reva
Scenario: send PROPFIND requests to webDav endpoints with 2 slashes using the spaces WebDAV API Scenario: send PROPFIND requests to webDav endpoints with 2 slashes using the spaces WebDAV API
@@ -159,7 +159,7 @@ Feature: make webdav request with special urls
| /dav//spaces/%spaceid%/PARENT/parent.txt | | /dav//spaces/%spaceid%/PARENT/parent.txt |
| /dav//spaces/%spaceid%/PARENT | | /dav//spaces/%spaceid%/PARENT |
| //dav/spaces//%spaceid%//FOLDER | | //dav/spaces//%spaceid%//FOLDER |
Then the HTTP status code of responses on each endpoint should be "200,207,207,200" on oCIS or "207,207,207,207" on reva Then the HTTP status code of responses on each endpoint should be "200,207,207,200" on OpenCloud or "207,207,207,207" on reva
Scenario: send PROPPATCH requests to webDav endpoints with 2 slashes Scenario: send PROPPATCH requests to webDav endpoints with 2 slashes
@@ -191,7 +191,7 @@ Feature: make webdav request with special urls
| //dav//files/%username%/textfile1.txt | | //dav//files/%username%/textfile1.txt |
| /dav/files//%username%/textfile7.txt | | /dav/files//%username%/textfile7.txt |
| //dav//files/%username%/PARENT//parent.txt | | //dav//files/%username%/PARENT//parent.txt |
Then the HTTP status code of responses on each endpoint should be "200,204,200,201,200" on oCIS or "204,204,204,201,204" on reva Then the HTTP status code of responses on each endpoint should be "200,204,200,201,200" on OpenCloud or "204,204,204,201,204" on reva
Scenario: send PUT requests to webDav endpoints with 2 slashes using the spaces WebDAV API Scenario: send PUT requests to webDav endpoints with 2 slashes using the spaces WebDAV API
@@ -202,4 +202,4 @@ Feature: make webdav request with special urls
| //dav//spaces/%spaceid%/textfile1.txt | | //dav//spaces/%spaceid%/textfile1.txt |
| /dav/spaces//%spaceid%/textfile7.txt | | /dav/spaces//%spaceid%/textfile7.txt |
| //dav/spaces//%spaceid%/PARENT//parent.txt | | //dav/spaces//%spaceid%/PARENT//parent.txt |
Then the HTTP status code of responses on each endpoint should be "200,204,200,201,200" on oCIS or "204,204,204,201,204" on reva Then the HTTP status code of responses on each endpoint should be "200,204,200,201,200" on OpenCloud or "204,204,204,201,204" on reva
@@ -8,7 +8,7 @@ Feature: default capabilities for normal user
And user "Alice" has been created with default attributes And user "Alice" has been created with default attributes
# adjust this scenario after fixing tagged issues as its just created to show difference # adjust this scenario after fixing tagged issues as its just created to show difference
# in the response items in different environment (core & ocis-reva) # in the response items in different environment (core & opencloud-reva)
@issue-1285 @issue-1286 @issue-1285 @issue-1286
Scenario: getting default capabilities with normal user Scenario: getting default capabilities with normal user
When user "Alice" retrieves the capabilities using the capabilities API When user "Alice" retrieves the capabilities using the capabilities API
@@ -276,11 +276,11 @@ Feature: checksums
@skipOnStorage:ceph @skipOnStorage:scality @issue-1291 @skipOnStorage:ceph @skipOnStorage:scality @issue-1291
Scenario Outline: uploading a file with invalid SHA1 checksum overwriting an existing file Scenario Outline: uploading a file with invalid SHA1 checksum overwriting an existing file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Alice" uploads file "filesForUpload/textfile.txt" to "/textfile0.txt" with checksum "SHA1:f005ba11f005ba11f005ba11f005ba11f005ba11" using the WebDAV API When user "Alice" uploads file "filesForUpload/textfile.txt" to "/textfile0.txt" with checksum "SHA1:f005ba11f005ba11f005ba11f005ba11f005ba11" using the WebDAV API
Then the HTTP status code should be "400" Then the HTTP status code should be "400"
And as user "Alice" the webdav checksum of "/textfile0.txt" via propfind should match "SHA1:2052377dec0724bda0d57aeab67fa819278b7f74 MD5:096e350e9ff1339a997a14145f9fc4b9 ADLER32:7d5a0921" And as user "Alice" the webdav checksum of "/textfile0.txt" via propfind should match "SHA1:2052377dec0724bda0d57aeab67fa819278b7f74 MD5:096e350e9ff1339a997a14145f9fc4b9 ADLER32:7d5a0921"
And the content of file "/textfile0.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/textfile0.txt" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -11,7 +11,7 @@ Feature: sharing
Scenario Outline: creating a share of a file with a user, the default permissions are read(1)+update(2) Scenario Outline: creating a share of a file with a user, the default permissions are read(1)+update(2)
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API
Then the OCS status code should be "<ocs-status-code>" Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200" And the HTTP status code should be "200"
@@ -28,7 +28,7 @@ Feature: sharing
| mimetype | text/plain | | mimetype | text/plain |
| storage_id | ANY_VALUE | | storage_id | ANY_VALUE |
| share_type | user | | share_type | user |
And the content of file "/Shares/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/Shares/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
Examples: Examples:
| ocs-api-version | ocs-status-code | | ocs-api-version | ocs-status-code |
| 1 | 100 | | 1 | 100 |
@@ -64,7 +64,7 @@ Feature: sharing
Scenario Outline: creating a share of a file with a user and asking for various permission combinations Scenario Outline: creating a share of a file with a user and asking for various permission combinations
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Alice" shares file "textfile0.txt" with user "Brian" with permissions <requested-permissions> using the sharing API When user "Alice" shares file "textfile0.txt" with user "Brian" with permissions <requested-permissions> using the sharing API
Then the OCS status code should be "<ocs-status-code>" Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200" And the HTTP status code should be "200"
@@ -156,7 +156,7 @@ Feature: sharing
Scenario Outline: creating a share of a file with a group, the default permissions are read(1)+update(2) Scenario Outline: creating a share of a file with a group, the default permissions are read(1)+update(2)
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And group "grp1" has been created And group "grp1" has been created
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Alice" shares file "/textfile0.txt" with group "grp1" using the sharing API When user "Alice" shares file "/textfile0.txt" with group "grp1" using the sharing API
Then the OCS status code should be "<ocs-status-code>" Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200" And the HTTP status code should be "200"
@@ -255,7 +255,7 @@ Feature: sharing
And group "grp1" has been created And group "grp1" has been created
And user "Alice" has been added to group "grp1" And user "Alice" has been added to group "grp1"
And user "Brian" has been added to group "grp1" And user "Brian" has been added to group "grp1"
And user "Brian" has uploaded file with content "ownCloud test text file 0" to "/randomfile.txt" And user "Brian" has uploaded file with content "OpenCloud test text file 0" to "/randomfile.txt"
And user "Brian" has sent the following resource share invitation: And user "Brian" has sent the following resource share invitation:
| resource | randomfile.txt | | resource | randomfile.txt |
| space | Personal | | space | Personal |
@@ -322,7 +322,7 @@ Feature: sharing
Scenario Outline: user shares a file with file name longer than 64 chars to another user Scenario Outline: user shares a file with file name longer than 64 chars to another user
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt"
When user "Alice" shares file "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" with user "Brian" using the sharing API When user "Alice" shares file "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" with user "Brian" using the sharing API
Then as "Brian" file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" should exist Then as "Brian" file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" should exist
@@ -337,7 +337,7 @@ Feature: sharing
And group "grp1" has been created And group "grp1" has been created
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Brian" has been added to group "grp1" And user "Brian" has been added to group "grp1"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt"
When user "Alice" shares file "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" with group "grp1" using the sharing API When user "Alice" shares file "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" with group "grp1" using the sharing API
Then as "Brian" file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" should exist Then as "Brian" file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog.txt" should exist
@@ -350,11 +350,11 @@ Feature: sharing
Scenario Outline: user shares a folder with folder name longer than 64 chars to another user Scenario Outline: user shares a folder with folder name longer than 64 chars to another user
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test" to "/textfile0.txt"
And user "Alice" has created folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog" And user "Alice" has created folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog"
And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt" And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt"
When user "Alice" shares folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog" with user "Brian" using the sharing API When user "Alice" shares folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog" with user "Brian" using the sharing API
Then the content of file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt" for user "Brian" should be "ownCloud test" Then the content of file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt" for user "Brian" should be "OpenCloud test"
Examples: Examples:
| ocs-api-version | | ocs-api-version |
| 1 | | 1 |
@@ -366,11 +366,11 @@ Feature: sharing
And group "grp1" has been created And group "grp1" has been created
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Brian" has been added to group "grp1" And user "Brian" has been added to group "grp1"
And user "Alice" has uploaded file with content "ownCloud test" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test" to "/textfile0.txt"
And user "Alice" has created folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog" And user "Alice" has created folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog"
And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt" And user "Alice" has moved file "textfile0.txt" to "aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt"
When user "Alice" shares folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog" with group "grp1" using the sharing API When user "Alice" shares folder "/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog" with group "grp1" using the sharing API
Then the content of file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt" for user "Brian" should be "ownCloud test" Then the content of file "/Shares/aquickbrownfoxjumpsoveraverylazydogaquickbrownfoxjumpsoveralazydog/textfile0.txt" for user "Brian" should be "OpenCloud test"
Examples: Examples:
| ocs-api-version | | ocs-api-version |
| 1 | | 1 |
@@ -474,7 +474,7 @@ Feature: sharing
And group "grp1" has been created And group "grp1" has been created
And user "Brian" has been added to group "grp1" And user "Brian" has been added to group "grp1"
And user "Carol" has been added to group "grp1" And user "Carol" has been added to group "grp1"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | textfile0.txt | | resource | textfile0.txt |
| space | Personal | | space | Personal |
@@ -516,7 +516,7 @@ Feature: sharing
And user "Carol" has been added to group "grp1" And user "Carol" has been added to group "grp1"
And user "Alice" has created folder "/common" And user "Alice" has created folder "/common"
And user "Alice" has created folder "/common/sub" And user "Alice" has created folder "/common/sub"
And user "Alice" has uploaded file with content "ownCloud" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud" to "/textfile0.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | common | | resource | common |
| space | Personal | | space | Personal |
@@ -552,7 +552,7 @@ Feature: sharing
Scenario Outline: creating a share of a renamed file Scenario Outline: creating a share of a renamed file
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has moved file "/textfile0.txt" to "/renamed.txt" And user "Alice" has moved file "/textfile0.txt" to "/renamed.txt"
When user "Alice" shares file "renamed.txt" with user "Brian" using the sharing API When user "Alice" shares file "renamed.txt" with user "Brian" using the sharing API
Then the OCS status code should be "<ocs-status-code>" Then the OCS status code should be "<ocs-status-code>"
@@ -569,7 +569,7 @@ Feature: sharing
| mimetype | text/plain | | mimetype | text/plain |
| storage_id | ANY_VALUE | | storage_id | ANY_VALUE |
| share_type | user | | share_type | user |
And the content of file "/Shares/renamed.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/Shares/renamed.txt" for user "Brian" should be "OpenCloud test text file 0"
Examples: Examples:
| ocs-api-version | ocs-status-code | | ocs-api-version | ocs-status-code |
| 1 | 100 | | 1 | 100 |
@@ -582,7 +582,7 @@ Feature: sharing
| username | | username |
| Brian | | Brian |
| Carol | | Carol |
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | textfile0.txt | | resource | textfile0.txt |
| space | Personal | | space | Personal |
@@ -644,7 +644,7 @@ Feature: sharing
Scenario Outline: sharing a same file twice to the same group is not possible Scenario Outline: sharing a same file twice to the same group is not possible
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And group "grp1" has been created And group "grp1" has been created
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | textfile0.txt | | resource | textfile0.txt |
| space | Personal | | space | Personal |
@@ -14,7 +14,7 @@ Feature: accept/decline shares coming from internal users to the Shares folder
Scenario: accept an incoming file share Scenario: accept an incoming file share
Given user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
And user "Brian" has disabled auto-accepting And user "Brian" has disabled auto-accepting
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | textfile0.txt | | resource | textfile0.txt |
@@ -25,13 +25,13 @@ Feature: accept/decline shares coming from internal users to the Shares folder
When user "Brian" accepts share "/textfile0.txt" offered by user "Alice" using the sharing API When user "Brian" accepts share "/textfile0.txt" offered by user "Alice" using the sharing API
Then the OCS status code should be "100" Then the OCS status code should be "100"
And the HTTP status code should be "200" And the HTTP status code should be "200"
And the content of file "/Shares/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/Shares/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
Scenario: accept an incoming folder share Scenario: accept an incoming folder share
Given user "Alice" has created folder "/PARENT" Given user "Alice" has created folder "/PARENT"
And user "Brian" has disabled auto-accepting And user "Brian" has disabled auto-accepting
And user "Alice" has uploaded file with content "ownCloud test text file parent" to "PARENT/parent.txt" And user "Alice" has uploaded file with content "OpenCloud test text file parent" to "PARENT/parent.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | PARENT | | resource | PARENT |
| space | Personal | | space | Personal |
@@ -39,11 +39,11 @@ Feature: accept/decline shares coming from internal users to the Shares folder
| shareType | user | | shareType | user |
| permissionsRole | Viewer | | permissionsRole | Viewer |
When user "Brian" accepts share "/PARENT" offered by user "Alice" using the sharing API When user "Brian" accepts share "/PARENT" offered by user "Alice" using the sharing API
Then the content of file "/Shares/PARENT/parent.txt" for user "Brian" should be "ownCloud test text file parent" Then the content of file "/Shares/PARENT/parent.txt" for user "Brian" should be "OpenCloud test text file parent"
Scenario: accept an incoming file share and check the response Scenario: accept an incoming file share and check the response
Given user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" Given user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
And user "Brian" has disabled auto-accepting And user "Brian" has disabled auto-accepting
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | textfile0.txt | | resource | textfile0.txt |
@@ -66,13 +66,13 @@ Feature: accept/decline shares coming from internal users to the Shares folder
| mimetype | text/plain | | mimetype | text/plain |
| storage_id | ANY_VALUE | | storage_id | ANY_VALUE |
| share_type | user | | share_type | user |
And the content of file "/Shares/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/Shares/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
Scenario: accept an incoming folder share and check the response Scenario: accept an incoming folder share and check the response
Given user "Alice" has created folder "/PARENT" Given user "Alice" has created folder "/PARENT"
And user "Brian" has disabled auto-accepting And user "Brian" has disabled auto-accepting
And user "Alice" has uploaded file with content "ownCloud test text file parent" to "PARENT/parent.txt" And user "Alice" has uploaded file with content "OpenCloud test text file parent" to "PARENT/parent.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | PARENT | | resource | PARENT |
| space | Personal | | space | Personal |
@@ -94,4 +94,4 @@ Feature: accept/decline shares coming from internal users to the Shares folder
| mimetype | httpd/unix-directory | | mimetype | httpd/unix-directory |
| storage_id | ANY_VALUE | | storage_id | ANY_VALUE |
| share_type | user | | share_type | user |
And the content of file "/Shares/PARENT/parent.txt" for user "Brian" should be "ownCloud test text file parent" And the content of file "/Shares/PARENT/parent.txt" for user "Brian" should be "OpenCloud test text file parent"
@@ -13,7 +13,7 @@ Feature: share access by ID
Scenario Outline: get a share with a valid share ID Scenario Outline: get a share with a valid share ID
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API
And user "Alice" gets share with id "%last_share_id%" using the sharing API And user "Alice" gets share with id "%last_share_id%" using the sharing API
Then the OCS status code should be "<ocs-status-code>" Then the OCS status code should be "<ocs-status-code>"
@@ -30,7 +30,7 @@ Feature: share access by ID
| mimetype | text/plain | | mimetype | text/plain |
| storage_id | ANY_VALUE | | storage_id | ANY_VALUE |
| share_type | user | | share_type | user |
And the content of file "/Shares/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/Shares/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
Examples: Examples:
| ocs-api-version | ocs-status-code | | ocs-api-version | ocs-status-code |
| 1 | 100 | | 1 | 100 |
@@ -57,7 +57,7 @@ Feature: share access by ID
Scenario Outline: accept a share using the share Id Scenario Outline: accept a share using the share Id
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API
Then the OCS status code should be "<ocs-status-code>" Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200" And the HTTP status code should be "200"
@@ -102,7 +102,7 @@ Feature: share access by ID
Scenario Outline: decline a share using the share Id Scenario Outline: decline a share using the share Id
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has sent the following resource share invitation: And user "Alice" has sent the following resource share invitation:
| resource | textfile0.txt | | resource | textfile0.txt |
| space | Personal | | space | Personal |
@@ -3,7 +3,7 @@
Feature: create a public link share Feature: create a public link share
As a user As a user
I want to create public links I want to create public links
So that I can share resources to people who aren't owncloud users So that I can share resources to people who aren't OpenCloud users
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
@@ -230,7 +230,7 @@ Feature: create a public link share
| 2 | 200 | | 2 | 200 |
Scenario Outline: Do not allow public sharing of the root on OCIS when the default permission is read and access using the public WebDAV API Scenario Outline: Do not allow public sharing of the root on OpenCloud when the default permission is read and access using the public WebDAV API
Given using OCS API version "<ocs-api-version>" Given using OCS API version "<ocs-api-version>"
When user "Alice" creates a public link share using the sharing API with settings When user "Alice" creates a public link share using the sharing API with settings
| path | / | | path | / |
@@ -1,7 +1,7 @@
Feature: create a public link share when share_folder is set to Shares Feature: create a public link share when share_folder is set to Shares
As a user As a user
I want to create public links I want to create public links
So that I can share resources to people who aren't owncloud users So that I can share resources to people who aren't OpenCloud users
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
@@ -2,7 +2,7 @@
Feature: restore deleted files/folders Feature: restore deleted files/folders
As a user As a user
I would like to restore files/folders I would like to restore files/folders
So that I can recover accidentally deleted files/folders in ownCloud So that I can recover accidentally deleted files/folders in OpenCloud
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
@@ -11,12 +11,12 @@ Feature: move (rename) file
Scenario Outline: moving a file Scenario Outline: moving a file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has created folder "FOLDER" And user "Alice" has created folder "FOLDER"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
When user "Alice" moves file "/textfile0.txt" to "/FOLDER/textfile0.txt" using the WebDAV API When user "Alice" moves file "/textfile0.txt" to "/FOLDER/textfile0.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the following headers should match these regular expressions for user "Alice" And the following headers should match these regular expressions for user "Alice"
| ETag | /^"[a-f0-9:\.]{1,32}"$/ | | ETag | /^"[a-f0-9:\.]{1,32}"$/ |
And the content of file "/FOLDER/textfile0.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/FOLDER/textfile0.txt" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -26,15 +26,15 @@ Feature: move (rename) file
@smokeTest @smokeTest
Scenario Outline: moving and overwriting a file Scenario Outline: moving and overwriting a file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 0 v1" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0 v1" to "textfile0.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 0 v2" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0 v2" to "textfile0.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 1" to "textfile1.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 1" to "textfile1.txt"
When user "Alice" moves file "/textfile0.txt" to "/textfile1.txt" using the WebDAV API When user "Alice" moves file "/textfile0.txt" to "/textfile1.txt" using the WebDAV API
Then the HTTP status code should be "204" Then the HTTP status code should be "204"
And the following headers should match these regular expressions for user "Alice" And the following headers should match these regular expressions for user "Alice"
| ETag | /^"[a-f0-9:\.]{1,32}"$/ | | ETag | /^"[a-f0-9:\.]{1,32}"$/ |
And the content of file "/textfile1.txt" for user "Alice" should be "ownCloud test text file 0 v2" And the content of file "/textfile1.txt" for user "Alice" should be "OpenCloud test text file 0 v2"
And the content of version index "1" of file "/textfile1.txt" for user "Alice" should be "ownCloud test text file 0 v1" And the content of version index "1" of file "/textfile1.txt" for user "Alice" should be "OpenCloud test text file 0 v1"
And as "Alice" file "/textfile0.txt" should not exist And as "Alice" file "/textfile0.txt" should not exist
Examples: Examples:
| dav-path-version | | dav-path-version |
@@ -45,11 +45,11 @@ Feature: move (rename) file
Scenario Outline: moving (renaming) a file to be only different case Scenario Outline: moving (renaming) a file to be only different case
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
When user "Alice" moves file "/textfile0.txt" to "/TextFile0.txt" using the WebDAV API When user "Alice" moves file "/textfile0.txt" to "/TextFile0.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And as "Alice" file "/textfile0.txt" should not exist And as "Alice" file "/textfile0.txt" should not exist
And the content of file "/TextFile0.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/TextFile0.txt" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -59,12 +59,12 @@ Feature: move (rename) file
@smokeTest @smokeTest
Scenario Outline: moving (renaming) a file to a file with only different case to an existing file Scenario Outline: moving (renaming) a file to a file with only different case to an existing file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 1" to "textfile1.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 1" to "textfile1.txt"
When user "Alice" moves file "/textfile1.txt" to "/TextFile0.txt" using the WebDAV API When user "Alice" moves file "/textfile1.txt" to "/TextFile0.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the content of file "/textfile0.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/textfile0.txt" for user "Alice" should be "OpenCloud test text file 0"
And the content of file "/TextFile0.txt" for user "Alice" should be "ownCloud test text file 1" And the content of file "/TextFile0.txt" for user "Alice" should be "OpenCloud test text file 1"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -75,12 +75,12 @@ Feature: move (rename) file
Scenario Outline: moving (renaming) a file to a file in a folder with only different case to an existing file Scenario Outline: moving (renaming) a file to a file in a folder with only different case to an existing file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has created folder "PARENT" And user "Alice" has created folder "PARENT"
And user "Alice" has uploaded file with content "ownCloud test text file parent" to "PARENT/parent.txt" And user "Alice" has uploaded file with content "OpenCloud test text file parent" to "PARENT/parent.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 1" to "textfile1.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 1" to "textfile1.txt"
When user "Alice" moves file "/textfile1.txt" to "/PARENT/Parent.txt" using the WebDAV API When user "Alice" moves file "/textfile1.txt" to "/PARENT/Parent.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the content of file "/PARENT/parent.txt" for user "Alice" should be "ownCloud test text file parent" And the content of file "/PARENT/parent.txt" for user "Alice" should be "OpenCloud test text file parent"
And the content of file "/PARENT/Parent.txt" for user "Alice" should be "ownCloud test text file 1" And the content of file "/PARENT/Parent.txt" for user "Alice" should be "OpenCloud test text file 1"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -90,11 +90,11 @@ Feature: move (rename) file
@issue-1976 @issue-1976
Scenario Outline: try to move a file into same folder with same name Scenario Outline: try to move a file into same folder with same name
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file" to "testfile.txt" And user "Alice" has uploaded file with content "OpenCloud test text file" to "testfile.txt"
When user "Alice" moves file "testfile.txt" to "testfile.txt" using the WebDAV API When user "Alice" moves file "testfile.txt" to "testfile.txt" using the WebDAV API
Then the HTTP status code should be "403" Then the HTTP status code should be "403"
And as "Alice" the file with original path "testfile.txt" should not exist in the trashbin And as "Alice" the file with original path "testfile.txt" should not exist in the trashbin
And the content of file "testfile.txt" for user "Alice" should be "ownCloud test text file" And the content of file "testfile.txt" for user "Alice" should be "OpenCloud test text file"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -178,10 +178,10 @@ Feature: move (rename) file
@sqliteDB @sqliteDB
Scenario Outline: renaming to a file with special characters Scenario Outline: renaming to a file with special characters
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 1" to "textfile1.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 1" to "textfile1.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 2" to "textfile2.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 2" to "textfile2.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 3" to "textfile3.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 3" to "textfile3.txt"
When user "Alice" moves the following file using the WebDAV API When user "Alice" moves the following file using the WebDAV API
| source | destination | | source | destination |
| /textfile0.txt | *a@b#c$e%f&g* | | /textfile0.txt | *a@b#c$e%f&g* |
@@ -189,10 +189,10 @@ Feature: move (rename) file
| /textfile2.txt | file[2] | | /textfile2.txt | file[2] |
| /textfile3.txt | file [ 3 ] | | /textfile3.txt | file [ 3 ] |
Then the HTTP status code of responses on all endpoints should be "201" Then the HTTP status code of responses on all endpoints should be "201"
And the content of file "*a@b#c$e%f&g*" for user "Alice" should be "ownCloud test text file 0" And the content of file "*a@b#c$e%f&g*" for user "Alice" should be "OpenCloud test text file 0"
And the content of file "1 2 3##.##" for user "Alice" should be "ownCloud test text file 1" And the content of file "1 2 3##.##" for user "Alice" should be "OpenCloud test text file 1"
And the content of file "file[2]" for user "Alice" should be "ownCloud test text file 2" And the content of file "file[2]" for user "Alice" should be "OpenCloud test text file 2"
And the content of file "file [ 3 ]" for user "Alice" should be "ownCloud test text file 3" And the content of file "file [ 3 ]" for user "Alice" should be "OpenCloud test text file 3"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -203,10 +203,10 @@ Feature: move (rename) file
#after fixing the issues merge this Scenario into the one above #after fixing the issues merge this Scenario into the one above
Scenario Outline: renaming to a file with question mark in its name Scenario Outline: renaming to a file with question mark in its name
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
When user "Alice" moves file "/textfile0.txt" to "/#oc ab?cd=ef#" using the WebDAV API When user "Alice" moves file "/textfile0.txt" to "/#oc ab?cd=ef#" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the content of file "/#oc ab?cd=ef#" for user "Alice" should be "ownCloud test text file 0" And the content of file "/#oc ab?cd=ef#" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -325,12 +325,12 @@ Feature: move (rename) file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has created folder "<source-folder>" And user "Alice" has created folder "<source-folder>"
And user "Alice" has created folder "<destination-folder>" And user "Alice" has created folder "<destination-folder>"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/<source-folder>/<source-file>" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/<source-folder>/<source-file>"
When user "Alice" moves file "/<source-folder>/<source-file>" to "/<destination-folder>/<destination-file>" using the WebDAV API When user "Alice" moves file "/<source-folder>/<source-file>" to "/<destination-folder>/<destination-file>" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the following headers should match these regular expressions for user "Alice" And the following headers should match these regular expressions for user "Alice"
| ETag | /^"[a-f0-9:\.]{1,32}"$/ | | ETag | /^"[a-f0-9:\.]{1,32}"$/ |
And the content of file "/<destination-folder>/<destination-file>" for user "Alice" should be "ownCloud test text file 0" And the content of file "/<destination-folder>/<destination-file>" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | source-folder | source-file | destination-folder | destination-file | | dav-path-version | source-folder | source-file | destination-folder | destination-file |
| old | text | file.txt | 0 | file.txt | | old | text | file.txt | 0 | file.txt |
@@ -362,12 +362,12 @@ Feature: move (rename) file
Scenario Outline: moving a file from a folder to the root Scenario Outline: moving a file from a folder to the root
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has created folder "<source-folder>" And user "Alice" has created folder "<source-folder>"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/<source-folder>/<source-file>" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/<source-folder>/<source-file>"
When user "Alice" moves file "/<source-folder>/<source-file>" to "/<destination-file>" using the WebDAV API When user "Alice" moves file "/<source-folder>/<source-file>" to "/<destination-file>" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the following headers should match these regular expressions for user "Alice" And the following headers should match these regular expressions for user "Alice"
| ETag | /^"[a-f0-9:\.]{1,32}"$/ | | ETag | /^"[a-f0-9:\.]{1,32}"$/ |
And the content of file "/<destination-file>" for user "Alice" should be "ownCloud test text file 0" And the content of file "/<destination-file>" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | source-folder | source-file | destination-file | | dav-path-version | source-folder | source-file | destination-file |
| old | 0 | file.txt | file.txt | | old | 0 | file.txt | file.txt |
@@ -492,7 +492,7 @@ Feature: move (rename) file
Scenario Outline: rename a file to .htaccess Scenario Outline: rename a file to .htaccess
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "textfile0.txt"
When user "Alice" moves file "/textfile0.txt" to "/.htaccess" using the WebDAV API When user "Alice" moves file "/textfile0.txt" to "/.htaccess" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And user "Alice" should see the following elements And user "Alice" should see the following elements
@@ -5,7 +5,7 @@ Feature: download file
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has uploaded file with content "Welcome this is just an example file for developers." to "/welcome.txt" And user "Alice" has uploaded file with content "Welcome this is just an example file for developers." to "/welcome.txt"
@smokeTest @smokeTest
@@ -13,7 +13,7 @@ Feature: download file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
When user "Alice" downloads file "/textfile0.txt" using the WebDAV API When user "Alice" downloads file "/textfile0.txt" using the WebDAV API
Then the HTTP status code should be "200" Then the HTTP status code should be "200"
And the downloaded content should be "ownCloud test text file 0" And the downloaded content should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -219,7 +219,7 @@ Feature: download file
And the following headers should be set And the following headers should be set
| header | value | | header | value |
| Content-Disposition | attachment; filename*=UTF-8''<encoded-file-name>; filename="<file-name>" | | Content-Disposition | attachment; filename*=UTF-8''<encoded-file-name>; filename="<file-name>" |
| Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' | | Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/opencloud-eu/awesome-opencloud/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/opencloud-eu/awesome-opencloud/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' |
| X-Content-Type-Options | nosniff | | X-Content-Type-Options | nosniff |
| X-Frame-Options | SAMEORIGIN | | X-Frame-Options | SAMEORIGIN |
| X-Permitted-Cross-Domain-Policies | none | | X-Permitted-Cross-Domain-Policies | none |
@@ -247,7 +247,7 @@ Feature: download file
And the following headers should be set And the following headers should be set
| header | value | | header | value |
| Content-Disposition | attachment; filename*=UTF-8''%22quote%22double%22.txt; filename=""quote"double".txt" | | Content-Disposition | attachment; filename*=UTF-8''%22quote%22double%22.txt; filename=""quote"double".txt" |
| Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/owncloud/awesome-ocis/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' | | Content-Security-Policy | child-src 'self'; connect-src 'self' blob: https://raw.githubusercontent.com/opencloud-eu/awesome-opencloud/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https://embed.diagrams.net/; img-src 'self' data: blob: https://raw.githubusercontent.com/opencloud-eu/awesome-opencloud/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' |
| X-Content-Type-Options | nosniff | | X-Content-Type-Options | nosniff |
| X-Frame-Options | SAMEORIGIN | | X-Frame-Options | SAMEORIGIN |
| X-Permitted-Cross-Domain-Policies | none | | X-Permitted-Cross-Domain-Policies | none |
@@ -1,7 +1,7 @@
Feature: list files Feature: list files
As a user As a user
I want to be able to list my files and folders (resources) I want to be able to list my files and folders (resources)
So that I can understand my file structure in owncloud So that I can understand my file structure in OpenCloud
Background: Background:
Given user "Alice" has been created with default attributes Given user "Alice" has been created with default attributes
@@ -6,8 +6,8 @@ Feature: copy file
Background: Background:
Given using OCS API version "1" Given using OCS API version "1"
And user "Alice" has been created with default attributes And user "Alice" has been created with default attributes
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
And user "Alice" has uploaded file with content "ownCloud test text file 1" to "/textfile1.txt" And user "Alice" has uploaded file with content "OpenCloud test text file 1" to "/textfile1.txt"
And user "Alice" has created folder "/FOLDER" And user "Alice" has created folder "/FOLDER"
@smokeTest @smokeTest
@@ -15,7 +15,7 @@ Feature: copy file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
When user "Alice" copies file "/textfile0.txt" to "/FOLDER/textfile0.txt" using the WebDAV API When user "Alice" copies file "/textfile0.txt" to "/FOLDER/textfile0.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the content of file "/FOLDER/textfile0.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/FOLDER/textfile0.txt" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -27,7 +27,7 @@ Feature: copy file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
When user "Alice" copies file "/textfile0.txt" to "/textfile1.txt" using the WebDAV API When user "Alice" copies file "/textfile0.txt" to "/textfile1.txt" using the WebDAV API
Then the HTTP status code should be "204" Then the HTTP status code should be "204"
And the content of file "/textfile1.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/textfile1.txt" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -40,8 +40,8 @@ Feature: copy file
# "/textfile1.txt" already exists in the skeleton, make another with only case differences in the file name # "/textfile1.txt" already exists in the skeleton, make another with only case differences in the file name
When user "Alice" copies file "/textfile0.txt" to "/TextFile1.txt" using the WebDAV API When user "Alice" copies file "/textfile0.txt" to "/TextFile1.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the content of file "/textfile1.txt" for user "Alice" should be "ownCloud test text file 1" And the content of file "/textfile1.txt" for user "Alice" should be "OpenCloud test text file 1"
And the content of file "/TextFile1.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/TextFile1.txt" for user "Alice" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -78,7 +78,7 @@ Feature: copy file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Brian" has created folder "/testshare" And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded file with content "ownCloud test text file 1" to "textfile1.txt" And user "Brian" has uploaded file with content "OpenCloud test text file 1" to "textfile1.txt"
And user "Brian" has sent the following resource share invitation: And user "Brian" has sent the following resource share invitation:
| resource | testshare | | resource | testshare |
| space | Personal | | space | Personal |
@@ -89,7 +89,7 @@ Feature: copy file
And user "Brian" has copied file "textfile1.txt" to "/testshare/overwritethis.txt" And user "Brian" has copied file "textfile1.txt" to "/testshare/overwritethis.txt"
When user "Alice" copies file "/textfile0.txt" to "/Shares/testshare/overwritethis.txt" using the WebDAV API When user "Alice" copies file "/textfile0.txt" to "/Shares/testshare/overwritethis.txt" using the WebDAV API
Then the HTTP status code should be "403" Then the HTTP status code should be "403"
And the content of file "/Shares/testshare/overwritethis.txt" for user "Alice" should be "ownCloud test text file 1" And the content of file "/Shares/testshare/overwritethis.txt" for user "Alice" should be "OpenCloud test text file 1"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -116,7 +116,7 @@ Feature: copy file
And user "Alice" has created folder "FOLDER/sample-folder" And user "Alice" has created folder "FOLDER/sample-folder"
When user "Alice" copies file "/textfile1.txt" to "/FOLDER" using the WebDAV API When user "Alice" copies file "/textfile1.txt" to "/FOLDER" using the WebDAV API
Then the HTTP status code should be "204" Then the HTTP status code should be "204"
And the content of file "/FOLDER" for user "Alice" should be "ownCloud test text file 1" And the content of file "/FOLDER" for user "Alice" should be "OpenCloud test text file 1"
And as "Alice" folder "/FOLDER/sample-folder" should not exist And as "Alice" folder "/FOLDER/sample-folder" should not exist
And as "Alice" file "/textfile1.txt" should exist And as "Alice" file "/textfile1.txt" should exist
Examples: Examples:
@@ -700,8 +700,8 @@ Feature: copy file
And user "Alice" has a share "testshare" synced And user "Alice" has a share "testshare" synced
When user "Alice" copies file "/textfile0.txt" to "/Shares/testshare/textfile0.txt" using the WebDAV API When user "Alice" copies file "/textfile0.txt" to "/Shares/testshare/textfile0.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the content of file "/Shares/testshare/textfile0.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/Shares/testshare/textfile0.txt" for user "Alice" should be "OpenCloud test text file 0"
And the content of file "/testshare/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/testshare/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -720,11 +720,11 @@ Feature: copy file
| shareType | user | | shareType | user |
| permissionsRole | Editor | | permissionsRole | Editor |
And user "Alice" has a share "testshare" synced And user "Alice" has a share "testshare" synced
And user "Brian" has uploaded file with content "ownCloud test text file 0" to "/textfile0.txt" And user "Brian" has uploaded file with content "OpenCloud test text file 0" to "/textfile0.txt"
When user "Brian" copies file "/textfile0.txt" to "/testshare/textfile0.txt" using the WebDAV API When user "Brian" copies file "/textfile0.txt" to "/testshare/textfile0.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And the content of file "/Shares/testshare/textfile0.txt" for user "Alice" should be "ownCloud test text file 0" And the content of file "/Shares/testshare/textfile0.txt" for user "Alice" should be "OpenCloud test text file 0"
And the content of file "/testshare/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/testshare/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -743,12 +743,12 @@ Feature: copy file
| shareType | user | | shareType | user |
| permissionsRole | Editor | | permissionsRole | Editor |
And user "Alice" has a share "testshare" synced And user "Alice" has a share "testshare" synced
And user "Alice" has uploaded file with content "ownCloud test text file inside share" to "/Shares/testshare/fileInsideShare.txt" And user "Alice" has uploaded file with content "OpenCloud test text file inside share" to "/Shares/testshare/fileInsideShare.txt"
When user "Alice" copies file "/Shares/testshare/fileInsideShare.txt" to "/fileInsideShare.txt" using the WebDAV API When user "Alice" copies file "/Shares/testshare/fileInsideShare.txt" to "/fileInsideShare.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And as "Alice" file "/fileInsideShare.txt" should exist And as "Alice" file "/fileInsideShare.txt" should exist
And the content of file "/fileInsideShare.txt" for user "Alice" should be "ownCloud test text file inside share" And the content of file "/fileInsideShare.txt" for user "Alice" should be "OpenCloud test text file inside share"
And the content of file "/testshare/fileInsideShare.txt" for user "Brian" should be "ownCloud test text file inside share" And the content of file "/testshare/fileInsideShare.txt" for user "Brian" should be "OpenCloud test text file inside share"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -805,7 +805,7 @@ Feature: copy file
Given using <dav-path-version> DAV path Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes And user "Brian" has been created with default attributes
And user "Brian" has created folder "/testshare" And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded file with content "ownCloud test text file inside share" to "/testshare/fileInsideShare.txt" And user "Brian" has uploaded file with content "OpenCloud test text file inside share" to "/testshare/fileInsideShare.txt"
And user "Brian" has sent the following resource share invitation: And user "Brian" has sent the following resource share invitation:
| resource | testshare | | resource | testshare |
| space | Personal | | space | Personal |
@@ -816,8 +816,8 @@ Feature: copy file
When user "Brian" copies file "testshare/fileInsideShare.txt" to "/fileInsideShare.txt" using the WebDAV API When user "Brian" copies file "testshare/fileInsideShare.txt" to "/fileInsideShare.txt" using the WebDAV API
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And as "Brian" file "/fileInsideShare.txt" should exist And as "Brian" file "/fileInsideShare.txt" should exist
And the content of file "/Shares/testshare/fileInsideShare.txt" for user "Alice" should be "ownCloud test text file inside share" And the content of file "/Shares/testshare/fileInsideShare.txt" for user "Alice" should be "OpenCloud test text file inside share"
And the content of file "/fileInsideShare.txt" for user "Brian" should be "ownCloud test text file inside share" And the content of file "/fileInsideShare.txt" for user "Brian" should be "OpenCloud test text file inside share"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
@@ -986,8 +986,8 @@ Feature: copy file
Then the HTTP status code should be "201" Then the HTTP status code should be "201"
And as "Brian" file "/Shares/testshare/textfile0.txt" should exist And as "Brian" file "/Shares/testshare/textfile0.txt" should exist
And as "Carol" file "/Shares/testshare/textfile0.txt" should exist And as "Carol" file "/Shares/testshare/textfile0.txt" should exist
And the content of file "/Shares/testshare/textfile0.txt" for user "Brian" should be "ownCloud test text file 0" And the content of file "/Shares/testshare/textfile0.txt" for user "Brian" should be "OpenCloud test text file 0"
And the content of file "/Shares/testshare/textfile0.txt" for user "Carol" should be "ownCloud test text file 0" And the content of file "/Shares/testshare/textfile0.txt" for user "Carol" should be "OpenCloud test text file 0"
Examples: Examples:
| dav-path-version | | dav-path-version |
| old | | old |
+1 -1
View File
@@ -84,7 +84,7 @@ fi
# --tags - specify tags for scenarios to run (or not) # --tags - specify tags for scenarios to run (or not)
# --remote - the server under test is remote, so we cannot locally enable the # --remote - the server under test is remote, so we cannot locally enable the
# testing app. We have to assume it is already enabled. # testing app. We have to assume it is already enabled.
# --show-oc-logs - tail the ownCloud log after the test run # --show-oc-logs - tail the OpenCloud log after the test run
# --loop - loop tests for given number of times. Only use it for debugging purposes # --loop - loop tests for given number of times. Only use it for debugging purposes
# --part - run a subset of scenarios, need two numbers. # --part - run a subset of scenarios, need two numbers.
# first number: which part to run # first number: which part to run
+2 -2
View File
@@ -1,5 +1,5 @@
password password
12345678 12345678
123 123
ownCloud OpenCloud
ownCloud-1 OpenCloud-1
+1 -1
View File
@@ -14,7 +14,7 @@ BINGO_DIR="$ROOT_PATH/.bingo"
# generate hash of a .bingo folder # generate hash of a .bingo folder
BINGO_HASH=$(cat "$BINGO_DIR"/* | sha256sum | cut -d ' ' -f 1) BINGO_HASH=$(cat "$BINGO_DIR"/* | sha256sum | cut -d ' ' -f 1)
URL="$CACHE_ENDPOINT/$CACHE_BUCKET/ocis/go-bin/$BINGO_HASH/$2" URL="$CACHE_ENDPOINT/$CACHE_BUCKET/opencloud/go-bin/$BINGO_HASH/$2"
if curl --output /dev/null --silent --head --fail "$URL"; then if curl --output /dev/null --silent --head --fail "$URL"; then
echo "[INFO] Go bin cache with has '$BINGO_HASH' exists." echo "[INFO] Go bin cache with has '$BINGO_HASH' exists."
# https://discourse.drone.io/t/how-to-exit-a-pipeline-early-without-failing/3951 # https://discourse.drone.io/t/how-to-exit-a-pipeline-early-without-failing/3951
+1 -1
View File
@@ -10,7 +10,7 @@ fi
echo "Checking web version - $WEB_COMMITID in cache" echo "Checking web version - $WEB_COMMITID in cache"
URL="$CACHE_ENDPOINT/$CACHE_BUCKET/ocis/web-test-runner/$WEB_COMMITID/$1.tar.gz" URL="$CACHE_ENDPOINT/$CACHE_BUCKET/opencloud/web-test-runner/$WEB_COMMITID/$1.tar.gz"
echo "Checking for the web cache at '$URL'." echo "Checking for the web cache at '$URL'."
+7 -7
View File
@@ -1,12 +1,12 @@
<wopi-discovery> <wopi-discovery>
<net-zone name="external-http"> <net-zone name="external-http">
<app favIconUrl="https://fakeoffice.owncloud.test/favicon.ico" name="wopitest"> <app favIconUrl="https://fakeoffice.opencloud.test/favicon.ico" name="wopitest">
<action default="true" ext="wopitest" name="view" urlsrc="https://fakeoffice.owncloud.test/not/relevant?"/> <action default="true" ext="wopitest" name="view" urlsrc="https://fakeoffice.opencloud.test/not/relevant?"/>
<action default="true" ext="wopitest" name="edit" urlsrc="https://fakeoffice.owncloud.test/not/relevant?"/> <action default="true" ext="wopitest" name="edit" urlsrc="https://fakeoffice.opencloud.test/not/relevant?"/>
<action default="true" ext="odt" name="view" urlsrc="https://fakeoffice.owncloud.test/not/relevant?"/> <action default="true" ext="odt" name="view" urlsrc="https://fakeoffice.opencloud.test/not/relevant?"/>
<action default="true" ext="odt" name="edit" urlsrc="https://fakeoffice.owncloud.test/not/relevant?"/> <action default="true" ext="odt" name="edit" urlsrc="https://fakeoffice.opencloud.test/not/relevant?"/>
<action default="true" ext="txt" name="view" urlsrc="https://fakeoffice.owncloud.test/not/relevant?"/> <action default="true" ext="txt" name="view" urlsrc="https://fakeoffice.opencloud.test/not/relevant?"/>
<action default="true" ext="txt" name="edit" urlsrc="https://fakeoffice.owncloud.test/not/relevant?"/> <action default="true" ext="txt" name="edit" urlsrc="https://fakeoffice.opencloud.test/not/relevant?"/>
</app> </app>
</net-zone> </net-zone>
</wopi-discovery> </wopi-discovery>
@@ -1,10 +1,10 @@
{ {
"server": "https://ocis-server:9200", "server": "https://opencloud-server:9200",
"theme": "https://ocis-server:9200/themes/owncloud/theme.json", "theme": "https://opencloud-server:9200/themes/opencloud/theme.json",
"version": "0.1.0", "version": "0.1.0",
"openIdConnect": { "openIdConnect": {
"metadata_url": "https://ocis-server:9200/.well-known/openid-configuration", "metadata_url": "https://opencloud-server:9200/.well-known/openid-configuration",
"authority": "https://ocis-server:9200", "authority": "https://opencloud-server:9200",
"client_id": "web", "client_id": "web",
"response_type": "code", "response_type": "code",
"scope": "openid profile email" "scope": "openid profile email"
+14 -14
View File
@@ -1,10 +1,10 @@
[ [
{ {
"name": "ocis-server", "name": "opencloud-server",
"full_name": "first-ocis-instance", "full_name": "first-opencloud-instance",
"organization": "Owncloud", "organization": "OpenCloud",
"domain": "ocis-server:9200", "domain": "opencloud-server:9200",
"homepage": "https://owncloud.com", "homepage": "https://opencloud.com",
"services": [ "services": [
{ {
"endpoint": { "endpoint": {
@@ -13,20 +13,20 @@
"description": "CERNBox Open Cloud Mesh API" "description": "CERNBox Open Cloud Mesh API"
}, },
"name": "CERNBox - OCM API", "name": "CERNBox - OCM API",
"path": "https://ocis-server:9200/ocm/", "path": "https://opencloud-server:9200/ocm/",
"is_monitored": true "is_monitored": true
}, },
"api_version": "0.0.1", "api_version": "0.0.1",
"host": "ocis-server:9200" "host": "opencloud-server:9200"
} }
] ]
}, },
{ {
"name": "federation-ocis-server", "name": "federation-opencloud-server",
"full_name": "Federation ocis", "full_name": "Federation opencloud",
"organization": "Owncloud", "organization": "OpenCloud",
"domain": "federation-ocis-server:10200", "domain": "federation-opencloud-server:10200",
"homepage": "https://owncloud.com", "homepage": "https://opencloud.com",
"services": [ "services": [
{ {
"endpoint": { "endpoint": {
@@ -35,11 +35,11 @@
"description": "CERNBox Open Cloud Mesh API" "description": "CERNBox Open Cloud Mesh API"
}, },
"name": "CERNBox - OCM API", "name": "CERNBox - OCM API",
"path": "https://federation-ocis-server:10200/ocm/", "path": "https://federation-opencloud-server:10200/ocm/",
"is_monitored": true "is_monitored": true
}, },
"api_version": "0.0.1", "api_version": "0.0.1",
"host": "federation-ocis-server:10200" "host": "federation-opencloud-server:10200"
} }
] ]
} }
+6 -6
View File
@@ -2,21 +2,21 @@
set -e set -e
if [ "$1" = "--ocis-log" ]; then if [ "$1" = "--opencloud-log" ]; then
sshpass -p "$SSH_OC_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_OC_USERNAME@$SSH_OC_REMOTE" "bash ~/scripts/ocis.sh log" sshpass -p "$SSH_OC_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_OC_USERNAME@$SSH_OC_REMOTE" "bash ~/scripts/opencloud.sh log"
exit 0 exit 0
fi fi
# start ocis server # start OpenCloud server
sshpass -p "$SSH_OC_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_OC_USERNAME@$SSH_OC_REMOTE" \ sshpass -p "$SSH_OC_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_OC_USERNAME@$SSH_OC_REMOTE" \
"OC_URL=${TEST_SERVER_URL} \ "OC_URL=${TEST_SERVER_URL} \
OC_COMMIT_ID=${DRONE_COMMIT} \ OC_COMMIT_ID=${DRONE_COMMIT} \
bash ~/scripts/ocis.sh start" bash ~/scripts/opencloud.sh start"
# start k6 tests # start k6 tests
sshpass -p "$SSH_K6_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_K6_USERNAME@$SSH_K6_REMOTE" \ sshpass -p "$SSH_K6_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_K6_USERNAME@$SSH_K6_REMOTE" \
"TEST_SERVER_URL=${TEST_SERVER_URL} \ "TEST_SERVER_URL=${TEST_SERVER_URL} \
bash ~/scripts/k6-tests.sh" bash ~/scripts/k6-tests.sh"
# stop ocis server # stop OpenCloud server
sshpass -p "$SSH_OC_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_OC_USERNAME@$SSH_OC_REMOTE" "bash ~/scripts/ocis.sh stop" sshpass -p "$SSH_OC_PASSWORD" ssh -o StrictHostKeyChecking=no "$SSH_OC_USERNAME@$SSH_OC_REMOTE" "bash ~/scripts/opencloud.sh stop"
+6 -6
View File
@@ -3,13 +3,13 @@
# #
# wopiserver.conf # wopiserver.conf
# #
# Default configuration file for the WOPI server for oCIS # Default configuration file for the WOPI server for OpenCloud
# #
############################################################## ##############################################################
[general] [general]
# Storage access layer to be loaded in order to operate this WOPI server # Storage access layer to be loaded in order to operate this WOPI server
# only "cs3" is supported with oCIS # only "cs3" is supported with OpenCloud
storagetype = cs3 storagetype = cs3
# Port where to listen for WOPI requests # Port where to listen for WOPI requests
@@ -57,7 +57,7 @@ wopilockstrictcheck = False
# Enable support of rename operations from WOPI apps. This is currently # Enable support of rename operations from WOPI apps. This is currently
# disabled by default as it has been observed that both MS Office and Collabora # disabled by default as it has been observed that both MS Office and Collabora
# Online do not play well with this feature. # Online do not play well with this feature.
# Not supported with oCIS, must always be set to "False" # Not supported with OpenCloud, must always be set to "False"
enablerename = False enablerename = False
# Detection of external Microsoft Office or LibreOffice locks. By default, lock files # Detection of external Microsoft Office or LibreOffice locks. By default, lock files
@@ -65,7 +65,7 @@ enablerename = False
# underlying storage can be mounted as a remote filesystem: in this case, WOPI GetLock # underlying storage can be mounted as a remote filesystem: in this case, WOPI GetLock
# and SetLock operations return such locks and prevent online apps from entering edit mode. # and SetLock operations return such locks and prevent online apps from entering edit mode.
# This feature can be disabled in order to operate a pure WOPI server for online apps. # This feature can be disabled in order to operate a pure WOPI server for online apps.
# Not supported with oCIS, must always be set to "False" # Not supported with OpenCloud, must always be set to "False"
detectexternallocks = False detectexternallocks = False
# Location of the webconflict files. By default, such files are stored in the same path # Location of the webconflict files. By default, such files are stored in the same path
@@ -77,7 +77,7 @@ detectexternallocks = False
# /your_storage/home/user_initial/username # /your_storage/home/user_initial/username
#conflictpath = / #conflictpath = /
# ownCloud's WOPI proxy configuration. Disabled by default. # OpenCloud's WOPI proxy configuration. Disabled by default.
#wopiproxy = https://external-wopi-proxy.com #wopiproxy = https://external-wopi-proxy.com
#wopiproxysecretfile = /path/to/your/shared-key-file #wopiproxysecretfile = /path/to/your/shared-key-file
#proxiedappname = Name of your proxied app #proxiedappname = Name of your proxied app
@@ -121,7 +121,7 @@ recoverypath = /var/spool/wopirecovery
[cs3] [cs3]
# Host and port of the Reva(-like) CS3-compliant GRPC gateway endpoint # Host and port of the Reva(-like) CS3-compliant GRPC gateway endpoint
revagateway = ocis-server:9142 revagateway = opencloud-server:9142
# Reva/gRPC authentication token expiration time [seconds] # Reva/gRPC authentication token expiration time [seconds]
# The default value matches Reva's default # The default value matches Reva's default
+6 -6
View File
@@ -1,12 +1,12 @@
#!/bin/bash #!/bin/bash
export WEB_UI_CONFIG_FILE=tests/config/local/fed-ocis-web.json export WEB_UI_CONFIG_FILE=tests/config/local/fed-opencloud-web.json
export OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE=tests/config/local/providers.json export OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE=tests/config/local/providers.json
export OCM_OCM_INVITE_MANAGER_INSECURE=true export OCM_OCM_INVITE_MANAGER_INSECURE=true
export OCM_OCM_SHARE_PROVIDER_INSECURE=true export OCM_OCM_SHARE_PROVIDER_INSECURE=true
export OCM_OCM_STORAGE_PROVIDER_INSECURE=true export OCM_OCM_STORAGE_PROVIDER_INSECURE=true
export OC_BASE_DATA_PATH=${HOME}/.ocis-10200 export OC_BASE_DATA_PATH=${HOME}/.opencloud-10200
export OC_CONFIG_DIR=${HOME}/.ocis-10200/config export OC_CONFIG_DIR=${HOME}/.opencloud-10200/config
export OC_EVENTS_ENDPOINT=127.0.0.1:10233 export OC_EVENTS_ENDPOINT=127.0.0.1:10233
export OC_LDAP_URI=ldaps://localhost:10235 export OC_LDAP_URI=ldaps://localhost:10235
export OC_RUNTIME_PORT=10250 export OC_RUNTIME_PORT=10250
@@ -112,9 +112,9 @@ export OC_ADMIN_USER_ID=some-admin-user-id-0000-000000000000
export IDM_ADMIN_PASSWORD=admin export IDM_ADMIN_PASSWORD=admin
export OC_SYSTEM_USER_ID=some-system-user-id-000-000000000000 export OC_SYSTEM_USER_ID=some-system-user-id-000-000000000000
export OC_SYSTEM_USER_API_KEY=some-system-user-machine-auth-api-key export OC_SYSTEM_USER_API_KEY=some-system-user-machine-auth-api-key
export OC_JWT_SECRET=some-ocis-jwt-secret export OC_JWT_SECRET=some-opencloud-jwt-secret
export OC_MACHINE_AUTH_API_KEY=some-ocis-machine-auth-api-key export OC_MACHINE_AUTH_API_KEY=some-opencloud-machine-auth-api-key
export OC_TRANSFER_SECRET=some-ocis-transfer-secret export OC_TRANSFER_SECRET=some-opencloud-transfer-secret
export IDM_SVC_PASSWORD=some-ldap-idm-password export IDM_SVC_PASSWORD=some-ldap-idm-password
export GRAPH_LDAP_BIND_PASSWORD=some-ldap-idm-password export GRAPH_LDAP_BIND_PASSWORD=some-ldap-idm-password
export IDM_REVASVC_PASSWORD=some-ldap-reva-password export IDM_REVASVC_PASSWORD=some-ldap-reva-password
@@ -1,6 +1,6 @@
{ {
"server": "https://localhost:10200", "server": "https://localhost:10200",
"theme": "https://localhost:10200/themes/owncloud/theme.json", "theme": "https://localhost:10200/themes/opencloud/theme.json",
"version": "0.1.0", "version": "0.1.0",
"openIdConnect": { "openIdConnect": {
"metadata_url": "https://localhost:10200/.well-known/openid-configuration", "metadata_url": "https://localhost:10200/.well-known/openid-configuration",
@@ -1,6 +1,6 @@
{ {
"server": "https://localhost:9200", "server": "https://localhost:9200",
"theme": "https://localhost:9200/themes/owncloud/theme.json", "theme": "https://localhost:9200/themes/opencloud/theme.json",
"version": "0.1.0", "version": "0.1.0",
"openIdConnect": { "openIdConnect": {
"metadata_url": "https://localhost:9200/.well-known/openid-configuration", "metadata_url": "https://localhost:9200/.well-known/openid-configuration",
+8 -8
View File
@@ -1,10 +1,10 @@
[ [
{ {
"name": "ocis-server", "name": "opencloud-server",
"full_name": "first-ocis-instance", "full_name": "first-opencloud-instance",
"organization": "Owncloud", "organization": "OpenCloud",
"domain": "localhost:9200", "domain": "localhost:9200",
"homepage": "https://owncloud.com", "homepage": "https://opencloud.eu",
"services": [ "services": [
{ {
"endpoint": { "endpoint": {
@@ -22,11 +22,11 @@
] ]
}, },
{ {
"name": "federation-ocis-server", "name": "federation-opencloud-server",
"full_name": "Federation ocis", "full_name": "Federation opencloud",
"organization": "Owncloud", "organization": "OpenCloud",
"domain": "localhost:10200", "domain": "localhost:10200",
"homepage": "https://owncloud.com", "homepage": "https://opencloud.eu",
"services": [ "services": [
{ {
"endpoint": { "endpoint": {
-3
View File
@@ -1,3 +0,0 @@
.PHONY: build
build:
go build -o bin/ociswrapper
-126
View File
@@ -1,126 +0,0 @@
## oCIS Wrapper
A tool that wraps the oCIS binary and provides a way to re-configure the running oCIS instance.
When run, **ociswrapper** starts an API server that exposes some endpoints to re-configure the oCIS server.
### Usage
1. Build
```bash
make build
```
2. Run
```bash
./bin/ociswrapper serve --bin=<path-to-ocis-binary>
```
To check other available options:
```bash
./bin/ociswrapper serve --help
```
```bash
--url string oCIS server url (default "https://localhost:9200")
--retry string Number of retries to start oCIS server (default "5")
-p, --port string Wrapper API server port (default "5200")
--admin-username string admin username for oCIS server
--admin-password string admin password for oCIS server
```
Access the API server at `http://localhost:5200`.
Also, see `./bin/ociswrapper help` for more information.
### API
**ociswrapper** exposes two endpoints:
1. `PUT /config`
Updates the configuration of the running oCIS instance.
Body of the request should be a JSON object with the following structure:
```json
{
"ENV_KEY1": "value1",
"ENV_KEY2": "value2"
}
```
Returns:
- `200 OK` - oCIS is successfully reconfigured
- `400 Bad Request` - request body is not a valid JSON object
- `500 Internal Server Error` - oCIS server is not running
2. `DELETE /rollback`
Rolls back the configuration to the starting point.
Returns:
- `200 OK` - rollback is successful
- `500 Internal Server Error` - oCIS server is not running
3. `POST /command`
Executes the provided command on the oCIS server. The body of the request should be a JSON object with the following structure:
```yml
{
"command": "<ocis-command>", # without the ocis binary. e.g. "list"
}
```
If the command requires user input, the body of the request should be a JSON object with the following structure:
```json
{
"command": "<ocis-command>",
"inputs": ["value1"]
}
```
Returns:
```json
{
"status": "OK",
"exitCode": 0,
"message": "<command output>"
}
OR
{
"status": "ERROR",
"exitCode": <error-exit-code>,
"message": "<command output>"
}
```
- `200 OK` - command is successfully executed
- `400 Bad Request` - request body is not a valid JSON object
- `500 Internal Server Error`
4. `POST /start`
Starts the oCIS server.
Returns:
- `200 OK` - oCIS server is started
- `409 Conflict` - oCIS server is already running
- `500 Internal Server Error` - Unable to start oCIS server
5. `POST /stop`
Stops the oCIS server.
Returns:
- `200 OK` - oCIS server is stopped
- `500 Internal Server Error` - Unable to stop oCIS server

Some files were not shown because too many files have changed in this diff Show More