fix tests
calling getAbsoluteBundlePath() in the constructor makes other tests fail Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
33867f331c
commit
ee014bddbd
|
@ -26,6 +26,7 @@ namespace OCA\DAV\CardDAV;
|
||||||
|
|
||||||
use OC\Accounts\AccountManager;
|
use OC\Accounts\AccountManager;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
|
use OCP\ICertificateManager;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
|
@ -68,12 +69,7 @@ class SyncService {
|
||||||
$this->userManager = $userManager;
|
$this->userManager = $userManager;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
$this->accountManager = $accountManager;
|
$this->accountManager = $accountManager;
|
||||||
|
$this->certPath = '';
|
||||||
$certManager = \OC::$server->getCertificateManager(null);
|
|
||||||
$certPath = $certManager->getAbsoluteBundlePath();
|
|
||||||
if (file_exists($certPath)) {
|
|
||||||
$this->certPath = $certPath;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -141,6 +137,28 @@ class SyncService {
|
||||||
return $this->backend->getAddressBooksByUri($principal, $id);
|
return $this->backend->getAddressBooksByUri($principal, $id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 $url
|
||||||
* @param string $userName
|
* @param string $userName
|
||||||
|
@ -154,9 +172,10 @@ class SyncService {
|
||||||
'password' => $sharedSecret,
|
'password' => $sharedSecret,
|
||||||
];
|
];
|
||||||
$client = new Client($settings);
|
$client = new Client($settings);
|
||||||
|
$certPath = $this->getCertPath();
|
||||||
$client->setThrowExceptions(true);
|
$client->setThrowExceptions(true);
|
||||||
|
|
||||||
if (strpos($url, 'http://') !== 0 && $this->certPath) {
|
if ($certPath !== '' && strpos($url, 'http://') !== 0) {
|
||||||
$client->addCurlSetting(CURLOPT_CAINFO, $this->certPath);
|
$client->addCurlSetting(CURLOPT_CAINFO, $this->certPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ class SyncServiceTest extends TestCase {
|
||||||
$accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')->disableOriginalConstructor()->getMock();
|
$accountManager = $this->getMockBuilder('OC\Accounts\AccountManager')->disableOriginalConstructor()->getMock();
|
||||||
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $ss */
|
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $ss */
|
||||||
$ss = $this->getMockBuilder(SyncService::class)
|
$ss = $this->getMockBuilder(SyncService::class)
|
||||||
->setMethods(['ensureSystemAddressBookExists', 'requestSyncReport', 'download'])
|
->setMethods(['ensureSystemAddressBookExists', 'requestSyncReport', 'download', 'getCertPath'])
|
||||||
->setConstructorArgs([$backend, $userManager, $logger, $accountManager])
|
->setConstructorArgs([$backend, $userManager, $logger, $accountManager])
|
||||||
->getMock();
|
->getMock();
|
||||||
$ss->method('requestSyncReport')->withAnyParameters()->willReturn(['response' => $response, 'token' => 'sync-token-1']);
|
$ss->method('requestSyncReport')->withAnyParameters()->willReturn(['response' => $response, 'token' => 'sync-token-1']);
|
||||||
|
@ -189,6 +189,7 @@ class SyncServiceTest extends TestCase {
|
||||||
'statusCode' => 200,
|
'statusCode' => 200,
|
||||||
'headers' => []
|
'headers' => []
|
||||||
]);
|
]);
|
||||||
|
$ss->method('getCertPath')->willReturn('');
|
||||||
return $ss;
|
return $ss;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue