summaryrefslogtreecommitdiffstats
path: root/build/integration/features
diff options
context:
space:
mode:
Diffstat (limited to 'build/integration/features')
-rw-r--r--build/integration/features/bootstrap/FederationContext.php33
-rw-r--r--build/integration/features/bootstrap/Sharing.php11
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");
}