From f039ba748032a78e70845adad9152730715a8219 Mon Sep 17 00:00:00 2001 From: Julius Härtl Date: Thu, 15 Jun 2017 21:51:51 +0200 Subject: Add tests and inject IRequest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- tests/lib/UrlGeneratorTest.php | 77 +++++++++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 27 deletions(-) (limited to 'tests') diff --git a/tests/lib/UrlGeneratorTest.php b/tests/lib/UrlGeneratorTest.php index 28fd2d336d2..69067f51e08 100644 --- a/tests/lib/UrlGeneratorTest.php +++ b/tests/lib/UrlGeneratorTest.php @@ -9,6 +9,8 @@ namespace Test; use OCP\ICacheFactory; use OCP\IConfig; +use OCP\IRequest; +use OCP\IURLGenerator; /** * Class UrlGeneratorTest @@ -17,6 +19,37 @@ use OCP\IConfig; */ class UrlGeneratorTest extends \Test\TestCase { + /** @var \PHPUnit_Framework_MockObject_MockObject|IConfig */ + private $config; + /** @var \PHPUnit_Framework_MockObject_MockObject|ICacheFactory */ + private $cacheFactory; + /** @var \PHPUnit_Framework_MockObject_MockObject|IRequest */ + private $request; + /** @var IURLGenerator */ + private $urlGenerator; + + public function setUp() { + parent::setUp(); + $this->config = $this->createMock(IConfig::class); + $this->cacheFactory = $this->createMock(ICacheFactory::class); + $this->request = $this->createMock(IRequest::class); + $this->urlGenerator = new \OC\URLGenerator( + $this->config, + $this->cacheFactory, + $this->request + ); + } + + private function mockBaseUrl() { + $this->request->expects($this->once()) + ->method('getServerProtocol') + ->willReturn('http'); + $this->request->expects($this->once()) + ->method('getServerHost') + ->willReturn('localhost'); + + } + /** * @small * test linkTo URL construction @@ -24,11 +57,7 @@ class UrlGeneratorTest extends \Test\TestCase { */ public function testLinkToDocRoot($app, $file, $args, $expectedResult) { \OC::$WEBROOT = ''; - $config = $this->createMock(IConfig::class); - $cacheFactory = $this->createMock(ICacheFactory::class); - $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); - $result = $urlGenerator->linkTo($app, $file, $args); - + $result = $this->urlGenerator->linkTo($app, $file, $args); $this->assertEquals($expectedResult, $result); } @@ -39,11 +68,7 @@ class UrlGeneratorTest extends \Test\TestCase { */ public function testLinkToSubDir($app, $file, $args, $expectedResult) { \OC::$WEBROOT = '/owncloud'; - $config = $this->createMock(IConfig::class); - $cacheFactory = $this->createMock(ICacheFactory::class); - $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); - $result = $urlGenerator->linkTo($app, $file, $args); - + $result = $this->urlGenerator->linkTo($app, $file, $args); $this->assertEquals($expectedResult, $result); } @@ -51,13 +76,10 @@ class UrlGeneratorTest extends \Test\TestCase { * @dataProvider provideRoutes */ public function testLinkToRouteAbsolute($route, $expected) { + $this->mockBaseUrl(); \OC::$WEBROOT = '/owncloud'; - $config = $this->createMock(IConfig::class); - $cacheFactory = $this->createMock(ICacheFactory::class); - $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); - $result = $urlGenerator->linkToRouteAbsolute($route); + $result = $this->urlGenerator->linkToRouteAbsolute($route); $this->assertEquals($expected, $result); - } public function provideRoutes() { @@ -89,13 +111,9 @@ class UrlGeneratorTest extends \Test\TestCase { * @dataProvider provideDocRootURLs */ function testGetAbsoluteURLDocRoot($url, $expectedResult) { - + $this->mockBaseUrl(); \OC::$WEBROOT = ''; - $config = $this->createMock(IConfig::class); - $cacheFactory = $this->createMock(ICacheFactory::class); - $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); - $result = $urlGenerator->getAbsoluteURL($url); - + $result = $this->urlGenerator->getAbsoluteURL($url); $this->assertEquals($expectedResult, $result); } @@ -105,13 +123,9 @@ class UrlGeneratorTest extends \Test\TestCase { * @dataProvider provideSubDirURLs */ function testGetAbsoluteURLSubDir($url, $expectedResult) { - + $this->mockBaseUrl(); \OC::$WEBROOT = '/owncloud'; - $config = $this->createMock(IConfig::class); - $cacheFactory = $this->createMock(ICacheFactory::class); - $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); - $result = $urlGenerator->getAbsoluteURL($url); - + $result = $this->urlGenerator->getAbsoluteURL($url); $this->assertEquals($expectedResult, $result); } @@ -132,5 +146,14 @@ class UrlGeneratorTest extends \Test\TestCase { array("apps/index.php", "http://localhost/owncloud/apps/index.php"), ); } + + public function testGetBaseUrl() { + $this->mockBaseUrl(); + \OC::$WEBROOT = '/nextcloud'; + $actual = $this->urlGenerator->getBaseUrl(); + $expected = "http://localhost/nextcloud"; + $this->assertEquals($expected, $actual); + } + } -- cgit v1.2.3