summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorSergio Bertolin <sbertolin@solidgear.es>2015-11-11 17:29:38 +0000
committerSergio Bertolin <sbertolin@solidgear.es>2015-11-11 17:29:38 +0000
commiteb6a13c23147eaf7f8aa28cfaacea22ffcf3c43a (patch)
treeead5795e60ae104d4fd667bff47522a504870bb2 /build
parent7aeda7c99a44b66ce122d6a24131648438d51d09 (diff)
downloadnextcloud-server-eb6a13c23147eaf7f8aa28cfaacea22ffcf3c43a.tar.gz
nextcloud-server-eb6a13c23147eaf7f8aa28cfaacea22ffcf3c43a.zip
Added a test including all the fields of the share update and checking output
Diffstat (limited to 'build')
-rw-r--r--build/integration/features/bootstrap/FeatureContext.php51
-rw-r--r--build/integration/features/sharing-v1.feature38
2 files changed, 86 insertions, 3 deletions
diff --git a/build/integration/features/bootstrap/FeatureContext.php b/build/integration/features/bootstrap/FeatureContext.php
index 96f46ce28ed..46c86f1300b 100644
--- a/build/integration/features/bootstrap/FeatureContext.php
+++ b/build/integration/features/bootstrap/FeatureContext.php
@@ -595,7 +595,12 @@ class FeatureContext implements Context, SnippetAcceptingContext {
public function checkPublicSharedFile($filename) {
$client = new Client();
$options = [];
- $url = $this->lastShareData->data[0]->url;
+ if (count($this->lastShareData->data->element) > 0){
+ $url = $this->lastShareData->data[0]->url;
+ }
+ else{
+ $url = $this->lastShareData->data->url;
+ }
$fullUrl = $url . "/download";
$options['save_to'] = "./$filename";
$this->response = $client->get($fullUrl, $options);
@@ -613,7 +618,13 @@ class FeatureContext implements Context, SnippetAcceptingContext {
public function checkPublicSharedFileWithPassword($filename, $password) {
$client = new Client();
$options = [];
- $token = $this->lastShareData->data[0]->token;
+ if (count($this->lastShareData->data->element) > 0){
+ $token = $this->lastShareData->data[0]->token;
+ }
+ else{
+ $token = $this->lastShareData->data->token;
+ }
+
$fullUrl = substr($this->baseUrl, 0, -4) . "public.php/webdav";
$options['auth'] = [$token, $password];
$options['save_to'] = "./$filename";
@@ -645,6 +656,40 @@ class FeatureContext implements Context, SnippetAcceptingContext {
PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode());
}
+ /**
+ * @When /^Updating last share with$/
+ * @param \Behat\Gherkin\Node\TableNode|null $formData
+ */
+ public function updatingLastShare($body) {
+ $share_id = $this->lastShareData->data[0]->id;
+ $fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/apps/files_sharing/api/v{$this->sharingApiVersion}/shares/$share_id";
+ $client = new Client();
+ $options = [];
+ if ($this->currentUser === 'admin') {
+ $options['auth'] = $this->adminUser;
+ } else {
+ $options['auth'] = [$this->currentUser, $this->regularUser];
+ }
+
+ if ($body instanceof \Behat\Gherkin\Node\TableNode) {
+ $fd = $body->getRowsHash();
+ if (array_key_exists('expireDate', $fd)){
+ $dateModification = $fd['expireDate'];
+ $fd['expireDate'] = date('Y-m-d', strtotime($dateModification));
+ }
+ $options['body'] = $fd;
+ }
+
+ try {
+ $this->response = $client->send($client->createRequest("PUT", $fullUrl, $options));
+ } catch (\GuzzleHttp\Exception\ClientException $ex) {
+ $this->response = $ex->getResponse();
+ }
+
+ PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode());
+ }
+
+
public function createShare($user,
$path = null,
$shareType = null,
@@ -718,6 +763,7 @@ class FeatureContext implements Context, SnippetAcceptingContext {
return True;
}
}
+
return False;
} else {
if ($contentExpected == "A_TOKEN"){
@@ -821,6 +867,7 @@ class FeatureContext implements Context, SnippetAcceptingContext {
public function checkShareFields($body){
if ($body instanceof \Behat\Gherkin\Node\TableNode) {
$fd = $body->getRowsHash();
+
foreach($fd as $field => $value) {
PHPUnit_Framework_Assert::assertEquals(True, $this->isFieldInResponse($field, $value));
}
diff --git a/build/integration/features/sharing-v1.feature b/build/integration/features/sharing-v1.feature
index 4ca1966b942..df75a25e8e7 100644
--- a/build/integration/features/sharing-v1.feature
+++ b/build/integration/features/sharing-v1.feature
@@ -72,11 +72,47 @@ Feature: sharing
| path | welcome.txt |
| shareType | 3 |
| password | publicpw |
- And Adding expiration date to last share
+ #And Adding expiration date to last share
+ And Updating last share with
+ | expireDate | +3 days |
Then the OCS status code should be "100"
And the HTTP status code should be "200"
And Public shared file "welcome.txt" with password "publicpw" can be downloaded
+ Scenario: Creating a new public share, updating it and getting it's info
+ Given user "user0" exists
+ And As an "user0"
+ When creating a public share with
+ | path | FOLDER |
+ | shareType | 3 |
+ And Updating last share with
+ | expireDate | +3 days |
+ | password | publicpw |
+ | publicUpload | true |
+ | permissions | 7 |
+ And Getting info of last share
+ Then the OCS status code should be "100"
+ And the HTTP status code should be "200"
+ And Share fields of last share match with
+ | id | A_NUMBER |
+ | item_type | folder |
+ | item_source | A_NUMBER |
+ | share_type | 3 |
+ | file_source | A_NUMBER |
+ | file_target | /FOLDER |
+ | permissions | 7 |
+ | stime | A_NUMBER |
+ | expiration | +3 days |
+ | token | A_TOKEN |
+ | storage | A_NUMBER |
+ | mail_send | 0 |
+ | uid_owner | user0 |
+ | storage_id | home::user0 |
+ | file_parent | A_NUMBER |
+ | displayname_owner | user0 |
+ | url | AN_URL |
+
+
Scenario: getting all shares of a user using that user
Given user "user0" exists
And user "user1" exists