diff options
author | Bjoern Schiessle <bjoern@schiessle.org> | 2017-03-23 16:10:53 +0100 |
---|---|---|
committer | Bjoern Schiessle <bjoern@schiessle.org> | 2017-03-24 11:27:01 +0100 |
commit | ee014bddbdb6d60d78cfdceadfe574197b078a4d (patch) | |
tree | 84e4f5d9972f024c3a289d4a18ea35b96d7e00f1 /apps/dav | |
parent | 33867f331cdb1d9c678609e4aacc3166ec937629 (diff) | |
download | nextcloud-server-ee014bddbdb6d60d78cfdceadfe574197b078a4d.tar.gz nextcloud-server-ee014bddbdb6d60d78cfdceadfe574197b078a4d.zip |
fix tests
calling getAbsoluteBundlePath() in the constructor makes other tests fail
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Diffstat (limited to 'apps/dav')
-rw-r--r-- | apps/dav/lib/CardDAV/SyncService.php | 33 | ||||
-rw-r--r-- | apps/dav/tests/unit/CardDAV/SyncServiceTest.php | 3 |
2 files changed, 28 insertions, 8 deletions
diff --git a/apps/dav/lib/CardDAV/SyncService.php b/apps/dav/lib/CardDAV/SyncService.php index b0a4ce81e70..477e912a797 100644 --- a/apps/dav/lib/CardDAV/SyncService.php +++ b/apps/dav/lib/CardDAV/SyncService.php @@ -26,6 +26,7 @@ namespace OCA\DAV\CardDAV; use OC\Accounts\AccountManager; use OCP\AppFramework\Http; +use OCP\ICertificateManager; use OCP\ILogger; use OCP\IUser; use OCP\IUserManager; @@ -68,12 +69,7 @@ class SyncService { $this->userManager = $userManager; $this->logger = $logger; $this->accountManager = $accountManager; - - $certManager = \OC::$server->getCertificateManager(null); - $certPath = $certManager->getAbsoluteBundlePath(); - if (file_exists($certPath)) { - $this->certPath = $certPath; - } + $this->certPath = ''; } /** @@ -142,6 +138,28 @@ class SyncService { } /** + * Check if there is a valid certPath we should use + * + * @return string + */ + protected function getCertPath() { + + // we already have a valid certPath + if ($this->certPath !== '') { + return $this->certPath; + } + + /** @var ICertificateManager $certManager */ + $certManager = \OC::$server->getCertificateManager(null); + $certPath = $certManager->getAbsoluteBundlePath(); + if (file_exists($certPath)) { + $this->certPath = $certPath; + } + + return $this->certPath; + } + + /** * @param string $url * @param string $userName * @param string $sharedSecret @@ -154,9 +172,10 @@ class SyncService { 'password' => $sharedSecret, ]; $client = new Client($settings); + $certPath = $this->getCertPath(); $client->setThrowExceptions(true); - if (strpos($url, 'http://') !== 0 && $this->certPath) { + if ($certPath !== '' && strpos($url, 'http://') !== 0) { $client->addCurlSetting(CURLOPT_CAINFO, $this->certPath); } diff --git a/apps/dav/tests/unit/CardDAV/SyncServiceTest.php b/apps/dav/tests/unit/CardDAV/SyncServiceTest.php index de4e8ead4c0..c06e4857743 100644 --- a/apps/dav/tests/unit/CardDAV/SyncServiceTest.php +++ b/apps/dav/tests/unit/CardDAV/SyncServiceTest.php @@ -179,7 +179,7 @@ class SyncServiceTest extends TestCase { $accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')->disableOriginalConstructor()->getMock(); /** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $ss */ $ss = $this->getMockBuilder(SyncService::class) - ->setMethods(['ensureSystemAddressBookExists', 'requestSyncReport', 'download']) + ->setMethods(['ensureSystemAddressBookExists', 'requestSyncReport', 'download', 'getCertPath']) ->setConstructorArgs([$backend, $userManager, $logger, $accountManager]) ->getMock(); $ss->method('requestSyncReport')->withAnyParameters()->willReturn(['response' => $response, 'token' => 'sync-token-1']); @@ -189,6 +189,7 @@ class SyncServiceTest extends TestCase { 'statusCode' => 200, 'headers' => [] ]); + $ss->method('getCertPath')->willReturn(''); return $ss; } |