test: fix COPY to mountpoint tests
test: adjust COPY file test
This commit is contained in:
@@ -953,7 +953,7 @@ class GraphHelper {
|
|||||||
array $body = [],
|
array $body = [],
|
||||||
array $headers = []
|
array $headers = []
|
||||||
): ResponseInterface {
|
): ResponseInterface {
|
||||||
$url = self::getFullUrl($baseUrl, 'me/drives/' . $urlArguments);
|
$url = self::getFullUrl($baseUrl, 'me/drives' . $urlArguments);
|
||||||
|
|
||||||
return HttpRequestHelper::get($url, $xRequestId, $user, $password, $headers, $body);
|
return HttpRequestHelper::get($url, $xRequestId, $user, $password, $headers, $body);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,16 +6,6 @@ The expected failures in this file are from features in the owncloud/ocis repo.
|
|||||||
|
|
||||||
Basic file management like up and download, move, copy, properties, trash, versions and chunking.
|
Basic file management like up and download, move, copy, properties, trash, versions and chunking.
|
||||||
|
|
||||||
#### [COPY a folder to received share file/folder seems to work but no change in shares](https://github.com/owncloud/ocis/issues/6999)
|
|
||||||
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:286](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L286)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:287](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L287)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:310](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L310)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:311](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L311)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:484](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L484)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:485](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L485)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:486](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L486)
|
|
||||||
|
|
||||||
#### [Custom dav properties with namespaces are rendered incorrectly](https://github.com/owncloud/ocis/issues/2140)
|
#### [Custom dav properties with namespaces are rendered incorrectly](https://github.com/owncloud/ocis/issues/2140)
|
||||||
|
|
||||||
_ocdav: double-check the webdav property parsing when custom namespaces are used_
|
_ocdav: double-check the webdav property parsing when custom namespaces are used_
|
||||||
@@ -172,14 +162,6 @@ And other missing implementation of favorites
|
|||||||
- [coreApiWebdavUploadTUS/optionsRequest.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/optionsRequest.feature#L40)
|
- [coreApiWebdavUploadTUS/optionsRequest.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/optionsRequest.feature#L40)
|
||||||
- [coreApiWebdavUploadTUS/optionsRequest.feature:55](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/optionsRequest.feature#L55)
|
- [coreApiWebdavUploadTUS/optionsRequest.feature:55](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/optionsRequest.feature#L55)
|
||||||
|
|
||||||
#### [copying the file inside Shares folder returns 412](https://github.com/owncloud/ocis/issues/3874)
|
|
||||||
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:240](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L240)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:241](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L241)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:457](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L457)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:458](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L458)
|
|
||||||
- [coreApiWebdavProperties/copyFile.feature:459](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L459)
|
|
||||||
|
|
||||||
### Won't fix
|
### Won't fix
|
||||||
|
|
||||||
Not everything needs to be implemented for ocis. While the oc10 testsuite covers these things we are not looking at them right now.
|
Not everything needs to be implemented for ocis. While the oc10 testsuite covers these things we are not looking at them right now.
|
||||||
@@ -233,9 +215,9 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers
|
|||||||
### [COPY file/folder to same name is possible (but 500 code error for folder with spaces path)](https://github.com/owncloud/ocis/issues/8711)
|
### [COPY file/folder to same name is possible (but 500 code error for folder with spaces path)](https://github.com/owncloud/ocis/issues/8711)
|
||||||
|
|
||||||
- [coreApiSharePublicLink2/copyFromPublicLink.feature:198](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L198)
|
- [coreApiSharePublicLink2/copyFromPublicLink.feature:198](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L198)
|
||||||
- [coreApiWebdavProperties/copyFile.feature:1064](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1064)
|
- [coreApiWebdavProperties/copyFile.feature:1071](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1071)
|
||||||
- [coreApiWebdavProperties/copyFile.feature:1065](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1065)
|
- [coreApiWebdavProperties/copyFile.feature:1072](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1072)
|
||||||
- [coreApiWebdavProperties/copyFile.feature:1066](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1066)
|
- [coreApiWebdavProperties/copyFile.feature:1073](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1073)
|
||||||
|
|
||||||
Note: always have an empty line at the end of this file.
|
Note: always have an empty line at the end of this file.
|
||||||
The bash script that processes this file requires that the last line has a newline on the end.
|
The bash script that processes this file requires that the last line has a newline on the end.
|
||||||
|
|||||||
@@ -1666,4 +1666,62 @@ class SharingNgContext implements Context {
|
|||||||
public function userRemovesTheLastLinkShareOfSpaceUsingPermissionsEndpointOfGraphApi(string $user, string $space):void {
|
public function userRemovesTheLastLinkShareOfSpaceUsingPermissionsEndpointOfGraphApi(string $user, string $space):void {
|
||||||
$this->featureContext->setResponse($this->removeAccessToSpaceItem($user, 'link', $space, ''));
|
$this->featureContext->setResponse($this->removeAccessToSpaceItem($user, 'link', $space, ''));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $share
|
||||||
|
* @param string $sharee
|
||||||
|
* @param string $sharer
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @throws GuzzleException
|
||||||
|
* @throws JsonException
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function checkIfShareExists(string $share, string $sharee, string $sharer): void {
|
||||||
|
// check share mountpoint
|
||||||
|
$response = GraphHelper::getMySpaces(
|
||||||
|
$this->featureContext->getBaseUrl(),
|
||||||
|
$sharee,
|
||||||
|
$this->featureContext->getPasswordForUser($sharee),
|
||||||
|
"",
|
||||||
|
$this->featureContext->getStepLineRef()
|
||||||
|
);
|
||||||
|
$driveList = HttpRequestHelper::getJsonDecodedResponseBodyContent($response)->value;
|
||||||
|
$foundShareMountpoint = false;
|
||||||
|
foreach ($driveList as $drive) {
|
||||||
|
if ($drive->driveType === "mountpoint" && $drive->name === $share && $drive->root->remoteItem->driveAlias === "personal/" . \strtolower($sharer)) {
|
||||||
|
$foundShareMountpoint = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Assert::assertTrue($foundShareMountpoint, "Share mountpoint '$share' was not found in the drives list.");
|
||||||
|
|
||||||
|
// check share in shared-with-me list
|
||||||
|
$response = GraphHelper::getSharesSharedWithMe(
|
||||||
|
$this->featureContext->getBaseUrl(),
|
||||||
|
$this->featureContext->getStepLineRef(),
|
||||||
|
$sharee,
|
||||||
|
$this->featureContext->getPasswordForUser($sharee)
|
||||||
|
);
|
||||||
|
$sharedWithMeList = HttpRequestHelper::getJsonDecodedResponseBodyContent($response)->value;
|
||||||
|
$foundShareInSharedWithMe = false;
|
||||||
|
foreach ($sharedWithMeList as $item) {
|
||||||
|
if ($item->name === $share && $item->createdBy->user->displayName === $this->featureContext->getDisplayNameForUser($sharer)) {
|
||||||
|
$foundShareInSharedWithMe = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Assert::assertTrue($foundShareInSharedWithMe, "Share '$share' was not found in the shared-with-me list");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Then user :sharee should have a share :share shared by user :sharer
|
||||||
|
*
|
||||||
|
* @param string $sharee
|
||||||
|
* @param string $share
|
||||||
|
* @param string $sharer
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function userShouldHaveShare(string $sharee, string $share, string $sharer): void {
|
||||||
|
$this->checkIfShareExists($share, $sharee, $sharer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ Feature: copy file
|
|||||||
| new |
|
| new |
|
||||||
| spaces |
|
| spaces |
|
||||||
|
|
||||||
@issue-1239 @issue-3874 @skipOnReva
|
@issue-1239 @issue-3874 @issue-9753 @skipOnReva
|
||||||
Scenario Outline: copy a file over the top of an existing folder received as a user share
|
Scenario Outline: copy a file over the top of an existing folder received as a user share
|
||||||
Given using <dav-path-version> DAV path
|
Given using <dav-path-version> DAV path
|
||||||
And user "Brian" has been created with default attributes and without skeleton files
|
And user "Brian" has been created with default attributes and without skeleton files
|
||||||
@@ -230,17 +230,18 @@ Feature: copy file
|
|||||||
| permissionsRole | Editor |
|
| permissionsRole | Editor |
|
||||||
And user "Alice" has a share "BRIAN-Folder" synced
|
And user "Alice" has a share "BRIAN-Folder" synced
|
||||||
When user "Alice" copies file "/textfile1.txt" to "/Shares/BRIAN-Folder" using the WebDAV API
|
When user "Alice" copies file "/textfile1.txt" to "/Shares/BRIAN-Folder" using the WebDAV API
|
||||||
Then the HTTP status code should be "204"
|
Then the HTTP status code should be "400"
|
||||||
And the content of file "/Shares/BRIAN-Folder" for user "Alice" should be "ownCloud test text file 1"
|
And as "Alice" folder "/Shares/BRIAN-Folder/sample-folder" should exist
|
||||||
And as "Alice" folder "/Shares/BRIAN-Folder/sample-folder" should not exist
|
And as "Alice" file "/Shares/BRIAN-Folder" should not exist
|
||||||
And as "Alice" file "/textfile1.txt" should exist
|
And user "Alice" should have a share "BRIAN-Folder" shared by user "Brian"
|
||||||
And user "Alice" should not have any received shares
|
And as "Brian" folder "BRIAN-Folder" should exist
|
||||||
Examples:
|
Examples:
|
||||||
| dav-path-version |
|
| dav-path-version |
|
||||||
| old |
|
| old |
|
||||||
| new |
|
| new |
|
||||||
|
| spaces |
|
||||||
|
|
||||||
@skipOnReva
|
@skipOnReva @issue-9753
|
||||||
Scenario Outline: copy a file over the top of an existing file received as a share
|
Scenario Outline: copy a file over the top of an existing file received as a share
|
||||||
Given using <dav-path-version> DAV path
|
Given using <dav-path-version> DAV path
|
||||||
And user "Alice" has uploaded file with content "file to copy" to "copy.txt"
|
And user "Alice" has uploaded file with content "file to copy" to "copy.txt"
|
||||||
@@ -256,14 +257,15 @@ Feature: copy file
|
|||||||
When user "Alice" copies file "copy.txt" to "Shares/lorem.txt" using the WebDAV API
|
When user "Alice" copies file "copy.txt" to "Shares/lorem.txt" using the WebDAV API
|
||||||
Then the HTTP status code should be "204"
|
Then the HTTP status code should be "204"
|
||||||
And the content of file "Shares/lorem.txt" for user "Alice" should be "file to copy"
|
And the content of file "Shares/lorem.txt" for user "Alice" should be "file to copy"
|
||||||
|
And user "Alice" should have a share "lorem.txt" shared by user "Brian"
|
||||||
And the content of file "lorem.txt" for user "Brian" should be "file to copy"
|
And the content of file "lorem.txt" for user "Brian" should be "file to copy"
|
||||||
And as "Brian" file "lorem.txt" should exist
|
|
||||||
Examples:
|
Examples:
|
||||||
| dav-path-version |
|
| dav-path-version |
|
||||||
| old |
|
| old |
|
||||||
| new |
|
| new |
|
||||||
|
| spaces |
|
||||||
|
|
||||||
@issue-1239 @issue-6999 @skipOnReva
|
@issue-1239 @issue-6999 @issue-9753 @skipOnReva
|
||||||
Scenario Outline: copy a folder over the top of an existing file received as a user share
|
Scenario Outline: copy a folder over the top of an existing file received as a user share
|
||||||
Given using <dav-path-version> DAV path
|
Given using <dav-path-version> DAV path
|
||||||
And user "Brian" has been created with default attributes and without skeleton files
|
And user "Brian" has been created with default attributes and without skeleton files
|
||||||
@@ -277,16 +279,18 @@ Feature: copy file
|
|||||||
And user "Alice" has a share "sharedfile1.txt" synced
|
And user "Alice" has a share "sharedfile1.txt" synced
|
||||||
And user "Alice" has created folder "FOLDER/sample-folder"
|
And user "Alice" has created folder "FOLDER/sample-folder"
|
||||||
When user "Alice" copies folder "/FOLDER" to "/Shares/sharedfile1.txt" using the WebDAV API
|
When user "Alice" copies folder "/FOLDER" to "/Shares/sharedfile1.txt" using the WebDAV API
|
||||||
Then the HTTP status code should be "204"
|
Then the HTTP status code should be "400"
|
||||||
And as "Alice" folder "/FOLDER/sample-folder" should exist
|
And the content of file "Shares/sharedfile1.txt" for user "Alice" should be "file to share"
|
||||||
And as "Alice" folder "/Shares/sharedfile1.txt/sample-folder" should exist
|
And as "Alice" folder "/Shares/sharedfile1.txt" should not exist
|
||||||
And user "Alice" should not have any received shares
|
And user "Alice" should have a share "sharedfile1.txt" shared by user "Brian"
|
||||||
|
And the content of file "sharedfile1.txt" for user "Brian" should be "file to share"
|
||||||
Examples:
|
Examples:
|
||||||
| dav-path-version |
|
| dav-path-version |
|
||||||
| old |
|
| old |
|
||||||
| new |
|
| new |
|
||||||
|
| spaces |
|
||||||
|
|
||||||
@issue-6999 @skipOnReva
|
@issue-6999 @issue-9753 @skipOnReva
|
||||||
Scenario Outline: copy a folder over the top of an existing folder received as a share
|
Scenario Outline: copy a folder over the top of an existing folder received as a share
|
||||||
Given using <dav-path-version> DAV path
|
Given using <dav-path-version> DAV path
|
||||||
And user "Brian" has been created with default attributes and without skeleton files
|
And user "Brian" has been created with default attributes and without skeleton files
|
||||||
@@ -301,14 +305,16 @@ Feature: copy file
|
|||||||
And user "Alice" has a share "BRIAN-Folder" synced
|
And user "Alice" has a share "BRIAN-Folder" synced
|
||||||
And user "Alice" has created folder "FOLDER/alice-folder"
|
And user "Alice" has created folder "FOLDER/alice-folder"
|
||||||
When user "Alice" copies folder "FOLDER" to "Shares/BRIAN-Folder" using the WebDAV API
|
When user "Alice" copies folder "FOLDER" to "Shares/BRIAN-Folder" using the WebDAV API
|
||||||
Then the HTTP status code should be "204"
|
Then the HTTP status code should be "400"
|
||||||
And as "Alice" folder "FOLDER/alice-folder" should exist
|
And as "Alice" folder "Shares/BRIAN-Folder/brian-folder" should exist
|
||||||
And as "Alice" folder "Shares/BRIAN-Folder/alice-folder" should exist
|
And as "Alice" folder "Shares/BRIAN-Folder/alice-folder" should not exist
|
||||||
And as "Alice" folder "Shares/BRIAN-Folder/brian-folder" should not exist
|
And user "Alice" should have a share "BRIAN-Folder" shared by user "Brian"
|
||||||
|
And as "Brian" folder "BRIAN-Folder" should exist
|
||||||
Examples:
|
Examples:
|
||||||
| dav-path-version |
|
| dav-path-version |
|
||||||
| old |
|
| old |
|
||||||
| new |
|
| new |
|
||||||
|
| spaces |
|
||||||
|
|
||||||
@issue-1239 @skipOnReva
|
@issue-1239 @skipOnReva
|
||||||
Scenario Outline: copy a folder into another folder at different level which is received as a user share
|
Scenario Outline: copy a folder into another folder at different level which is received as a user share
|
||||||
@@ -430,7 +436,7 @@ Feature: copy file
|
|||||||
| old |
|
| old |
|
||||||
| new |
|
| new |
|
||||||
|
|
||||||
@issue-1239 @skipOnReva
|
@issue-1239 @issue-9753 @skipOnReva
|
||||||
Scenario Outline: copy a file over the top of an existing folder received as a group share
|
Scenario Outline: copy a file over the top of an existing folder received as a group share
|
||||||
Given using <dav-path-version> DAV path
|
Given using <dav-path-version> DAV path
|
||||||
And user "Brian" has been created with default attributes and without skeleton files
|
And user "Brian" has been created with default attributes and without skeleton files
|
||||||
@@ -447,18 +453,18 @@ Feature: copy file
|
|||||||
| permissionsRole | Editor |
|
| permissionsRole | Editor |
|
||||||
And user "Alice" has a share "BRIAN-Folder" synced
|
And user "Alice" has a share "BRIAN-Folder" synced
|
||||||
When user "Alice" copies file "/textfile1.txt" to "/Shares/BRIAN-Folder" using the WebDAV API
|
When user "Alice" copies file "/textfile1.txt" to "/Shares/BRIAN-Folder" using the WebDAV API
|
||||||
Then the HTTP status code should be "204"
|
Then the HTTP status code should be "400"
|
||||||
And the content of file "/Shares/BRIAN-Folder" for user "Alice" should be "ownCloud test text file 1"
|
And as "Alice" folder "/Shares/BRIAN-Folder/sample-folder" should exist
|
||||||
And as "Alice" folder "/Shares/BRIAN-Folder/sample-folder" should not exist
|
And as "Alice" file "/Shares/BRIAN-Folder" should not exist
|
||||||
And as "Alice" file "/textfile1.txt" should exist
|
And user "Alice" should have a share "BRIAN-Folder" shared by user "Brian"
|
||||||
And user "Alice" should not have any received shares
|
And as "Brian" folder "BRIAN-Folder/sample-folder" should exist
|
||||||
Examples:
|
Examples:
|
||||||
| dav-path-version |
|
| dav-path-version |
|
||||||
| old |
|
| old |
|
||||||
| new |
|
| new |
|
||||||
| spaces |
|
| spaces |
|
||||||
|
|
||||||
@issue-1239 @skipOnReva
|
@issue-1239 @issue-6999 @issue-9753 @skipOnReva
|
||||||
Scenario Outline: copy a folder over the top of an existing file received as a group share
|
Scenario Outline: copy a folder over the top of an existing file received as a group share
|
||||||
Given using <dav-path-version> DAV path
|
Given using <dav-path-version> DAV path
|
||||||
And user "Brian" has been created with default attributes and without skeleton files
|
And user "Brian" has been created with default attributes and without skeleton files
|
||||||
@@ -475,10 +481,11 @@ Feature: copy file
|
|||||||
And user "Alice" has a share "sharedfile1.txt" synced
|
And user "Alice" has a share "sharedfile1.txt" synced
|
||||||
And user "Alice" has created folder "FOLDER/sample-folder"
|
And user "Alice" has created folder "FOLDER/sample-folder"
|
||||||
When user "Alice" copies folder "/FOLDER" to "/Shares/sharedfile1.txt" using the WebDAV API
|
When user "Alice" copies folder "/FOLDER" to "/Shares/sharedfile1.txt" using the WebDAV API
|
||||||
Then the HTTP status code should be "204"
|
Then the HTTP status code should be "400"
|
||||||
And as "Alice" folder "/FOLDER/sample-folder" should exist
|
And as "Alice" file "/Shares/sharedfile1.txt" should exist
|
||||||
And as "Alice" folder "/Shares/sharedfile1.txt/sample-folder" should exist
|
And as "Alice" folder "/Shares/sharedfile1.txt" should not exist
|
||||||
And user "Alice" should not have any received shares
|
And user "Alice" should have a share "sharedfile1.txt" shared by user "Brian"
|
||||||
|
And as "Brian" file "sharedfile1.txt" should exist
|
||||||
Examples:
|
Examples:
|
||||||
| dav-path-version |
|
| dav-path-version |
|
||||||
| old |
|
| old |
|
||||||
|
|||||||
Reference in New Issue
Block a user