1
0
mirror of https://github.com/owncloud/bookmarks.git synced 2025-02-19 16:54:27 +01:00

adjust unit test

This commit is contained in:
Arthur Schiwon 2016-04-24 22:09:35 +02:00
parent 1dc98e7067
commit 3428c3638a
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23

View File

@ -96,14 +96,41 @@ class Test_LibBookmarks_Bookmarks extends PHPUnit_Framework_TestCase {
$config = $this->getMockBuilder('\OCP\IConfig') $config = $this->getMockBuilder('\OCP\IConfig')
->disableOriginalConstructor()->getMock(); ->disableOriginalConstructor()->getMock();
$clientService = $this->getMock('OCP\Http\Client\IClientService'); $amazonResponse = $this->getMock('OCP\Http\Client\IResponse');
$httpHelperMock = $this->getMockBuilder('\OC\HTTPHelper') $amazonResponse->expects($this->once())
->setConstructorArgs(array($config, $clientService)) ->method('getBody')
->getMock(); ->will($this->returnValue(file_get_contents(__DIR__ . '/res/amazonHtml.file')));
$returnAmazonDe = file_get_contents(__DIR__ . '/res/amazonHtml.file'); $amazonResponse->expects($this->once())
$returnGolemDe = file_get_contents(__DIR__ . '/res/golemHtml.file'); ->method('getHeader')
$httpHelperMock->expects($this->any())->method('getUrlContent')->with($this->anything())->will($this->onConsecutiveCalls($returnAmazonDe, $returnGolemDe)); ->with('Content-Type')
$this->registerHttpHelper($httpHelperMock); ->will($this->returnValue(''));
$golemResponse = $this->getMock('OCP\Http\Client\IResponse');
$golemResponse->expects($this->once())
->method('getBody')
->will($this->returnValue(file_get_contents(__DIR__ . '/res/golemHtml.file')));
$golemResponse->expects($this->once())
->method('getHeader')
->with('Content-Type')
->will($this->returnValue('text/html; charset=UTF-8'));
$clientMock = $this->getMock('OCP\Http\Client\IClient');
$clientMock->expects($this->exactly(2))
->method('get')
->will($this->returnCallback(function ($page) use($amazonResponse, $golemResponse) {
if($page === 'amazonHtml') {
return $amazonResponse;
} else if($page === 'golemHtml') {
return $golemResponse;
}
}));
$clientServiceMock = $this->getMock('OCP\Http\Client\IClientService');
$clientServiceMock->expects($this->any())
->method('newClient')
->will($this->returnValue($clientMock));
$this->registerHttpService($clientServiceMock);
$metadataAmazon = Bookmarks::getURLMetadata('amazonHtml'); $metadataAmazon = Bookmarks::getURLMetadata('amazonHtml');
$this->assertTrue($metadataAmazon['url'] == 'amazonHtml'); $this->assertTrue($metadataAmazon['url'] == 'amazonHtml');
@ -126,13 +153,13 @@ class Test_LibBookmarks_Bookmarks extends PHPUnit_Framework_TestCase {
} }
/** /**
* Register an http helper mock for testing purposes. * Register an http service mock for testing purposes.
* @param $httpHelper http helper mock *
* @param \OCP\Http\Client\IClientService $service
*/ */
private function registerHttpHelper($httpHelper) { private function registerHttpService($service) {
$this->oldHttpHelper = \OC::$server->query('HTTPHelper'); \OC::$server->registerService('HttpClientService', function () use ($service) {
\OC::$server->registerService('HTTPHelper', function () use ($httpHelper) { return $service;
return $httpHelper;
}); });
} }