diff options
Diffstat (limited to 'build/integration/features')
-rw-r--r-- | build/integration/features/bootstrap/FederationContext.php | 33 | ||||
-rw-r--r-- | build/integration/features/bootstrap/Sharing.php | 11 |
2 files changed, 43 insertions, 1 deletions
diff --git a/build/integration/features/bootstrap/FederationContext.php b/build/integration/features/bootstrap/FederationContext.php index 279b5206dee..5a7c2dd2ffb 100644 --- a/build/integration/features/bootstrap/FederationContext.php +++ b/build/integration/features/bootstrap/FederationContext.php @@ -20,8 +20,39 @@ class FederationContext implements Context, SnippetAcceptingContext { * @When /^User "([^"]*)" from server "([^"]*)" shares "([^"]*)" with user "([^"]*)" from server "([^"]*)"$/ */ public function federateSharing($userLocal, $serverLocal, $pathLocal, $userRemote, $serverRemote){ - $shareWith = "$userRemote@" . substr($this->remoteBaseUrl, 0, -4); + if ($serverRemote == "REMOTE"){ + $shareWith = "$userRemote@" . substr($this->remoteBaseUrl, 0, -4); + } elseif ($serverRemote == "LOCAL") { + $shareWith = "$userRemote@" . substr($this->localBaseUrl, 0, -4); + } $this->createShare($userLocal, $pathLocal, 6, $shareWith, null, null, null); } + /** + * @When /^User "([^"]*)" from server "([^"]*)" accepts last pending share$/ + */ + public function acceptLastPendingShare($user, $server){ + $this->usingServer($server); + $this->asAn($user); + $this->sendingToWith('GET', "/apps/files_sharing/api/v1/remote_shares/pending", null); + $this->theHTTPStatusCodeShouldBe('200'); + $this->theOCSStatusCodeShouldBe('100'); + $share_id = $this->response->xml()->data[0]->element[0]->id; + $this->sendingToWith('POST', "/apps/files_sharing/api/v1/remote_shares/pending/{$share_id}", null); + $this->theHTTPStatusCodeShouldBe('200'); + $this->theOCSStatusCodeShouldBe('100'); + } + + /** + * @param string $app + * @param string $parameter + * @param string $value + */ + protected function modifyServerConfig($app, $parameter, $value) { + $body = new \Behat\Gherkin\Node\TableNode([['value', $value]]); + $this->sendingToWith('post', "/apps/testing/api/v1/app/{$app}/{$parameter}", $body); + $this->theHTTPStatusCodeShouldBe('200'); + $this->theOCSStatusCodeShouldBe('100'); + } + } diff --git a/build/integration/features/bootstrap/Sharing.php b/build/integration/features/bootstrap/Sharing.php index da2e9ca1094..c9dcc505b43 100644 --- a/build/integration/features/bootstrap/Sharing.php +++ b/build/integration/features/bootstrap/Sharing.php @@ -225,6 +225,9 @@ trait Sharing{ elseif ((string)$element->$field == $contentExpected){ return True; } + else{ + print($element->$field); + } } return False; @@ -374,6 +377,14 @@ trait Sharing{ $fd = $body->getRowsHash(); foreach($fd as $field => $value) { + if (substr($field, 0, 10 ) === "share_with"){ + $value = str_replace("REMOTE", substr($this->remoteBaseUrl, 0, -5), $value); + $value = str_replace("LOCAL", substr($this->localBaseUrl, 0, -5), $value); + } + if (substr($field, 0, 6 ) === "remote"){ + $value = str_replace("REMOTE", substr($this->remoteBaseUrl, 0, -4), $value); + $value = str_replace("LOCAL", substr($this->localBaseUrl, 0, -4), $value); + } if (!$this->isFieldInResponse($field, $value)){ PHPUnit_Framework_Assert::fail("$field" . " doesn't have value " . "$value"); } |