mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-30 17:00:57 -06:00
test:split apiSharingNg suite for checking if CI time gets reduced
This commit is contained in:
@@ -85,9 +85,11 @@ config = {
|
||||
"apiLocks",
|
||||
"apiSearch1",
|
||||
"apiSearch2",
|
||||
"apiSharingNg",
|
||||
"apiSharingNg1",
|
||||
"apiSharingNg2",
|
||||
"apiSharingNgShareInvitation",
|
||||
"apiSharingNgLinkShare",
|
||||
"apiSharingNgLinkSharePermission",
|
||||
"apiSharingNgLinkShareRoot",
|
||||
],
|
||||
"skip": False,
|
||||
},
|
||||
|
||||
@@ -327,9 +327,20 @@ default:
|
||||
- PublicWebDavContext:
|
||||
- SharingNgContext:
|
||||
|
||||
apiSharingNg:
|
||||
apiSharingNg1:
|
||||
paths:
|
||||
- "%paths.base%/../features/apiSharingNg"
|
||||
- "%paths.base%/../features/apiSharingNg1"
|
||||
context: *common_ldap_suite_context
|
||||
contexts:
|
||||
- FeatureContext: *common_feature_context_params
|
||||
- SpacesContext:
|
||||
- SharingNgContext:
|
||||
- OcisConfigContext:
|
||||
- SettingsContext:
|
||||
|
||||
apiSharingNg2:
|
||||
paths:
|
||||
- "%paths.base%/../features/apiSharingNg2"
|
||||
context: *common_ldap_suite_context
|
||||
contexts:
|
||||
- FeatureContext: *common_feature_context_params
|
||||
@@ -347,9 +358,20 @@ default:
|
||||
- SpacesContext:
|
||||
- SharingNgContext:
|
||||
|
||||
apiSharingNgLinkShare:
|
||||
apiSharingNgLinkSharePermission:
|
||||
paths:
|
||||
- "%paths.base%/../features/apiSharingNgLinkShare"
|
||||
- "%paths.base%/../features/apiSharingNgLinkSharePermission"
|
||||
context: *common_ldap_suite_context
|
||||
contexts:
|
||||
- FeatureContext: *common_feature_context_params
|
||||
- SpacesContext:
|
||||
- SharingNgContext:
|
||||
- PublicWebDavContext:
|
||||
- OcisConfigContext:
|
||||
|
||||
apiSharingNgLinkShareRoot:
|
||||
paths:
|
||||
- "%paths.base%/../features/apiSharingNgLinkShareRoot"
|
||||
context: *common_ldap_suite_context
|
||||
contexts:
|
||||
- FeatureContext: *common_feature_context_params
|
||||
|
||||
@@ -232,56 +232,56 @@ The expected failures in this file are from features in the owncloud/ocis repo.
|
||||
|
||||
### [blocksDownload link type is not implemented yet (sharing-ng)](https://github.com/owncloud/ocis/issues/7879)
|
||||
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:72](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L72)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:202](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L202)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:340](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L340)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:409](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L409)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:475](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L475)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:617](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L617)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:763](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L763)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:819](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L819)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:820](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L820)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:821](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L821)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:891](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L891)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:957](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L957)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1101](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1101)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1170](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1170)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1220](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1220)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1221](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1221)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1222](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1222)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1461](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1461)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1601](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1601)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1655](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1655)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1656](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1656)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1657](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1657)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1725](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1725)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1792](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1792)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1863](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1863)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:1981](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L1981)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2240](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2240)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2294](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2294)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2295](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2295)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2296](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2296)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2364](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2364)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2430](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2430)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2552](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2552)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2679](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2679)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2806](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2806)
|
||||
- [apiSharingNgLinkShare/createLinkShare.feature:2934](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/createLinkShare.feature#L2934)
|
||||
- [apiSharingNgLinkShare/updateLinkShare.feature:73](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/updateLinkShare.feature#L73)
|
||||
- [apiSharingNgLinkShare/updateLinkShare.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/updateLinkShare.feature#L75)
|
||||
- [apiSharingNgLinkShare/updateLinkShare.feature:76](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/updateLinkShare.feature#L76)
|
||||
- [apiSharingNgLinkShare/updateLinkShare.feature:77](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/updateLinkShare.feature#L77)
|
||||
- [apiSharingNgLinkShare/updateLinkShare.feature:143](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/updateLinkShare.feature#L143)
|
||||
- [apiSharingNgLinkShare/updateLinkShare.feature:468](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/updateLinkShare.feature#L468)
|
||||
- [apiSharingNgLinkShare/updateLinkShare.feature:855](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkShare/updateLinkShare.feature#L855)
|
||||
- [apiSharingNg/removeAccessToDriveItem.feature:125](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg/removeAccessToDriveItem.feature#L125)
|
||||
- [apiSharingNg/removeAccessToDriveItem.feature:141](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg/removeAccessToDriveItem.feature#L141)
|
||||
- [apiSharingNg/removeAccessToDriveItem.feature:161](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg/removeAccessToDriveItem.feature#L161)
|
||||
- [apiSharingNg/removeAccessToDriveItem.feature:179](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg/removeAccessToDriveItem.feature#L179)
|
||||
- [apiSharingNg/removeAccessToDrive.feature:177](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg/removeAccessToDrive.feature#L177)
|
||||
- [apiSharingNg/removeAccessToDrive.feature:206](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg/removeAccessToDrive.feature#L206)
|
||||
- [apiSharingNg/removeAccessToDrive.feature:236](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNg/removeAccessToDrive.feature#L236)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:72](https://github.com/owncloud/ocis/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:340](https://github.com/owncloud/ocis/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:475](https://github.com/owncloud/ocis/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:763](https://github.com/owncloud/ocis/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:820](https://github.com/owncloud/ocis/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:891](https://github.com/owncloud/ocis/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:1101](https://github.com/owncloud/ocis/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:1220](https://github.com/owncloud/ocis/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:1222](https://github.com/owncloud/ocis/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:1633](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1633)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1687](https://github.com/owncloud/ocis/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:1689](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1689)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1757](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1757)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1823](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1823)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:1945](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L1945)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:2072](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2072)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:2199](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2199)
|
||||
- [apiSharingNgLinkSharePermission/createLinkShare.feature:2327](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature#L2327)
|
||||
- [apiSharingNgLinkSharePermission/updateLinkShare.feature:73](https://github.com/owncloud/ocis/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:76](https://github.com/owncloud/ocis/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:143](https://github.com/owncloud/ocis/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:792](https://github.com/owncloud/ocis/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:352](https://github.com/owncloud/ocis/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:407](https://github.com/owncloud/ocis/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:476](https://github.com/owncloud/ocis/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:614](https://github.com/owncloud/ocis/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:43](https://github.com/owncloud/ocis/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:81](https://github.com/owncloud/ocis/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:206](https://github.com/owncloud/ocis/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)
|
||||
|
||||
### [sharee (editor role) MOVE a file by file-id into same shared folder returns 403](https://github.com/owncloud/ocis/issues/7617)
|
||||
|
||||
|
||||
@@ -107,78 +107,6 @@ Feature: Remove access to a drive item
|
||||
| Uploader | FolderToShare |
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a folder in link share
|
||||
Given user "Alice" has created folder "FolderToShare"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | FolderToShare |
|
||||
| space | Personal |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of folder "FolderToShare" from space "Personal" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a file in link share
|
||||
Given user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile.txt"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | textfile.txt |
|
||||
| space | Personal |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of file "textfile.txt" from space "Personal" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a folder in project space in link share
|
||||
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "NewSpace" with the default quota using the Graph API
|
||||
And user "Alice" has created a folder "FolderToShare" in space "NewSpace"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | FolderToShare |
|
||||
| space | NewSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of folder "FolderToShare" from space "NewSpace" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a file in project space in link share
|
||||
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "NewSpace" with the default quota using the Graph API
|
||||
And user "Alice" has uploaded a file inside space "NewSpace" with content "some content" to "textfile.txt"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | textfile.txt |
|
||||
| space | NewSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of file "textfile.txt" from space "NewSpace" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: user removes user member from project space using permissions endpoint
|
||||
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "NewSpace" with the default quota using the Graph API
|
||||
@@ -214,4 +142,4 @@ Feature: Remove access to a drive item
|
||||
| permissions-role |
|
||||
| Space Viewer |
|
||||
| Space Editor |
|
||||
| Manager |
|
||||
| Manager |
|
||||
@@ -0,0 +1,81 @@
|
||||
Feature: Remove access to a drive item
|
||||
https://owncloud.dev/libre-graph-api/#/drives.permissions/DeletePermission
|
||||
|
||||
Background:
|
||||
Given these users have been created with default attributes and without skeleton files:
|
||||
| username |
|
||||
| Alice |
|
||||
| Brian |
|
||||
And using spaces DAV path
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a folder in link share
|
||||
Given user "Alice" has created folder "FolderToShare"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | FolderToShare |
|
||||
| space | Personal |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of folder "FolderToShare" from space "Personal" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a file in link share
|
||||
Given user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile.txt"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | textfile.txt |
|
||||
| space | Personal |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of file "textfile.txt" from space "Personal" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a folder in project space in link share
|
||||
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "NewSpace" with the default quota using the Graph API
|
||||
And user "Alice" has created a folder "FolderToShare" in space "NewSpace"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | FolderToShare |
|
||||
| space | NewSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of folder "FolderToShare" from space "NewSpace" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: user removes access to a file in project space in link share
|
||||
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "NewSpace" with the default quota using the Graph API
|
||||
And user "Alice" has uploaded a file inside space "NewSpace" with content "some content" to "textfile.txt"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | textfile.txt |
|
||||
| space | NewSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
When user "Alice" removes the link of file "textfile.txt" from space "NewSpace" using the Graph API
|
||||
Then the HTTP status code should be "204"
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| blocksDownload |
|
||||
@@ -1255,613 +1255,6 @@ Feature: Create a link share for a resource
|
||||
"""
|
||||
And the public should be able to download file "textfile.txt" from the last link share with password "%public%" and the content should be "to share"
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: try to create a link share of a Personal and Share drive using root endpoint
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | <drive> |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["error"],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"innererror",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "invalidRequest"
|
||||
},
|
||||
"innererror": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"date",
|
||||
"request-id"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"const": "unsupported space type"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role | drive |
|
||||
| view | Shares |
|
||||
| edit | Shares |
|
||||
| upload | Shares |
|
||||
| createOnly | Shares |
|
||||
| blocksDownload | Shares |
|
||||
| view | Personal |
|
||||
| edit | Personal |
|
||||
| upload | Personal |
|
||||
| createOnly | Personal |
|
||||
| blocksDownload | Personal |
|
||||
|
||||
|
||||
Scenario Outline: try to create an internal link share of a Personal and Share drives using root endpoint
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | <drive> |
|
||||
| permissionsRole | internal |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["error"],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"innererror",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "invalidRequest"
|
||||
},
|
||||
"innererror": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"date",
|
||||
"request-id"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"const": "unsupported space type"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| drive |
|
||||
| Personal |
|
||||
| Shares |
|
||||
|
||||
|
||||
Scenario Outline: try to create an internal link share with password of a Personal and Share drive using root endpoint
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | <drive> |
|
||||
| permissionsRole | internal |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["error"],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"innererror",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "invalidRequest"
|
||||
},
|
||||
"innererror": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"date",
|
||||
"request-id"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"const": "unsupported space type"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| drive |
|
||||
| Personal |
|
||||
| Shares |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with different permissions using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario: create an internal link share of a project-space using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | internal |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": false
|
||||
},
|
||||
"id": {
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "internal"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
Scenario: try to create an internal link share of a project-space drive with password
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | internal |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "400"
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with display name and expiry date using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| displayName | Homework |
|
||||
| expirationDateTime | 2200-07-15T14:00:00.000Z |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link",
|
||||
"expirationDateTime"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"expirationDateTime": {
|
||||
"const": "2200-07-15T23:59:59Z"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Homework"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: try to create a link share of a project-space drive with a password that is listed in the Banned-Password-List using root endpoint
|
||||
Given the config "OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST" has been set to path "config/drone/banned-password-list.txt"
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | <banned-password> |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"error"
|
||||
],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"type": "string",
|
||||
"pattern": "invalidRequest"
|
||||
},
|
||||
"message": {
|
||||
"const": "unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| banned-password | permissions-role |
|
||||
| 123 | view |
|
||||
| password | view |
|
||||
| ownCloud | view |
|
||||
| 123 | edit |
|
||||
| password | edit |
|
||||
| ownCloud | edit |
|
||||
| 123 | upload |
|
||||
| password | upload |
|
||||
| ownCloud | upload |
|
||||
| 123 | createOnly |
|
||||
| password | createOnly |
|
||||
| ownCloud | createOnly |
|
||||
| 123 | blocksDownload |
|
||||
| password | blocksDownload |
|
||||
| ownCloud | blocksDownload |
|
||||
|
||||
@env-config @issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive without password using root endpoint
|
||||
Given the following configs have been set:
|
||||
| config | value |
|
||||
| OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD | false |
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": false
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with display name using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| displayName | Homework |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Homework"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with expiry date using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| expirationDateTime | 2200-07-15T14:00:00.000Z |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link",
|
||||
"expirationDateTime"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"expirationDateTime": {
|
||||
"const": "2200-07-15T23:59:59Z"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: try to create a link share of a Personal and Shares drives using permissions endpoint
|
||||
When user "Alice" tries to create the following space link share using permissions endpoint of the Graph API:
|
||||
@@ -2990,128 +2383,3 @@ Feature: Create a link share for a resource
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
Scenario Outline: create quick link share of a project space drive using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| displayName | Link |
|
||||
| quickLink | true |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Link"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": true
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| upload |
|
||||
| edit |
|
||||
| createOnly |
|
||||
|
||||
|
||||
Scenario: create an internal quick link share of a project space drive using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | internal |
|
||||
| displayName | Link |
|
||||
| quickLink | true |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": false
|
||||
},
|
||||
"id": {
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Link"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": true
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "internal"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
@@ -318,69 +318,6 @@ Feature: Update a link share for a resource
|
||||
"""
|
||||
And the public should be able to download file "/textfile.txt" from the last link share with password "%public%" and the content should be "to share"
|
||||
|
||||
@env-config
|
||||
Scenario: set password on a existing link share of a project-space drive using root endpoint
|
||||
Given the following configs have been set:
|
||||
| config | value |
|
||||
| OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD | false |
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt"
|
||||
And user "Alice" has created the following space link share:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | view |
|
||||
When user "Alice" sets the following password for the last space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And the public should be able to download file "textfile.txt" from the last link share with password "%public%" and the content should be "to share"
|
||||
|
||||
|
||||
Scenario: update password on a existing link share of a project-space drive using root endpoint
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt"
|
||||
And user "Alice" has created the following space link share:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | view |
|
||||
| password | $heLlo*1234* |
|
||||
When user "Alice" sets the following password for the last space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And the public should be able to download file "textfile.txt" from the last link share with password "%public%" and the content should be "to share"
|
||||
And the public download of file "textfile.txt" from the last link share with password "$heLlo*1234*" should fail with HTTP status code "401" using shareNg
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: update link share of a project-space using permissions endpoint
|
||||
Given using spaces DAV path
|
||||
@@ -0,0 +1,739 @@
|
||||
Feature: Create a link share for a resource
|
||||
https://owncloud.dev/libre-graph-api/#/drives.permissions/CreateLink
|
||||
|
||||
Background:
|
||||
Given these users have been created with default attributes and without skeleton files:
|
||||
| username |
|
||||
| Alice |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: try to create a link share of a Personal and Share drive using root endpoint
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | <drive> |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["error"],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"innererror",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "invalidRequest"
|
||||
},
|
||||
"innererror": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"date",
|
||||
"request-id"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"const": "unsupported space type"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role | drive |
|
||||
| view | Shares |
|
||||
| edit | Shares |
|
||||
| upload | Shares |
|
||||
| createOnly | Shares |
|
||||
| blocksDownload | Shares |
|
||||
| view | Personal |
|
||||
| edit | Personal |
|
||||
| upload | Personal |
|
||||
| createOnly | Personal |
|
||||
| blocksDownload | Personal |
|
||||
|
||||
|
||||
Scenario Outline: try to create an internal link share of a Personal and Share drives using root endpoint
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | <drive> |
|
||||
| permissionsRole | internal |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["error"],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"innererror",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "invalidRequest"
|
||||
},
|
||||
"innererror": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"date",
|
||||
"request-id"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"const": "unsupported space type"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| drive |
|
||||
| Personal |
|
||||
| Shares |
|
||||
|
||||
|
||||
Scenario Outline: try to create an internal link share with password of a Personal and Share drive using root endpoint
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | <drive> |
|
||||
| permissionsRole | internal |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["error"],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"innererror",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "invalidRequest"
|
||||
},
|
||||
"innererror": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"date",
|
||||
"request-id"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"const": "unsupported space type"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| drive |
|
||||
| Personal |
|
||||
| Shares |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with different permissions using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario: create an internal link share of a project-space using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | internal |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": false
|
||||
},
|
||||
"id": {
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "internal"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
Scenario: try to create an internal link share of a project-space drive with password
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | internal |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "400"
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with display name and expiry date using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| displayName | Homework |
|
||||
| expirationDateTime | 2200-07-15T14:00:00.000Z |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link",
|
||||
"expirationDateTime"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"expirationDateTime": {
|
||||
"const": "2200-07-15T23:59:59Z"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Homework"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: try to create a link share of a project-space drive with a password that is listed in the Banned-Password-List using root endpoint
|
||||
Given the config "OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST" has been set to path "config/drone/banned-password-list.txt"
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" tries to create the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | <banned-password> |
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"error"
|
||||
],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"type": "string",
|
||||
"pattern": "invalidRequest"
|
||||
},
|
||||
"message": {
|
||||
"const": "unfortunately, your password is commonly used. please pick a harder-to-guess password for your safety"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| banned-password | permissions-role |
|
||||
| 123 | view |
|
||||
| password | view |
|
||||
| ownCloud | view |
|
||||
| 123 | edit |
|
||||
| password | edit |
|
||||
| ownCloud | edit |
|
||||
| 123 | upload |
|
||||
| password | upload |
|
||||
| ownCloud | upload |
|
||||
| 123 | createOnly |
|
||||
| password | createOnly |
|
||||
| ownCloud | createOnly |
|
||||
| 123 | blocksDownload |
|
||||
| password | blocksDownload |
|
||||
| ownCloud | blocksDownload |
|
||||
|
||||
@env-config @issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive without password using root endpoint
|
||||
Given the following configs have been set:
|
||||
| config | value |
|
||||
| OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD | false |
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": false
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with display name using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| displayName | Homework |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Homework"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
@issue-7879
|
||||
Scenario Outline: create a link share of a project-space drive with expiry date using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| expirationDateTime | 2200-07-15T14:00:00.000Z |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link",
|
||||
"expirationDateTime"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"expirationDateTime": {
|
||||
"const": "2200-07-15T23:59:59Z"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": ""
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": false
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| edit |
|
||||
| upload |
|
||||
| createOnly |
|
||||
| blocksDownload |
|
||||
|
||||
|
||||
Scenario Outline: create quick link share of a project space drive using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | <permissions-role> |
|
||||
| password | %public% |
|
||||
| displayName | Link |
|
||||
| quickLink | true |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
},
|
||||
"id": {
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Link"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": true
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "<permissions-role>"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| permissions-role |
|
||||
| view |
|
||||
| upload |
|
||||
| edit |
|
||||
| createOnly |
|
||||
|
||||
|
||||
Scenario: create an internal quick link share of a project space drive using root endpoint
|
||||
Given using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
When user "Alice" creates the following space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | internal |
|
||||
| displayName | Link |
|
||||
| quickLink | true |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword",
|
||||
"id",
|
||||
"link"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": false
|
||||
},
|
||||
"id": {
|
||||
"pattern": "^[a-zA-Z]{15}$"
|
||||
},
|
||||
"link": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"@libre.graph.displayName",
|
||||
"@libre.graph.quickLink",
|
||||
"preventsDownload",
|
||||
"type",
|
||||
"webUrl"
|
||||
],
|
||||
"properties": {
|
||||
"@libre.graph.displayName": {
|
||||
"const": "Link"
|
||||
},
|
||||
"@libre.graph.quickLink": {
|
||||
"const": true
|
||||
},
|
||||
"preventsDownload": {
|
||||
"const": false
|
||||
},
|
||||
"type": {
|
||||
"const": "internal"
|
||||
},
|
||||
"webUrl": {
|
||||
"type": "string",
|
||||
"pattern": "^%base_url%/s/[a-zA-Z]{15}$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
@@ -0,0 +1,70 @@
|
||||
Feature: Update a link share for a resource
|
||||
https://owncloud.dev/libre-graph-api/#/drives.permissions/CreateLink
|
||||
|
||||
Background:
|
||||
Given these users have been created with default attributes and without skeleton files:
|
||||
| username |
|
||||
| Alice |
|
||||
|
||||
@env-config
|
||||
Scenario: set password on a existing link share of a project-space drive using root endpoint
|
||||
Given the following configs have been set:
|
||||
| config | value |
|
||||
| OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD | false |
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt"
|
||||
And user "Alice" has created the following space link share:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | view |
|
||||
When user "Alice" sets the following password for the last space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And the public should be able to download file "textfile.txt" from the last link share with password "%public%" and the content should be "to share"
|
||||
|
||||
|
||||
Scenario: update password on a existing link share of a project-space drive using root endpoint
|
||||
And using spaces DAV path
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
|
||||
And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt"
|
||||
And user "Alice" has created the following space link share:
|
||||
| space | projectSpace |
|
||||
| permissionsRole | view |
|
||||
| password | $heLlo*1234* |
|
||||
When user "Alice" sets the following password for the last space link share using root endpoint of the Graph API:
|
||||
| space | projectSpace |
|
||||
| password | %public% |
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"hasPassword"
|
||||
],
|
||||
"properties": {
|
||||
"hasPassword": {
|
||||
"const": true
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And the public should be able to download file "textfile.txt" from the last link share with password "%public%" and the content should be "to share"
|
||||
And the public download of file "textfile.txt" from the last link share with password "$heLlo*1234*" should fail with HTTP status code "401" using shareNg
|
||||
Reference in New Issue
Block a user