Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2017-11-29 18:28:38 +0300
committerRoeland Jago Douma <roeland@famdouma.nl>2017-11-29 18:37:54 +0300
commitd24b6866b1624666af751dfd6cdb25e49c591edd (patch)
treea77ec1c73d0ede0c7fbd1fa401b089e16c6cb6af /apps/federation/tests
parenta9eb0d4a4084d9590cb954f385af0137ce399ca3 (diff)
Actually set the status so we don't cause another exception
* And add tests so I don't mess up again Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/federation/tests')
-rw-r--r--apps/federation/tests/BackgroundJob/GetSharedSecretTest.php38
-rw-r--r--apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php38
2 files changed, 76 insertions, 0 deletions
diff --git a/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php b/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php
index fca64faebe4..2058b2592c8 100644
--- a/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php
+++ b/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php
@@ -28,6 +28,7 @@
namespace OCA\Federation\Tests\BackgroundJob;
+use GuzzleHttp\Exception\ConnectException;
use OCA\Federation\BackgroundJob\GetSharedSecret;
use OCA\Files_Sharing\Tests\TestCase;
use OCA\Federation\DbHandler;
@@ -277,4 +278,41 @@ class GetSharedSecretTest extends TestCase {
$this->invokePrivate($this->getSharedSecret, 'run', [$argument]);
}
+
+ public function testRunConnectionError() {
+ $target = 'targetURL';
+ $source = 'sourceURL';
+ $token = 'token';
+
+ $argument = ['url' => $target, 'token' => $token];
+
+ $this->timeFactory->method('getTime')
+ ->willReturn(42);
+
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('getAbsoluteURL')
+ ->with('/')
+ ->willReturn($source);
+ $this->httpClient->expects($this->once())->method('get')
+ ->with(
+ $target . '/ocs/v2.php/apps/federation/api/v1/shared-secret?format=json',
+ [
+ 'query' =>
+ [
+ 'url' => $source,
+ 'token' => $token
+ ],
+ 'timeout' => 3,
+ 'connect_timeout' => 3,
+ ]
+ )->willThrowException($this->createMock(ConnectException::class));
+
+ $this->dbHandler->expects($this->never())->method('addToken');
+ $this->trustedServers->expects($this->never())->method('addSharedSecret');
+
+ $this->invokePrivate($this->getSharedSecret, 'run', [$argument]);
+
+ $this->assertTrue($this->invokePrivate($this->getSharedSecret, 'retainJob'));
+ }
}
diff --git a/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php b/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php
index 33133e3b12f..57a85f1be0b 100644
--- a/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php
+++ b/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php
@@ -27,6 +27,7 @@
namespace OCA\Federation\Tests\BackgroundJob;
+use GuzzleHttp\Exception\ConnectException;
use OCA\Federation\BackgroundJob\RequestSharedSecret;
use OCA\Federation\DbHandler;
use OCA\Federation\TrustedServers;
@@ -262,4 +263,41 @@ class RequestSharedSecretTest extends TestCase {
$this->invokePrivate($this->requestSharedSecret, 'run', [$argument]);
}
+
+ public function testRunConnectionError() {
+ $target = 'targetURL';
+ $source = 'sourceURL';
+ $token = 'token';
+
+ $argument = ['url' => $target, 'token' => $token];
+
+ $this->timeFactory->method('getTime')->willReturn(42);
+
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('getAbsoluteURL')
+ ->with('/')
+ ->willReturn($source);
+
+ $this->httpClient
+ ->expects($this->once())
+ ->method('post')
+ ->with(
+ $target . '/ocs/v2.php/apps/federation/api/v1/request-shared-secret?format=json',
+ [
+ 'body' =>
+ [
+ 'url' => $source,
+ 'token' => $token
+ ],
+ 'timeout' => 3,
+ 'connect_timeout' => 3,
+ ]
+ )->willThrowException($this->createMock(ConnectException::class));
+
+ $this->dbHandler->expects($this->never())->method('addToken');
+
+ $this->invokePrivate($this->requestSharedSecret, 'run', [$argument]);
+ $this->assertTrue($this->invokePrivate($this->requestSharedSecret, 'retainJob'));
+ }
}