diff --git a/.codacy.yml b/.codacy.yml index 855b4f298b..02e0cf2ebe 100644 --- a/.codacy.yml +++ b/.codacy.yml @@ -4,5 +4,6 @@ exclude_paths: - changelog/** - docs/** - pkg/proto/** + - tests/acceptance/features/bootstrap/* ... diff --git a/.drone.star b/.drone.star index 5633cf82a5..0b19538b0c 100644 --- a/.drone.star +++ b/.drone.star @@ -1,8 +1,5 @@ def main(ctx): - before = [ - testing(ctx), - apiTests(ctx, 'master', '7f1c384e8027b17f89427a1dd430ab273c15c7ef'), - ] + before = testPipelines(ctx, 'master', 'a06b1bd5ba8e5244bfaf7fa04f441961e6fb0daa') stages = [ docker(ctx, 'amd64'), @@ -23,11 +20,19 @@ def main(ctx): return before + stages + after -def apiTests(ctx, coreBranch = 'master', coreCommit = ''): +def testPipelines(ctx, coreBranch = 'master', coreCommit = ''): + return [ + testing(ctx), + localApiTests(ctx, coreBranch, coreCommit), + coreApiTests(ctx, coreBranch, coreCommit, 1, 2), + coreApiTests(ctx, coreBranch, coreCommit, 2, 2), + ] + +def localApiTests(ctx, coreBranch = 'master', coreCommit = ''): return { 'kind': 'pipeline', 'type': 'docker', - 'name': 'API-Tests', + 'name': 'Local-API-Tests', 'platform': { 'os': 'linux', 'arch': 'amd64', @@ -92,25 +97,187 @@ def apiTests(ctx, coreBranch = 'master', coreCommit = ''): ] }, { - 'name': 'acceptance-tests', + 'name': 'clone-test-repos', 'image': 'owncloudci/php:7.2', 'pull': 'always', - 'environment' : { - 'TEST_SERVER_URL': 'http://reva-server:9140', - 'BEHAT_FILTER_TAGS': '~@skipOnOcis&&~@skipOnOcis-OC-Storage', - 'REVA_LDAP_HOSTNAME':'ldap', - 'TEST_EXTERNAL_USER_BACKENDS':'true', - 'TEST_OCIS':'true', - 'OCIS_REVA_DATA_ROOT': '/srv/app/tmp/reva/', - 'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton' - }, 'commands': [ 'git clone -b master --depth=1 https://github.com/owncloud/testing.git /srv/app/tmp/testing', 'git clone -b %s --single-branch --no-tags https://github.com/owncloud/core.git /srv/app/testrunner' % (coreBranch), 'cd /srv/app/testrunner', ] + ([ 'git checkout %s' % (coreCommit) - ] if coreCommit != '' else []) + [ + ] if coreCommit != '' else []), + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ] + }, + { + 'name': 'local-acceptance-tests', + 'image': 'owncloudci/php:7.2', + 'pull': 'always', + 'environment' : { + 'TEST_SERVER_URL': 'http://reva-server:9140', + 'REVA_LDAP_HOSTNAME':'ldap', + 'TEST_EXTERNAL_USER_BACKENDS':'true', + 'TEST_OCIS':'true', + 'OCIS_REVA_DATA_ROOT': '/srv/app/tmp/reva/', + 'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton', + 'PATH_TO_CORE': '/srv/app/testrunner' + }, + 'commands': [ + 'make test-acceptance-api' + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ] + }, + ], + 'services': [ + { + 'name': 'ldap', + 'image': 'osixia/openldap', + 'pull': 'always', + 'environment': { + 'LDAP_DOMAIN': 'owncloud.com', + 'LDAP_ORGANISATION': 'owncloud', + 'LDAP_ADMIN_PASSWORD': 'admin', + 'LDAP_TLS_VERIFY_CLIENT': 'never', + }, + }, + { + 'name': 'redis', + 'image': 'webhippie/redis', + 'pull': 'always', + 'environment': { + 'REDIS_DATABASES': 1 + }, + }, + ], + 'volumes': [ + { + 'name': 'gopath', + 'temp': {}, + }, + ], + 'trigger': { + 'ref': [ + 'refs/heads/master', + 'refs/tags/**', + 'refs/pull/**', + ], + }, + } + +def coreApiTests(ctx, coreBranch = 'master', coreCommit = '', part_number = 1, number_of_parts = 1): + return { + 'kind': 'pipeline', + 'type': 'docker', + 'name': 'Core-API-Tests-%s' % (part_number), + 'platform': { + 'os': 'linux', + 'arch': 'amd64', + }, + 'steps': [ + { + 'name': 'build', + 'image': 'webhippie/golang:1.13', + 'pull': 'always', + 'commands': [ + 'make build', + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ], + }, + { + 'name': 'reva-server', + 'image': 'webhippie/golang:1.13', + 'pull': 'always', + 'detach': True, + 'environment' : { + 'REVA_LDAP_HOSTNAME': 'ldap', + 'REVA_LDAP_PORT': 636, + 'REVA_LDAP_BIND_DN': 'cn=admin,dc=owncloud,dc=com', + 'REVA_LDAP_BIND_PASSWORD': 'admin', + 'REVA_LDAP_BASE_DN': 'dc=owncloud,dc=com', + 'REVA_LDAP_SCHEMA_UID': 'uid', + 'REVA_STORAGE_HOME_DATA_TEMP_FOLDER': '/srv/app/tmp/', + 'REVA_STORAGE_OWNCLOUD_DATADIR': '/srv/app/tmp/reva/data', + 'REVA_STORAGE_OC_DATA_TEMP_FOLDER': '/srv/app/tmp/', + 'REVA_STORAGE_OC_DATA_SERVER_URL': 'http://reva-server:9164/data', + 'REVA_STORAGE_OC_DATA_URL': 'reva-server:9164', + 'REVA_STORAGE_OWNCLOUD_REDIS_ADDR': 'redis:6379', + 'REVA_SHARING_USER_JSON_FILE': '/srv/app/tmp/reva/shares.json', + 'REVA_FRONTEND_URL': 'http://reva-server:9140', + 'REVA_DATAGATEWAY_URL': 'http://reva-server:9140/data', + }, + 'commands': [ + 'apk add mailcap', + 'mkdir -p /srv/app/tmp/reva', + 'bin/ocis-reva --log-level debug --log-pretty gateway &', + 'bin/ocis-reva --log-level debug --log-pretty users &', + 'bin/ocis-reva --log-level debug --log-pretty auth-basic &', + 'bin/ocis-reva --log-level debug --log-pretty auth-bearer &', + 'bin/ocis-reva --log-level debug --log-pretty sharing &', + 'bin/ocis-reva --log-level debug --log-pretty storage-home &', + 'bin/ocis-reva --log-level debug --log-pretty storage-home-data &', + 'bin/ocis-reva --log-level debug --log-pretty storage-oc &', + 'bin/ocis-reva --log-level debug --log-pretty storage-oc-data &', + 'bin/ocis-reva --log-level debug --log-pretty frontend &', + 'bin/ocis-reva --log-level debug --log-pretty reva-storage-public-link' + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ] + }, + { + 'name': 'clone-test-repos', + 'image': 'owncloudci/php:7.2', + 'pull': 'always', + 'commands': [ + 'git clone -b master --depth=1 https://github.com/owncloud/testing.git /srv/app/tmp/testing', + 'git clone -b %s --single-branch --no-tags https://github.com/owncloud/core.git /srv/app/testrunner' % (coreBranch), + 'cd /srv/app/testrunner', + ] + ([ + 'git checkout %s' % (coreCommit) + ] if coreCommit != '' else []), + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ] + }, + { + 'name': 'core-acceptance-tests-%s' % (part_number), + 'image': 'owncloudci/php:7.2', + 'pull': 'always', + 'environment' : { + 'TEST_SERVER_URL': 'http://reva-server:9140', + 'BEHAT_FILTER_TAGS': '~@notToImplementOnOCIS&&~@toImplementOnOCIS', + 'REVA_LDAP_HOSTNAME':'ldap', + 'TEST_EXTERNAL_USER_BACKENDS':'true', + 'TEST_OCIS':'true', + 'OCIS_REVA_DATA_ROOT': '/srv/app/tmp/reva/', + 'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton', + 'DIVIDE_INTO_NUM_PARTS': number_of_parts, + 'RUN_PART': part_number, + 'EXPECTED_FAILURES_FILE': '/drone/src/tests/acceptance/expected-failures.txt' + }, + 'commands': [ + 'cd /srv/app/testrunner', 'make test-acceptance-api' ], 'volumes': [ diff --git a/.gitignore b/.gitignore index 6067678797..4899c1247d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,10 @@ coverage.out /node_modules /assets + +# API acceptance tests +composer.lock +/vendor +vendor-bin/**/vendor +vendor-bin/**/composer.lock +tests/acceptance/output diff --git a/Makefile b/Makefile index 511c344f59..3f90d955f2 100644 --- a/Makefile +++ b/Makefile @@ -159,3 +159,21 @@ docs: config-docs-generate docs-copy docs-build .PHONY: watch watch: go run github.com/cespare/reflex -c reflex.conf + +BEHAT_BIN=vendor-bin/behat/vendor/bin/behat + +.PHONY: test-acceptance-api +test-acceptance-api: vendor-bin/behat/vendor + BEHAT_BIN=$(BEHAT_BIN) $(PATH_TO_CORE)/tests/acceptance/run.sh --remote --type api + +vendor/bamarni/composer-bin-plugin: composer.lock + composer install + +vendor-bin/behat/vendor: vendor/bamarni/composer-bin-plugin vendor-bin/behat/composer.lock + composer bin behat install --no-progress + +vendor-bin/behat/composer.lock: vendor-bin/behat/composer.json + @echo behat composer.lock is not up to date. + +composer.lock: composer.json + @echo composer.lock is not up to date. diff --git a/composer.json b/composer.json new file mode 100644 index 0000000000..53c0a9c219 --- /dev/null +++ b/composer.json @@ -0,0 +1,18 @@ +{ + "name": "owncloud/ocis-reva", + "config" : { + "platform": { + "php": "7.2" + } + }, + "require": { + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4" + }, + "extra": { + "bamarni-bin": { + "bin-links": false + } + } +} diff --git a/docs/testing.md b/docs/testing.md index 0a07a25d20..015db53962 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -84,28 +84,36 @@ TEST_SERVER_URL=http://localhost:9140 \ TEST_EXTERNAL_USER_BACKENDS=true \ TEST_OCIS=true \ OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \ -BEHAT_FILTER_TAGS='~@skipOnOcis&&~@skipOnOcis-OC-Storage' \ +BEHAT_FILTER_TAGS='~@notToImplementOnOCIS&&~@toImplementOnOCIS' \ SKELETON_DIR=apps/testing/data/apiSkeleton ``` -Make sure to adjust the settings `TEST_SERVER_URL`,`OCIS_REVA_DATA_ROOT` and `SKELETON_DIR` according to your environment +Make sure to adjust the settings `TEST_SERVER_URL`,`OCIS_REVA_DATA_ROOT` and `SKELETON_DIR` according to your environment. -This will run all tests that can work with LDAP, and are not skipped on OCIS or on OCIS with OC Storage. +This will run all tests that are relevant to OCIS. To run a single test add `BEHAT_FEATURE=` and specify the path to the feature file and an optional line number. For example: `BEHAT_FEATURE='tests/acceptance/features/apiWebdavUpload1/uploadFile.feature:12'` ### 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. -Every scenario that does not work in OCIS, is tagged with `@skipOnOcis` and additionally should be marked with an issue number e.g. `@issue-ocis-reva-122`. -This tag means that this particular scenario is skipped because of [issue no 122 in the ocis-reva repository](https://github.com/owncloud/ocis-reva/issues/122). -Additionally, some issues have scenarios that demonstrate the current buggy behaviour in ocis(reva) and are skipped on oC10. +Every scenario that does not work in OCIS, is listed in `tests/acceptance/expected-failures.txt` with a link to the related issue. +Those scenarios are run in the ordinary acceptance test pipeline in CI. The sccenarios that fail are checked against the +expected failures. If there are any differences then the CI pipeline fails. + +Additionally, some issues have scenarios that demonstrate the current buggy behaviour in ocis(reva). +Those scenarios are in this ocis-reva repository in `tests/acceptance/features/apiOcisSpecific`. Have a look into the [documentation](https://doc.owncloud.com/server/developer_manual/testing/acceptance-tests.html#writing-scenarios-for-bugs) to understand why we are writing those tests. -Also, ocis behaves partly differently with EOS-Storage and OC-Storage. There are scenarios that do not work in OCIS when run on EOS-storage, but works when on OC-Storage, and vice-versa. For those kind of scenarios, ` @skipOnOcis-EOS-Storage` and `@skipOnOcis-OC-Storage` tags are used. For instance, for a scenario that fails on EOS-Storage but passes on OC-Storage, we use `@skipOnOcis-EOS-Storage` tag to let it run on OC-Storage, where it works as expected, instead of skipping on ocis with `@skipOnOcis` tag. +Also, ocis behaves partly differently with EOS-Storage and OC-Storage. There are scenarios that do not work in OCIS when run on EOS-storage, but works when on OC-Storage, and vice-versa. For those kind of scenarios, ` @skipOnOcis-EOS-Storage` and `@skipOnOcis-OC-Storage` tags are used. For instance, for a scenario that fails on EOS-Storage but passes on OC-Storage, we use `@skipOnOcis-EOS-Storage` tag to let it run on OC-Storage, where it works as expected, instead of skipping the test completely. If you want to work on a specific issue -1. run the tests marked with that issue tag +1. adjust the core commit id to the latest commit in core so that CI will run the latest test code and scenarios from core. + For that change this line in the `main` function: + + apiTests(ctx, 'master', 'a06b1bd5ba8e5244bfaf7fa04f441961e6fb0daa') + +2. locally run each of the tests marked with that issue in the expected failures file: E.g.: ``` @@ -114,45 +122,19 @@ If you want to work on a specific issue TEST_EXTERNAL_USER_BACKENDS=true \ TEST_OCIS=true \ OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \ - BEHAT_FILTER_TAGS='~@skipOnOcV10&&@issue-ocis-reva-122' + BEHAT_FEATURE='tests/acceptance/features/apiComments/comments.feature:123' ``` - Note that the `~@skipOnOcis` and `~@skipOnOcis-OC-Storage` tags are replaced by `~@skipOnOcV10` and the issue tag `@issue-ocis-reva-122` is added. - We want to run all tests that are skipped in CI because of this particular bug, but we don't want to run the tests - that demonstrate the current buggy behaviour. +3. the tests will fail, try to understand how and why they are failing +4. fix the code +5. go back to 2. and repeat till the tests are passing. +6. remove those tests from the expected failures file. +7. run each of the local tests that were demonstrating the **buggy** behavior. They should fail. +8. delete each of the local tests that were demonstrating the **buggy** behavior. +9. make a PR that has the fixed code, relevant lines removed from the expected failures file and bug demonstration tests deleted. -2. the tests will fail, try to understand how and why they are failing -3. fix the code -4. go back to 1. and repeat till the tests are passing. -5. adjust tests that demonstrate the **buggy** behaviour - - delete the tests in core that are tagged with that particular issue and `@skipOnOcV10`, but be careful because a lot of tests are tagged with multiple issues. - Only delete tests that demonstrate the buggy behaviour if you fixed all bugs related to that test. If not you might have to adjust the test. -6. unskip tests that demonstrate the **correct** behaviour - - The `@skipOnOcis` tag should not be needed now, so delete it, but leave the issue tag for future reference. -7. make a PR to core with the changed tests -8. make a PR to ocis-reva running the adjusted tests - - To confirm that all tests (old and changed) run fine make a PR to ocis-reva with your code changes and point drone to your branch in core to get the changed tests. - For that change this line in the `main` function. - - `apiTests(ctx, 'master', '9db442250583d3b71e633cf77fbcf643ed67e994'),` - - In place of master use your branch name. If you dont specify the commit ID, you will run the tests using the HEAD of the branch you specified. - - `apiTests(ctx, 'my-new-tests', '')` - - Also make sure to change the commit ID if you want to run tests on any other commit. eg: - - `apiTests(ctx, 'my-new-tests', '7d468c05414b1dc745ca713d9deb443bc4e5f333')` - - -9. merge PRs - - After you have confirmed that the tests pass everywhere merge the core PR and immediately revert the change in 8. and merge the ocis-reva PR - - If the changes also affect the `ocis` repository make sure the changes get ported over there immediately, otherwise the tests will start failing there. + If the changes also affect the `ocis` repository make sure the changes get ported over there. + That will need the fixed code in `ocis-reva` to be applied to `ocis` along with the test-related changes. ### Notes - in a normal case the test-code cleans up users after the test-run, but if a test-run is interrupted (e.g. by CTRL+C) users might have been left on the LDAP server. In that case rerunning the tests requires wiping the users in the ldap server, otherwise the tests will fail when trying to populate the users. This can be done by simply running `docker stop docker-slapd && docker rm docker-slapd` and [restarting the LDAP server container](#run-a-ldap-server-in-a-docker-container) diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml new file mode 100644 index 0000000000..b74d189ad5 --- /dev/null +++ b/tests/acceptance/config/behat.yml @@ -0,0 +1,30 @@ +default: + autoload: + '': '%paths.base%/../features/bootstrap' + + suites: + apiOcisSpecific: + paths: + - '%paths.base%/../features/apiOcisSpecific' + context: &common_ldap_suite_context + parameters: + ldapAdminPassword: admin + ldapUsersOU: TestUsers + ldapGroupsOU: TestGroups + ldapInitialUserFilePath: /../../config/ldap-users.ldif + contexts: + - RevaContext: + - OccContext: + - FeatureContext: &common_feature_context_params + baseUrl: http://localhost:8080 + adminUsername: admin + adminPassword: admin + regularUserPassword: 123456 + ocPath: apps/testing/api/v1/occ + - FavoritesContext: + - WebDavPropertiesContext: + + extensions: + jarnaiz\JUnitFormatter\JUnitFormatterExtension: + filename: report.xml + outputDir: '%paths.base%/../output/' diff --git a/tests/acceptance/expected-failures.txt b/tests/acceptance/expected-failures.txt new file mode 100644 index 0000000000..c2dea4195e --- /dev/null +++ b/tests/acceptance/expected-failures.txt @@ -0,0 +1,974 @@ +# this file contains the scenarios from ownCloud10 core API tests that are currently expected to fail +# +# test scenarios that fail with OC storage (that were tagged skipOnOcis-OC-Storage in core) +# +apiFavorites/favorites.feature:39 +apiFavorites/favorites.feature:40 +apiShareManagementBasic/createShare.feature:121 +apiShareManagementBasic/createShare.feature:122 +apiShareManagementBasic/createShare.feature:124 +apiShareManagementBasic/createShare.feature:125 +apiShareManagementBasic/createShare.feature:127 +apiShareManagementBasic/createShare.feature:128 +apiShareManagementBasic/createShare.feature:130 +apiShareManagementBasic/createShare.feature:131 +apiShareManagementBasic/createShare.feature:223 +apiShareManagementBasic/createShare.feature:224 +apiShareManagementBasic/createShare.feature:447 +apiShareManagementBasic/createShare.feature:589 +apiShareManagementBasic/createShare.feature:604 +apiShareManagementBasic/createShare.feature:619 +apiShareOperations/gettingShares.feature:155 +apiShareOperations/gettingShares.feature:156 +apiSharePublicLink2/multilinkSharing.feature:181 +apiWebdavMove2/moveFile.feature:316 +apiWebdavProperties1/setFileProperties.feature:32 +apiWebdavProperties1/setFileProperties.feature:33 +apiWebdavProperties2/getFileProperties.feature:84 +apiWebdavProperties2/getFileProperties.feature:85 +apiWebdavProperties2/getFileProperties.feature:166 +apiWebdavProperties2/getFileProperties.feature:167 +apiWebdavUpload1/uploadFile.feature:63 +apiWebdavUpload1/uploadFile.feature:64 +# +# https://github.com/owncloud/ocis-reva/issues/196 Checksum feature +apiMain/checksums.feature:24 +apiMain/checksums.feature:25 +apiMain/checksums.feature:35 +apiMain/checksums.feature:36 +apiMain/checksums.feature:60 +apiMain/checksums.feature:61 +apiMain/checksums.feature:64 +apiMain/checksums.feature:72 +apiMain/checksums.feature:81 +apiMain/checksums.feature:113 +apiMain/checksums.feature:114 +apiMain/checksums.feature:117 +apiMain/checksums.feature:124 +apiMain/checksums.feature:144 +apiMain/checksums.feature:154 +apiMain/checksums.feature:163 +apiMain/checksums.feature:172 +apiMain/checksums.feature:183 +apiMain/checksums.feature:199 +apiMain/checksums.feature:217 +apiMain/checksums.feature:242 +apiMain/checksums.feature:243 +apiMain/checksums.feature:277 +apiMain/checksums.feature:278 +apiMain/checksums.feature:310 +apiMain/checksums.feature:331 +apiMain/checksums.feature:332 +apiMain/checksums.feature:347 +apiMain/checksums.feature:348 +apiMain/checksums.feature:360 +apiMain/checksums.feature:361 +apiMain/checksums.feature:364 +apiMain/checksums.feature:376 +# +# https://github.com/owncloud/ocis-reva/issues/100 no robots.txt available +apiMain/main.feature:5 +# +# https://github.com/owncloud/ocis-reva/issues/101 quota query +apiMain/quota.feature:9 +apiMain/quota.feature:16 +apiMain/quota.feature:23 +apiMain/quota.feature:30 +apiMain/quota.feature:41 +apiMain/quota.feature:54 +apiMain/quota.feature:68 +apiMain/quota.feature:82 +apiMain/quota.feature:99 +apiMain/quota.feature:112 +# +# https://github.com/owncloud/ocis-reva/issues/65 There is no such thing like a "super-user" +# https://github.com/owncloud/ocis-reva/issues/97 no command equivalent to occ +apiMain/status.feature:5 +# +# https://github.com/owncloud/ocis-reva/issues/29 ocs config endpoint only accessible by authorized users +# https://github.com/owncloud/ocis-reva/issues/30 HTTP 401 Unauthorized responses don't contain a body +apiAuthOcs/ocsDELETEAuth.feature:9 +apiAuthOcs/ocsGETAuth.feature:10 +apiAuthOcs/ocsGETAuth.feature:33 +apiAuthOcs/ocsGETAuth.feature:82 +apiAuthOcs/ocsGETAuth.feature:171 +apiAuthOcs/ocsGETAuth.feature:234 +apiAuthOcs/ocsGETAuth.feature:252 +apiAuthOcs/ocsPOSTAuth.feature:10 +apiAuthOcs/ocsPUTAuth.feature:10 +# +# https://github.com/owncloud/ocis-reva/issues/13 server returns 500 when trying to access a not existing file +apiAuthWebDav/webDavDELETEAuth.feature:36 +# +# https://github.com/owncloud/ocis-reva/issues/9 users can access each-others data using the new webdav API +apiAuthWebDav/webDavLOCKAuth.feature:38 +# +# https://github.com/owncloud/ocis-reva/issues/9 users can access each-others data using the new webdav API +apiAuthWebDav/webDavMKCOLAuth.feature:37 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiAuthWebDav/webDavMOVEAuth.feature:37 +# +# https://github.com/owncloud/ocis-reva/issues/179 send POST requests to another user's webDav endpoints as normal user +apiAuthWebDav/webDavPOSTAuth.feature:38 +# +# https://github.com/owncloud/ocis-reva/issues/9 users can access each-others data using the new webdav API +apiAuthWebDav/webDavPROPFINDAuth.feature:37 +# +# https://github.com/owncloud/ocis-reva/issues/9 users can access each-others data using the new webdav API +apiAuthWebDav/webDavPROPPATCHAuth.feature:38 +# +# https://github.com/owncloud/ocis-reva/issues/9 users can access each-others data using the new webdav API +apiAuthWebDav/webDavPUTAuth.feature:38 +# +# https://github.com/owncloud/ocis-reva/issues/175 Default capabilities for normal user not same as in oC-core +# https://github.com/owncloud/ocis-reva/issues/176 Difference in response content of status.php and default capabilities +apiCapabilities/capabilitiesWithNormalUser.feature:52 +# +# https://github.com/owncloud/ocis-reva/issues/39 REPORT request not implemented +apiFavorites/favorites.feature:239 +apiFavorites/favorites.feature:240 +# +# https://github.com/owncloud/ocis-reva/issues/34 groups endpoint does not exist +apiSharees/sharees.feature:32 +apiSharees/sharees.feature:33 +apiSharees/sharees.feature:53 +apiSharees/sharees.feature:54 +apiSharees/sharees.feature:74 +apiSharees/sharees.feature:75 +apiSharees/sharees.feature:98 +apiSharees/sharees.feature:99 +apiSharees/sharees.feature:118 +apiSharees/sharees.feature:119 +apiSharees/sharees.feature:137 +apiSharees/sharees.feature:138 +apiSharees/sharees.feature:157 +apiSharees/sharees.feature:158 +apiSharees/sharees.feature:177 +apiSharees/sharees.feature:178 +apiSharees/sharees.feature:198 +apiSharees/sharees.feature:199 +apiSharees/sharees.feature:217 +apiSharees/sharees.feature:218 +apiSharees/sharees.feature:237 +apiSharees/sharees.feature:238 +apiSharees/sharees.feature:257 +apiSharees/sharees.feature:258 +apiSharees/sharees.feature:277 +apiSharees/sharees.feature:278 +apiSharees/sharees.feature:297 +apiSharees/sharees.feature:298 +apiSharees/sharees.feature:317 +apiSharees/sharees.feature:318 +apiSharees/sharees.feature:336 +apiSharees/sharees.feature:337 +apiSharees/sharees.feature:355 +apiSharees/sharees.feature:356 +apiSharees/sharees.feature:374 +apiSharees/sharees.feature:375 +apiSharees/sharees.feature:393 +apiSharees/sharees.feature:394 +apiSharees/sharees.feature:412 +apiSharees/sharees.feature:413 +apiSharees/sharees.feature:430 +apiSharees/sharees.feature:431 +apiSharees/sharees.feature:450 +apiSharees/sharees.feature:451 +apiSharees/sharees.feature:475 +apiSharees/sharees.feature:476 +apiSharees/sharees.feature:495 +apiSharees/sharees.feature:496 +apiSharees/sharees.feature:515 +apiSharees/sharees.feature:516 +apiSharees/sharees.feature:537 +apiSharees/sharees.feature:538 +# +# https://github.com/owncloud/ocis-reva/issues/34 groups endpoint does not exist +apiShareManagementBasic/createShare.feature:247 +apiShareManagementBasic/createShare.feature:248 +apiShareManagementBasic/createShare.feature:272 +apiShareManagementBasic/createShare.feature:273 +apiShareManagementBasic/createShare.feature:468 +apiShareManagementBasic/createShare.feature:528 +apiShareManagementBasic/createShare.feature:529 +# +# https://github.com/owncloud/ocis-reva/issues/356 Fields missing in delete share OCS response +apiShareManagementBasic/deleteShare.feature:36 +apiShareManagementBasic/deleteShare.feature:37 +# +# https://github.com/owncloud/ocis-reva/issues/260 Sharee retrieves the information about a share -but gets response containing all the shares +apiShareOperations/accessToShare.feature:48 +apiShareOperations/accessToShare.feature:49 +# +# https://github.com/owncloud/ocis-reva/issues/34 groups endpoint does not exist +# https://github.com/owncloud/ocis-reva/issues/194 Group shares support +apiShareOperations/accessToShare.feature:78 +apiShareOperations/accessToShare.feature:79 +# +# https://github.com/owncloud/ocis-reva/issues/262 Shares are not deleted when user is deleted +apiShareOperations/gettingShares.feature:21 +apiShareOperations/gettingShares.feature:22 +# +# https://github.com/owncloud/ocis-reva/issues/65 There is no such thing like a "super-user" +apiShareOperations/gettingShares.feature:34 +apiShareOperations/gettingShares.feature:35 +# +# https://github.com/owncloud/ocis-reva/issues/357 Delete shares from user when user is deleted +# https://github.com/owncloud/ocis-reva/issues/301 no displayname_owner shown when creating a share +# https://github.com/owncloud/ocis-reva/issues/302 when sharing a file mime-type field is set to application/octet-stream +apiShareOperations/gettingShares.feature:124 +apiShareOperations/gettingShares.feature:125 +# +# https://github.com/owncloud/ocis-reva/issues/374 OCS error message for attempting to access share via share id as an unauthorized user is not informative +apiShareOperations/gettingShares.feature:168 +apiShareOperations/gettingShares.feature:169 +# +# https://github.com/owncloud/ocis-reva/issues/194 Group shares support +apiShareOperations/gettingShares.feature:187 +# +# https://github.com/owncloud/ocis-reva/issues/372 Listing shares via ocs API does not show path for parent folders +apiShareOperations/gettingShares.feature:219 +apiShareOperations/gettingShares.feature:220 +# +# https://github.com/owncloud/ocis-reva/issues/47 cannot get ocs:share-permissions via WebDAV +apiShareOperations/getWebDAVSharePermissions.feature:21 +apiShareOperations/getWebDAVSharePermissions.feature:22 +apiShareOperations/getWebDAVSharePermissions.feature:148 +apiShareOperations/getWebDAVSharePermissions.feature:149 +# +# https://github.com/owncloud/ocis-reva/issues/282 Split old public API webdav tests from new public webdav tests +# https://github.com/owncloud/ocis-reva/issues/292 Public link enforce permissions +apiSharePublicLink1/accessToPublicLinkShare.feature:10 +apiSharePublicLink1/accessToPublicLinkShare.feature:20 +apiSharePublicLink1/accessToPublicLinkShare.feature:30 +apiSharePublicLink1/accessToPublicLinkShare.feature:43 +apiSharePublicLink1/changingPublicLinkShare.feature:22 +apiSharePublicLink1/changingPublicLinkShare.feature:23 +apiSharePublicLink1/changingPublicLinkShare.feature:37 +apiSharePublicLink1/changingPublicLinkShare.feature:41 +apiSharePublicLink1/changingPublicLinkShare.feature:52 +apiSharePublicLink1/changingPublicLinkShare.feature:63 +apiSharePublicLink1/changingPublicLinkShare.feature:85 +apiSharePublicLink1/changingPublicLinkShare.feature:96 +apiSharePublicLink1/changingPublicLinkShare.feature:107 +apiSharePublicLink1/changingPublicLinkShare.feature:151 +apiSharePublicLink1/changingPublicLinkShare.feature:197 +apiSharePublicLink1/changingPublicLinkShare.feature:244 +apiSharePublicLink1/changingPublicLinkShare.feature:267 +apiSharePublicLink1/changingPublicLinkShare.feature:278 +apiSharePublicLink1/changingPublicLinkShare.feature:289 +apiSharePublicLink1/changingPublicLinkShare.feature:300 +apiSharePublicLink1/createPublicLinkShare.feature:34 +apiSharePublicLink1/createPublicLinkShare.feature:35 +# +# https://github.com/owncloud/ocis-reva/issues/12 Range Header is not obeyed when downloading a file +apiSharePublicLink1/createPublicLinkShare.feature:63 +apiSharePublicLink1/createPublicLinkShare.feature:64 +# +apiSharePublicLink1/createPublicLinkShare.feature:95 +apiSharePublicLink1/createPublicLinkShare.feature:96 +# +# https://github.com/owncloud/ocis-reva/issues/199 Ability to return error messages in Webdav response bodies +apiSharePublicLink1/createPublicLinkShare.feature:127 +apiSharePublicLink1/createPublicLinkShare.feature:128 +# +apiSharePublicLink1/createPublicLinkShare.feature:155 +apiSharePublicLink1/createPublicLinkShare.feature:156 +# +# https://github.com/owncloud/ocis-reva/issues/292 Public link enforce permissions +apiSharePublicLink1/createPublicLinkShare.feature:183 +apiSharePublicLink1/createPublicLinkShare.feature:184 +# +apiSharePublicLink1/createPublicLinkShare.feature:214 +apiSharePublicLink1/createPublicLinkShare.feature:215 +# +# https://github.com/owncloud/ocis-reva/issues/12 Range Header is not obeyed when downloading a file +apiSharePublicLink1/createPublicLinkShare.feature:245 +apiSharePublicLink1/createPublicLinkShare.feature:246 +# +apiSharePublicLink1/createPublicLinkShare.feature:276 +apiSharePublicLink1/createPublicLinkShare.feature:277 +# +# https://github.com/owncloud/ocis-reva/issues/292 Public link enforce permissions +apiSharePublicLink1/createPublicLinkShare.feature:307 +apiSharePublicLink1/createPublicLinkShare.feature:308 +# +apiSharePublicLink1/createPublicLinkShare.feature:370 +apiSharePublicLink1/createPublicLinkShare.feature:371 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:389 +apiSharePublicLink1/createPublicLinkShare.feature:390 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:411 +apiSharePublicLink1/createPublicLinkShare.feature:413 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:435 +apiSharePublicLink1/createPublicLinkShare.feature:437 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:461 +apiSharePublicLink1/createPublicLinkShare.feature:463 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:487 +apiSharePublicLink1/createPublicLinkShare.feature:489 +apiSharePublicLink1/createPublicLinkShare.feature:491 +apiSharePublicLink1/createPublicLinkShare.feature:493 +apiSharePublicLink1/createPublicLinkShare.feature:495 +apiSharePublicLink1/createPublicLinkShare.feature:497 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:518 +apiSharePublicLink1/createPublicLinkShare.feature:519 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:534 +apiSharePublicLink1/createPublicLinkShare.feature:535 +# +apiSharePublicLink1/createPublicLinkShare.feature:553 +apiSharePublicLink1/createPublicLinkShare.feature:554 +# +apiSharePublicLink1/createPublicLinkShare.feature:590 +apiSharePublicLink1/createPublicLinkShare.feature:591 +# +# https://github.com/owncloud/ocis-reva/issues/283 Prevent creating public share for the home root folder +apiSharePublicLink1/createPublicLinkShare.feature:620 +apiSharePublicLink1/createPublicLinkShare.feature:621 +# +apiSharePublicLink1/createPublicLinkShare.feature:634 +apiSharePublicLink1/createPublicLinkShare.feature:635 +# +apiSharePublicLink1/createPublicLinkShare.feature:663 +apiSharePublicLink1/createPublicLinkShare.feature:664 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink1/createPublicLinkShare.feature:714 +apiSharePublicLink1/createPublicLinkShare.feature:715 +# +# https://github.com/owncloud/ocis-reva/issues/199 Ability to return error messages in Webdav response bodies +apiSharePublicLink1/createPublicLinkShare.feature:718 +# +# https://github.com/owncloud/ocis-reva/issues/292 Public link enforce permissions +apiSharePublicLink1/createPublicLinkShare.feature:727 +# +# https://github.com/owncloud/core/issues/37605 Public cannot upload file with mtime set on a public link share with new version of WebDAV API +apiSharePublicLink1/createPublicLinkShare.feature:790 +# +# https://github.com/owncloud/core/issues/37605 Public cannot upload file with mtime set on a public link share with new version of WebDAV API +apiSharePublicLink1/createPublicLinkShare.feature:816 +# +# https://github.com/owncloud/ocis-reva/issues/311 Deleting a public link after renaming a file +apiSharePublicLink1/deletePublicLinkShare.feature:37 +apiSharePublicLink1/deletePublicLinkShare.feature:38 +# +# https://github.com/owncloud/ocis-reva/issues/373 copying a folder within a public link folder to folder with same name as an already existing file overwrites the parent file +apiSharePublicLink2/copyFromPublicLink.feature:60 +# +# https://github.com/owncloud/ocis-reva/issues/368 copying a file from within a public link folder to "/" overwrites the parent folder +apiSharePublicLink2/copyFromPublicLink.feature:198 +apiSharePublicLink2/copyFromPublicLink.feature:199 +# +# https://github.com/owncloud/ocis-reva/issues/368 copying a file from within a public link folder to "/" overwrites the parent folder +apiSharePublicLink2/copyFromPublicLink.feature:230 +apiSharePublicLink2/copyFromPublicLink.feature:231 +# +apiSharePublicLink2/updatePublicLinkShare.feature:135 +apiSharePublicLink2/updatePublicLinkShare.feature:136 +# +apiSharePublicLink2/updatePublicLinkShare.feature:326 +apiSharePublicLink2/updatePublicLinkShare.feature:327 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiSharePublicLink2/updatePublicLinkShare.feature:345 +apiSharePublicLink2/updatePublicLinkShare.feature:346 +# +apiSharePublicLink2/updatePublicLinkShare.feature:364 +apiSharePublicLink2/updatePublicLinkShare.feature:365 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiSharePublicLink2/updatePublicLinkShare.feature:383 +apiSharePublicLink2/updatePublicLinkShare.feature:384 +# +apiSharePublicLink2/updatePublicLinkShare.feature:402 +apiSharePublicLink2/updatePublicLinkShare.feature:403 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiSharePublicLink2/updatePublicLinkShare.feature:421 +apiSharePublicLink2/updatePublicLinkShare.feature:422 +# +apiSharePublicLink2/updatePublicLinkShare.feature:440 +apiSharePublicLink2/updatePublicLinkShare.feature:441 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiSharePublicLink2/updatePublicLinkShare.feature:459 +apiSharePublicLink2/updatePublicLinkShare.feature:460 +# +apiSharePublicLink2/updatePublicLinkShare.feature:481 +apiSharePublicLink2/updatePublicLinkShare.feature:482 +# +# https://github.com/owncloud/ocis-reva/issues/292 Public link enforce permissions +apiSharePublicLink2/updatePublicLinkShare.feature:503 +apiSharePublicLink2/updatePublicLinkShare.feature:504 +# +apiSharePublicLink2/updatePublicLinkShare.feature:528 +apiSharePublicLink2/updatePublicLinkShare.feature:529 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:9 +# +# https://github.com/owncloud/ocis-reva/issues/286 Upload-only shares must not overwrite but create a separate file +apiSharePublicLink2/uploadToPublicLinkShare.feature:23 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:48 +apiSharePublicLink2/uploadToPublicLinkShare.feature:49 +# +# https://github.com/owncloud/ocis-reva/issues/290 Accessing non-existing public link should return 404, not 500 +apiSharePublicLink2/uploadToPublicLinkShare.feature:62 +apiSharePublicLink2/uploadToPublicLinkShare.feature:63 +# +# https://github.com/owncloud/ocis-reva/issues/290 Accessing non-existing public link should return 404, not 500 +apiSharePublicLink2/uploadToPublicLinkShare.feature:77 +# +# https://github.com/owncloud/ocis-reva/issues/292 Public link enforce permissions +apiSharePublicLink2/uploadToPublicLinkShare.feature:85 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:94 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:114 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:132 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:150 +# +# https://github.com/owncloud/ocis-reva/issues/195 Set quota over settings +apiSharePublicLink2/uploadToPublicLinkShare.feature:159 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:169 +# +# https://github.com/owncloud/ocis-reva/issues/195 Set quota over settings +apiSharePublicLink2/uploadToPublicLinkShare.feature:178 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:188 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink2/uploadToPublicLinkShare.feature:197 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:207 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink2/uploadToPublicLinkShare.feature:217 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:228 +# +# https://github.com/owncloud/ocis-reva/issues/41 various sharing settings cannot be set +apiSharePublicLink2/uploadToPublicLinkShare.feature:238 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:249 +# +apiSharePublicLink2/uploadToPublicLinkShare.feature:266 +# +# https://github.com/owncloud/ocis-reva/issues/286 Upload-only shares must not overwrite but create a separate file +apiSharePublicLink2/uploadToPublicLinkShare.feature:284 +# +# https://github.com/owncloud/ocis-reva/issues/17 uploading with old-chunking does not work +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiVersions/fileVersions.feature:15 +apiVersions/fileVersions.feature:32 +apiVersions/fileVersions.feature:45 +apiVersions/fileVersions.feature:64 +apiVersions/fileVersions.feature:107 +apiVersions/fileVersions.feature:108 +apiVersions/fileVersions.feature:112 +apiVersions/fileVersions.feature:123 +apiVersions/fileVersions.feature:334 +apiVersions/fileVersions.feature:464 +apiVersions/fileVersions.feature:488 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove1/moveFileAsync.feature:26 +apiWebdavMove1/moveFileAsync.feature:27 +apiWebdavMove1/moveFileAsync.feature:28 +apiWebdavMove1/moveFileAsync.feature:29 +apiWebdavMove1/moveFileAsync.feature:30 +apiWebdavMove1/moveFileAsync.feature:31 +apiWebdavMove1/moveFileAsync.feature:33 +apiWebdavMove1/moveFileAsync.feature:46 +apiWebdavMove1/moveFileAsync.feature:59 +apiWebdavMove1/moveFileAsync.feature:73 +apiWebdavMove1/moveFileAsync.feature:88 +apiWebdavMove1/moveFileAsync.feature:107 +apiWebdavMove1/moveFileAsync.feature:125 +apiWebdavMove1/moveFileAsync.feature:135 +apiWebdavMove1/moveFileAsync.feature:141 +apiWebdavMove1/moveFileAsync.feature:156 +apiWebdavMove1/moveFileAsync.feature:173 +apiWebdavMove1/moveFileAsync.feature:174 +apiWebdavMove1/moveFileAsync.feature:184 +apiWebdavMove1/moveFileAsync.feature:185 +apiWebdavMove1/moveFileAsync.feature:204 +apiWebdavMove1/moveFileAsync.feature:205 +apiWebdavMove1/moveFileAsync.feature:224 +apiWebdavMove1/moveFileAsync.feature:225 +apiWebdavMove1/moveFileAsync.feature:234 +apiWebdavMove1/moveFileAsync.feature:235 +apiWebdavMove1/moveFileAsync.feature:240 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove1/moveFileToBlacklistedNameAsync.feature:12 +apiWebdavMove1/moveFileToBlacklistedNameAsync.feature:18 +apiWebdavMove1/moveFileToBlacklistedNameAsync.feature:26 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove1/moveFileToExcludedDirectoryAsync.feature:12 +apiWebdavMove1/moveFileToExcludedDirectoryAsync.feature:19 +apiWebdavMove1/moveFileToExcludedDirectoryAsync.feature:27 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove1/moveFolder.feature:21 +apiWebdavMove1/moveFolder.feature:22 +apiWebdavMove1/moveFolder.feature:46 +apiWebdavMove1/moveFolder.feature:47 +apiWebdavMove1/moveFolder.feature:71 +apiWebdavMove1/moveFolder.feature:72 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove1/moveFolderToBlacklistedName.feature:21 +apiWebdavMove1/moveFolderToBlacklistedName.feature:22 +apiWebdavMove1/moveFolderToBlacklistedName.feature:48 +apiWebdavMove1/moveFolderToBlacklistedName.feature:49 +apiWebdavMove1/moveFolderToBlacklistedName.feature:83 +apiWebdavMove1/moveFolderToBlacklistedName.feature:84 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove1/moveFolderToExcludedDirectory.feature:21 +apiWebdavMove1/moveFolderToExcludedDirectory.feature:22 +apiWebdavMove1/moveFolderToExcludedDirectory.feature:34 +apiWebdavMove1/moveFolderToExcludedDirectory.feature:35 +apiWebdavMove1/moveFolderToExcludedDirectory.feature:70 +apiWebdavMove1/moveFolderToExcludedDirectory.feature:71 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove2/moveFile.feature:89 +apiWebdavMove2/moveFile.feature:90 +apiWebdavMove2/moveFile.feature:91 +apiWebdavMove2/moveFile.feature:92 +apiWebdavMove2/moveFile.feature:112 +apiWebdavMove2/moveFile.feature:113 +apiWebdavMove2/moveFile.feature:136 +apiWebdavMove2/moveFile.feature:137 +apiWebdavMove2/moveFile.feature:138 +apiWebdavMove2/moveFile.feature:139 +apiWebdavMove2/moveFile.feature:160 +apiWebdavMove2/moveFile.feature:161 +apiWebdavMove2/moveFile.feature:181 +apiWebdavMove2/moveFile.feature:182 +apiWebdavMove2/moveFile.feature:200 +apiWebdavMove2/moveFile.feature:201 +apiWebdavMove2/moveFile.feature:219 +apiWebdavMove2/moveFile.feature:220 +apiWebdavMove2/moveFile.feature:267 +apiWebdavMove2/moveFile.feature:268 +apiWebdavMove2/moveFile.feature:284 +apiWebdavMove2/moveFile.feature:285 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove2/moveFileToBlacklistedName.feature:18 +apiWebdavMove2/moveFileToBlacklistedName.feature:19 +apiWebdavMove2/moveFileToBlacklistedName.feature:41 +apiWebdavMove2/moveFileToBlacklistedName.feature:42 +apiWebdavMove2/moveFileToBlacklistedName.feature:74 +apiWebdavMove2/moveFileToBlacklistedName.feature:75 +# +# https://github.com/owncloud/ocis-reva/issues/14 renaming a resource does not work +apiWebdavMove2/moveFileToExcludedDirectory.feature:18 +apiWebdavMove2/moveFileToExcludedDirectory.feature:19 +apiWebdavMove2/moveFileToExcludedDirectory.feature:28 +apiWebdavMove2/moveFileToExcludedDirectory.feature:29 +apiWebdavMove2/moveFileToExcludedDirectory.feature:63 +apiWebdavMove2/moveFileToExcludedDirectory.feature:64 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiWebdavOperations/deleteFolder.feature:67 +apiWebdavOperations/deleteFolder.feature:68 +apiWebdavOperations/deleteFolder.feature:69 +apiWebdavOperations/deleteFolder.feature:70 +apiWebdavOperations/deleteFolder.feature:91 +apiWebdavOperations/deleteFolder.feature:92 +# +# https://github.com/owncloud/ocis-reva/issues/12 Range Header is not obeyed when downloading a file +apiWebdavOperations/downloadFile.feature:29 +apiWebdavOperations/downloadFile.feature:30 +# +apiWebdavOperations/downloadFile.feature:72 +apiWebdavOperations/downloadFile.feature:73 +# +apiWebdavOperations/downloadFile.feature:84 +apiWebdavOperations/downloadFile.feature:85 +# +apiWebdavOperations/refuseAccess.feature:21 +apiWebdavOperations/refuseAccess.feature:22 +# +apiWebdavOperations/refuseAccess.feature:47 +apiWebdavOperations/refuseAccess.feature:48 +# +# https://github.com/owncloud/ocis-reva/issues/39 REPORT request not implemented +apiWebdavOperations/search.feature:42 +apiWebdavOperations/search.feature:43 +apiWebdavOperations/search.feature:57 +apiWebdavOperations/search.feature:58 +apiWebdavOperations/search.feature:74 +apiWebdavOperations/search.feature:75 +apiWebdavOperations/search.feature:83 +apiWebdavOperations/search.feature:84 +apiWebdavOperations/search.feature:101 +apiWebdavOperations/search.feature:102 +apiWebdavOperations/search.feature:119 +apiWebdavOperations/search.feature:120 +apiWebdavOperations/search.feature:138 +apiWebdavOperations/search.feature:139 +apiWebdavOperations/search.feature:165 +apiWebdavOperations/search.feature:166 +apiWebdavOperations/search.feature:191 +apiWebdavOperations/search.feature:192 +apiWebdavOperations/search.feature:210 +apiWebdavOperations/search.feature:211 +apiWebdavOperations/search.feature:213 +apiWebdavOperations/search.feature:229 +# +# https://github.com/owncloud/ocis/issues/187 Previews via webDAV API tests fails on OCIS +apiWebdavPreviews/previews.feature:15 +apiWebdavPreviews/previews.feature:16 +apiWebdavPreviews/previews.feature:17 +apiWebdavPreviews/previews.feature:18 +apiWebdavPreviews/previews.feature:19 +apiWebdavPreviews/previews.feature:30 +apiWebdavPreviews/previews.feature:31 +apiWebdavPreviews/previews.feature:32 +apiWebdavPreviews/previews.feature:33 +apiWebdavPreviews/previews.feature:34 +apiWebdavPreviews/previews.feature:35 +apiWebdavPreviews/previews.feature:36 +apiWebdavPreviews/previews.feature:63 +apiWebdavPreviews/previews.feature:64 +apiWebdavPreviews/previews.feature:65 +apiWebdavPreviews/previews.feature:66 +apiWebdavPreviews/previews.feature:67 +apiWebdavPreviews/previews.feature:68 +apiWebdavPreviews/previews.feature:69 +apiWebdavPreviews/previews.feature:88 +apiWebdavPreviews/previews.feature:103 +apiWebdavPreviews/previews.feature:104 +apiWebdavPreviews/previews.feature:105 +apiWebdavPreviews/previews.feature:127 +apiWebdavPreviews/previews.feature:128 +apiWebdavPreviews/previews.feature:143 +apiWebdavPreviews/previews.feature:160 +apiWebdavPreviews/previews.feature:169 +apiWebdavPreviews/previews.feature:186 +apiWebdavPreviews/previews.feature:201 +apiWebdavPreviews/previews.feature:208 +apiWebdavPreviews/previews.feature:224 +apiWebdavPreviews/previews.feature:242 +apiWebdavPreviews/previews.feature:271 +apiWebdavPreviews/previews.feature:272 +apiWebdavPreviews/previews.feature:273 +apiWebdavPreviews/previews.feature:274 +apiWebdavPreviews/previews.feature:286 +apiWebdavPreviews/previews.feature:287 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiWebdavProperties1/copyFile.feature:65 +apiWebdavProperties1/copyFile.feature:66 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiWebdavProperties1/copyFile.feature:85 +apiWebdavProperties1/copyFile.feature:86 +# +# https://github.com/owncloud/ocis-reva/issues/15 blacklisted filenames like .htaccess & file.parts can be uploaded +apiWebdavProperties1/copyFile.feature:102 +apiWebdavProperties1/copyFile.feature:103 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:116 +apiWebdavProperties1/copyFile.feature:117 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:129 +apiWebdavProperties1/copyFile.feature:130 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:146 +apiWebdavProperties1/copyFile.feature:147 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:165 +apiWebdavProperties1/copyFile.feature:166 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:202 +apiWebdavProperties1/copyFile.feature:203 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:350 +apiWebdavProperties1/copyFile.feature:351 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:370 +apiWebdavProperties1/copyFile.feature:371 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:395 +apiWebdavProperties1/copyFile.feature:396 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:422 +apiWebdavProperties1/copyFile.feature:423 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:448 +apiWebdavProperties1/copyFile.feature:449 +# +# https://github.com/owncloud/ocis-reva/issues/387 Getting information about a folder overwritten by a file gives 500 error instead of 404 +apiWebdavProperties1/copyFile.feature:474 +apiWebdavProperties1/copyFile.feature:475 +# +# https://github.com/owncloud/ocis-reva/issues/15 blacklisted filenames like .htaccess & file.parts can be uploaded +apiWebdavProperties1/createFolder.feature:71 +apiWebdavProperties1/createFolder.feature:72 +# +# https://github.com/owncloud/ocis-reva/issues/168 creating a folder that already exists returns an empty body +apiWebdavProperties1/createFolder.feature:85 +apiWebdavProperties1/createFolder.feature:86 +# +# https://github.com/owncloud/ocis-reva/issues/168 creating a folder that already exists returns an empty body +apiWebdavProperties1/createFolder.feature:113 +apiWebdavProperties1/createFolder.feature:114 +# +# https://github.com/owncloud/ocis-reva/issues/101 quota query +apiWebdavProperties1/getQuota.feature:17 +apiWebdavProperties1/getQuota.feature:18 +apiWebdavProperties1/getQuota.feature:27 +apiWebdavProperties1/getQuota.feature:28 +apiWebdavProperties1/getQuota.feature:48 +apiWebdavProperties1/getQuota.feature:49 +apiWebdavProperties1/getQuota.feature:61 +apiWebdavProperties1/getQuota.feature:62 +apiWebdavProperties1/getQuota.feature:77 +apiWebdavProperties1/getQuota.feature:78 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties1/setFileProperties.feature:44 +apiWebdavProperties1/setFileProperties.feature:45 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties1/setFileProperties.feature:75 +apiWebdavProperties1/setFileProperties.feature:76 +# +# https://github.com/owncloud/ocis-reva/issues/214 XML properties in webdav response not properly encoded +apiWebdavProperties2/getFileProperties.feature:37 +apiWebdavProperties2/getFileProperties.feature:39 +apiWebdavProperties2/getFileProperties.feature:40 +apiWebdavProperties2/getFileProperties.feature:41 +apiWebdavProperties2/getFileProperties.feature:43 +apiWebdavProperties2/getFileProperties.feature:44 +# +# https://github.com/owncloud/ocis-reva/issues/214 XML properties in webdav response not properly encoded +apiWebdavProperties2/getFileProperties.feature:100 +apiWebdavProperties2/getFileProperties.feature:101 +apiWebdavProperties2/getFileProperties.feature:102 +apiWebdavProperties2/getFileProperties.feature:104 +apiWebdavProperties2/getFileProperties.feature:105 +apiWebdavProperties2/getFileProperties.feature:107 +apiWebdavProperties2/getFileProperties.feature:108 +apiWebdavProperties2/getFileProperties.feature:109 +apiWebdavProperties2/getFileProperties.feature:111 +apiWebdavProperties2/getFileProperties.feature:112 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiWebdavProperties2/getFileProperties.feature:231 +apiWebdavProperties2/getFileProperties.feature:232 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiWebdavProperties2/getFileProperties.feature:252 +apiWebdavProperties2/getFileProperties.feature:253 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiWebdavProperties2/getFileProperties.feature:270 +apiWebdavProperties2/getFileProperties.feature:271 +# +# https://github.com/owncloud/ocis-reva/issues/11 listing received shares does not work +apiWebdavProperties2/getFileProperties.feature:302 +apiWebdavProperties2/getFileProperties.feature:303 +# +apiWebdavProperties2/getFileProperties.feature:314 +apiWebdavProperties2/getFileProperties.feature:315 +# +# https://github.com/owncloud/ocis-reva/issues/216 Private link support +apiWebdavProperties2/getFileProperties.feature:328 +apiWebdavProperties2/getFileProperties.feature:329 +# +# https://github.com/owncloud/ocis-reva/issues/163 trying to access a non-existing resource returns an empty body +apiWebdavProperties2/getFileProperties.feature:338 +apiWebdavProperties2/getFileProperties.feature:339 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:352 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:372 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:407 +apiWebdavProperties2/getFileProperties.feature:408 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:420 +apiWebdavProperties2/getFileProperties.feature:421 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:433 +apiWebdavProperties2/getFileProperties.feature:434 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:482 +apiWebdavProperties2/getFileProperties.feature:483 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:495 +apiWebdavProperties2/getFileProperties.feature:496 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:508 +apiWebdavProperties2/getFileProperties.feature:509 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:521 +apiWebdavProperties2/getFileProperties.feature:522 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:534 +apiWebdavProperties2/getFileProperties.feature:535 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:547 +apiWebdavProperties2/getFileProperties.feature:548 +# +# https://github.com/owncloud/ocis-reva/issues/217 Some failing tests with Webdav custom properties +apiWebdavProperties2/getFileProperties.feature:560 +apiWebdavProperties2/getFileProperties.feature:561 +# +# https://github.com/owncloud/ocis-reva/issues/15 blacklisted filenames like .htaccess & file.parts can be uploaded +apiWebdavUpload1/uploadFile.feature:123 +apiWebdavUpload1/uploadFile.feature:124 +# +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:14 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:31 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:48 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:65 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:83 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:92 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:106 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:143 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:144 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:146 +apiWebdavUpload1/uploadFileAsyncUsingNewChunking.feature:159 +# +# https://github.com/owncloud/ocis-reva/issues/15 blacklisted filenames like .htaccess & file.parts can be uploaded +apiWebdavUpload1/uploadFileToBlacklistedName.feature:19 +apiWebdavUpload1/uploadFileToBlacklistedName.feature:20 +# +# https://github.com/owncloud/ocis-reva/issues/54 system configuration options missing +apiWebdavUpload1/uploadFileToBlacklistedName.feature:31 +apiWebdavUpload1/uploadFileToBlacklistedName.feature:32 +# +# https://github.com/owncloud/ocis-reva/issues/54 system configuration options missing +apiWebdavUpload1/uploadFileToBlacklistedName.feature:65 +apiWebdavUpload1/uploadFileToBlacklistedName.feature:66 +# +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiWebdavUpload1/uploadFileToBlacklistedNameAsyncUsingNewChunking.feature:14 +apiWebdavUpload1/uploadFileToBlacklistedNameAsyncUsingNewChunking.feature:23 +apiWebdavUpload1/uploadFileToBlacklistedNameAsyncUsingNewChunking.feature:47 +apiWebdavUpload1/uploadFileToBlacklistedNameAsyncUsingNewChunking.feature:48 +apiWebdavUpload1/uploadFileToBlacklistedNameAsyncUsingNewChunking.feature:49 +apiWebdavUpload1/uploadFileToBlacklistedNameAsyncUsingNewChunking.feature:52 +# +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiWebdavUpload1/uploadFileToExcludedDirectory.feature:20 +apiWebdavUpload1/uploadFileToExcludedDirectory.feature:21 +apiWebdavUpload1/uploadFileToExcludedDirectory.feature:33 +apiWebdavUpload1/uploadFileToExcludedDirectory.feature:34 +apiWebdavUpload1/uploadFileToExcludedDirectory.feature:69 +apiWebdavUpload1/uploadFileToExcludedDirectory.feature:70 +# +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiWebdavUpload1/uploadFileToExcludedDirectoryAsyncUsingNewChunking.feature:14 +apiWebdavUpload1/uploadFileToExcludedDirectoryAsyncUsingNewChunking.feature:24 +apiWebdavUpload1/uploadFileToExcludedDirectoryAsyncUsingNewChunking.feature:49 +apiWebdavUpload1/uploadFileToExcludedDirectoryAsyncUsingNewChunking.feature:50 +apiWebdavUpload1/uploadFileToExcludedDirectoryAsyncUsingNewChunking.feature:51 +apiWebdavUpload1/uploadFileToExcludedDirectoryAsyncUsingNewChunking.feature:54 +# +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiWebdavUpload2/uploadFileToBlacklistedNameUsingNewChunking.feature:12 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingNewChunking.feature:21 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingNewChunking.feature:45 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingNewChunking.feature:46 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingNewChunking.feature:47 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingNewChunking.feature:50 +# +# https://github.com/owncloud/ocis-reva/issues/15 blacklisted filenames like .htaccess & file.parts can be uploaded +apiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:13 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:20 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:37 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:38 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:39 +apiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:42 +# +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingNewChunking.feature:12 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingNewChunking.feature:22 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingNewChunking.feature:47 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingNewChunking.feature:48 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingNewChunking.feature:49 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingNewChunking.feature:52 +# +# https://github.com/owncloud/ocis-reva/issues/15 blacklisted filenames like .htaccess & file.parts can be uploaded +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:13 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:21 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:39 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:40 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:41 +apiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:44 +# +# https://github.com/owncloud/ocis-reva/issues/56 remote.php/dav/uploads endpoint does not exist +apiWebdavUpload2/uploadFileUsingNewChunking.feature:12 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:29 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:43 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:57 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:79 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:85 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:94 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:98 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:106 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:135 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:136 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:137 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:157 +apiWebdavUpload2/uploadFileUsingNewChunking.feature:158 +# +# https://github.com/owncloud/ocis-reva/issues/17 uploading with old-chunking does not work +apiWebdavUpload2/uploadFileUsingOldChunking.feature:13 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:26 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:35 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:44 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:76 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:77 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:97 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:98 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:99 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:100 +apiWebdavUpload2/uploadFileUsingOldChunking.feature:101 diff --git a/tests/acceptance/features/apiOcisSpecific/ocsDELETEAuth.feature b/tests/acceptance/features/apiOcisSpecific/ocsDELETEAuth.feature new file mode 100644 index 0000000000..8be10830f8 --- /dev/null +++ b/tests/acceptance/features/apiOcisSpecific/ocsDELETEAuth.feature @@ -0,0 +1,27 @@ +@api +Feature: auth + + @issue-ocis-reva-30 @issue-ocis-reva-65 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: send DELETE requests to OCS endpoints as admin with wrong password + When the administrator requests these endpoints with "DELETE" using password "invalid" about user "Alice" + | endpoint | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/123 | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending/123 | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/123 | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/123 | + | /ocs/v2.php/apps/files_sharing/api/v1/shares/123 | + | /ocs/v1.php/apps/files_sharing/api/v1/shares/pending/123 | + | /ocs/v2.php/apps/files_sharing/api/v1/shares/pending/123 | + | /ocs/v1.php/cloud/apps/testing | + | /ocs/v2.php/cloud/apps/testing | + | /ocs/v1.php/cloud/groups/group1 | + | /ocs/v2.php/cloud/groups/group1 | + | /ocs/v1.php/cloud/users/%username% | + | /ocs/v2.php/cloud/users/%username% | + | /ocs/v1.php/cloud/users/%username%/groups | + | /ocs/v2.php/cloud/users/%username%/groups | + | /ocs/v1.php/cloud/users/%username%/subadmins | + | /ocs/v2.php/cloud/users/%username%/subadmins | + Then the HTTP status code of responses on all endpoints should be "401" + And the OCS status code of responses on all endpoints should be "notset" diff --git a/tests/acceptance/features/apiOcisSpecific/ocsGETAuth.feature b/tests/acceptance/features/apiOcisSpecific/ocsGETAuth.feature new file mode 100644 index 0000000000..d48ec88c0d --- /dev/null +++ b/tests/acceptance/features/apiOcisSpecific/ocsGETAuth.feature @@ -0,0 +1,112 @@ +@api +Feature: auth + + Background: + Given user "Alice" has been created with default attributes and skeleton files + + @issue-ocis-reva-29 + @issue-ocis-reva-30 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: using OCS anonymously + When a user requests these endpoints with "GET" and no authentication + | endpoint | + | /ocs/v1.php/apps/files_external/api/v1/mounts | + | /ocs/v2.php/apps/files_external/api/v1/mounts | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending | + | /ocs/v1.php/apps/files_sharing/api/v1/shares | + | /ocs/v2.php/apps/files_sharing/api/v1/shares | + | /ocs/v1.php/cloud/apps | + | /ocs/v2.php/cloud/apps | + | /ocs/v1.php/cloud/groups | + | /ocs/v2.php/cloud/groups | + | /ocs/v1.php/cloud/users | + | /ocs/v2.php/cloud/users | + | /ocs/v1.php/config | + | /ocs/v2.php/config | + | /ocs/v1.php/privatedata/getattribute | + | /ocs/v2.php/privatedata/getattribute | + Then the HTTP status code of responses on all endpoints should be "401" + And the OCS status code of responses on all endpoints should be "notset" + + @issue-ocis-reva-11 + @issue-ocis-reva-30 + @issue-ocis-reva-31 + @issue-ocis-reva-32 + @issue-ocis-reva-33 + @issue-ocis-reva-34 + @issue-ocis-reva-35 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: using OCS with non-admin basic auth + When the user "Alice" requests these endpoints with "GET" with basic auth + | endpoint | + | /ocs/v1.php/apps/files_external/api/v1/mounts | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending | + | /ocs/v1.php/privatedata/getattribute | + | /ocs/v1.php/cloud/groups | + | /ocs/v1.php/cloud/apps | + Then the HTTP status code of responses on all endpoints should be "200" + And the OCS status code of responses on all endpoints should be "998" + When the user "Alice" requests these endpoints with "GET" with basic auth + | endpoint | + | /ocs/v1.php/config | + Then the HTTP status code of responses on all endpoints should be "200" + And the OCS status code of responses on all endpoints should be "100" + When the user "Alice" requests these endpoints with "GET" with basic auth + | endpoint | + | /ocs/v2.php/apps/files_external/api/v1/mounts | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending | + # | /ocs/v1.php/apps/files_sharing/api/v1/shares | 100 | 200 | + # | /ocs/v2.php/apps/files_sharing/api/v1/shares | 100 | 200 | + + | /ocs/v2.php/cloud/apps | + | /ocs/v2.php/cloud/groups | + | /ocs/v2.php/privatedata/getattribute | + Then the HTTP status code of responses on all endpoints should be "404" + And the OCS status code of responses on all endpoints should be "998" + When the user "Alice" requests these endpoints with "GET" with basic auth + | endpoint | + | /ocs/v1.php/cloud/users | + Then the HTTP status code of responses on all endpoints should be "200" + And the OCS status code of responses on all endpoints should be "403" + When the user "Alice" requests these endpoints with "GET" with basic auth + | endpoint | + | /ocs/v2.php/cloud/users | + Then the HTTP status code of responses on all endpoints should be "403" + And the OCS status code of responses on all endpoints should be "403" + When the user "Alice" requests these endpoints with "GET" with basic auth + | endpoint | + | /ocs/v2.php/config | + Then the HTTP status code of responses on all endpoints should be "200" + And the OCS status code of responses on all endpoints should be "200" + + @issue-ocis-reva-29 + @issue-ocis-reva-30 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: using OCS as normal user with wrong password + When user "Alice" requests these endpoints with "GET" using password "invalid" + | endpoint | + | /ocs/v1.php/apps/files_external/api/v1/mounts | + | /ocs/v2.php/apps/files_external/api/v1/mounts | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending | + | /ocs/v1.php/apps/files_sharing/api/v1/shares | + | /ocs/v2.php/apps/files_sharing/api/v1/shares | + | /ocs/v1.php/cloud/apps | + | /ocs/v2.php/cloud/apps | + | /ocs/v1.php/cloud/groups | + | /ocs/v2.php/cloud/groups | + | /ocs/v1.php/cloud/users | + | /ocs/v2.php/cloud/users | + | /ocs/v1.php/config | + | /ocs/v2.php/config | + | /ocs/v1.php/privatedata/getattribute | + | /ocs/v2.php/privatedata/getattribute | + Then the HTTP status code of responses on all endpoints should be "401" + And the OCS status code of responses on all endpoints should be "notset" diff --git a/tests/acceptance/features/apiOcisSpecific/ocsPOSTAuth.feature b/tests/acceptance/features/apiOcisSpecific/ocsPOSTAuth.feature new file mode 100644 index 0000000000..3b3927e6e4 --- /dev/null +++ b/tests/acceptance/features/apiOcisSpecific/ocsPOSTAuth.feature @@ -0,0 +1,35 @@ +@api +Feature: auth + + Background: + Given user "Alice" has been created with default attributes and skeleton files + + @issue-ocis-reva-30 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: send POST requests to OCS endpoints as normal user with wrong password + When user "Alice" requests these endpoints with "POST" including body "doesnotmatter" using password "invalid" about user "Alice" + | endpoint | + | /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/123 | + | /ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending/123 | + | /ocs/v1.php/apps/files_sharing/api/v1/shares | + | /ocs/v2.php/apps/files_sharing/api/v1/shares | + | /ocs/v1.php/apps/files_sharing/api/v1/shares/pending/123 | + | /ocs/v2.php/apps/files_sharing/api/v1/shares/pending/123 | + | /ocs/v1.php/cloud/apps/testing | + | /ocs/v2.php/cloud/apps/testing | + | /ocs/v1.php/cloud/groups | + | /ocs/v2.php/cloud/groups | + | /ocs/v1.php/cloud/users | + | /ocs/v2.php/cloud/users | + | /ocs/v1.php/cloud/users/%username%/groups | + | /ocs/v2.php/cloud/users/%username%/groups | + | /ocs/v1.php/cloud/users/%username%/subadmins | + | /ocs/v2.php/cloud/users/%username%/subadmins | + | /ocs/v1.php/person/check | + | /ocs/v2.php/person/check | + | /ocs/v1.php/privatedata/deleteattribute/testing/test | + | /ocs/v2.php/privatedata/deleteattribute/testing/test | + | /ocs/v1.php/privatedata/setattribute/testing/test | + | /ocs/v2.php/privatedata/setattribute/testing/test | + Then the HTTP status code of responses on all endpoints should be "401" + And the OCS status code of responses on all endpoints should be "notset" diff --git a/tests/acceptance/features/apiOcisSpecific/ocsPUTAuth.feature b/tests/acceptance/features/apiOcisSpecific/ocsPUTAuth.feature new file mode 100644 index 0000000000..b8e54da9a7 --- /dev/null +++ b/tests/acceptance/features/apiOcisSpecific/ocsPUTAuth.feature @@ -0,0 +1,18 @@ +@api +Feature: auth + + @issue-ocis-reva-30 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: send PUT request to OCS endpoints as admin with wrong password + When the administrator requests these endpoints with "PUT" with body "doesnotmatter" using password "invalid" about user "Alice" + | endpoint | + | /ocs/v1.php/cloud/users/%username% | + | /ocs/v2.php/cloud/users/%username% | + | /ocs/v1.php/cloud/users/%username%/disable | + | /ocs/v2.php/cloud/users/%username%/disable | + | /ocs/v1.php/cloud/users/%username%/enable | + | /ocs/v2.php/cloud/users/%username%/enable | + | /ocs/v1.php/apps/files_sharing/api/v1/shares/123 | + | /ocs/v2.php/apps/files_sharing/api/v1/shares/123 | + Then the HTTP status code of responses on all endpoints should be "401" + And the OCS status code of responses on all endpoints should be "notset" diff --git a/tests/acceptance/features/bootstrap/RevaContext.php b/tests/acceptance/features/bootstrap/RevaContext.php new file mode 100644 index 0000000000..2a41222029 --- /dev/null +++ b/tests/acceptance/features/bootstrap/RevaContext.php @@ -0,0 +1,40 @@ +getEnvironment(); + // Get all the contexts you need in this context + $this->featureContext = $environment->getContext('FeatureContext'); + SetupHelper::init( + $this->featureContext->getAdminUsername(), + $this->featureContext->getAdminPassword(), + $this->featureContext->getBaseUrl(), + $this->featureContext->getOcPath() + ); + } +} diff --git a/tests/acceptance/features/bootstrap/bootstrap.php b/tests/acceptance/features/bootstrap/bootstrap.php new file mode 100644 index 0000000000..1e2175b1ba --- /dev/null +++ b/tests/acceptance/features/bootstrap/bootstrap.php @@ -0,0 +1,14 @@ +addPsr4( + "", $pathToCore . "/tests/acceptance/features/bootstrap", true +); + +$classLoader->register(); diff --git a/vendor-bin/behat/composer.json b/vendor-bin/behat/composer.json new file mode 100644 index 0000000000..aa22f60040 --- /dev/null +++ b/vendor-bin/behat/composer.json @@ -0,0 +1,22 @@ +{ + "config" : { + "platform": { + "php": "7.2" + } + }, + "require": { + "behat/behat": "^3.7", + "behat/mink": "1.7.1", + "behat/mink-extension": "^2.3", + "behat/mink-goutte-driver": "^1.2", + "behat/mink-selenium2-driver": "^1.4", + "jarnaiz/behat-junit-formatter": "^1.3", + "rdx/behat-variables": "^1.2", + "sensiolabs/behat-page-object-extension": "^2.3", + "symfony/translation": "^4.4", + "sabre/xml": "^2.2", + "guzzlehttp/guzzle": "^6.5", + "phpunit/phpunit": "^8.5", + "laminas/laminas-ldap": "^2.10" + } +}