]> git.mxchange.org Git - friendica.git/blobdiff - tests/src/App/RouterTest.php
Replaced most "api_get_user" calls with newer BaseApi calls
[friendica.git] / tests / src / App / RouterTest.php
index 064e37a12a13808d5db3a2c86dd696ed5abb8386..f74ea423f04ce114605e6dee53482d683460b57c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2021, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
 namespace Friendica\Test\src\App;
 
 use Friendica\App\Router;
+use Friendica\Core\Cache\Capability\ICanCache;
 use Friendica\Core\L10n;
+use Friendica\Core\Lock\Capability\ICanLock;
 use Friendica\Module;
 use Friendica\Network\HTTPException\MethodNotAllowedException;
 use Friendica\Network\HTTPException\NotFoundException;
+use Mockery;
 use Mockery\MockInterface;
 use PHPUnit\Framework\TestCase;
 
@@ -33,18 +36,34 @@ class RouterTest extends TestCase
 {
        /** @var L10n|MockInterface */
        private $l10n;
+       /**
+        * @var ICanCache
+        */
+       private $cache;
+       /**
+        * @var ICanLock
+        */
+       private $lock;
 
-       protected function setUp()
+       protected function setUp() : void
        {
                parent::setUp();
 
-               $this->l10n = \Mockery::mock(L10n::class);
+               $this->l10n = Mockery::mock(L10n::class);
                $this->l10n->shouldReceive('t')->andReturnUsing(function ($args) { return $args; });
+
+               $this->cache = Mockery::mock(ICanCache::class);
+               $this->cache->shouldReceive('get')->andReturn(null);
+               $this->cache->shouldReceive('set')->andReturn(false);
+
+               $this->lock = Mockery::mock(ICanLock::class);
+               $this->lock->shouldReceive('acquire')->andReturn(true);
+               $this->lock->shouldReceive('isLocked')->andReturn(false);
        }
 
        public function testGetModuleClass()
        {
-               $router = new Router(['REQUEST_METHOD' => Router::GET], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::GET], '', $this->l10n, $this->cache, $this->lock);
 
                $routeCollector = $router->getRouteCollector();
                $routeCollector->addRoute([Router::GET], '/', 'IndexModuleClassName');
@@ -55,20 +74,20 @@ class RouterTest extends TestCase
                $routeCollector->addRoute([Router::GET], '/variable/{var}', 'VariableModuleClassName');
                $routeCollector->addRoute([Router::GET], '/optionalvariable[/{option}]', 'OptionalVariableModuleClassName');
 
-               $this->assertEquals('IndexModuleClassName', $router->getModuleClass('/'));
-               $this->assertEquals('TestModuleClassName', $router->getModuleClass('/test'));
-               $this->assertEquals('TestGetPostModuleClassName', $router->getModuleClass('/testgetpost'));
-               $this->assertEquals('TestSubModuleClassName', $router->getModuleClass('/test/sub'));
-               $this->assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional'));
-               $this->assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional/option'));
-               $this->assertEquals('VariableModuleClassName', $router->getModuleClass('/variable/123abc'));
-               $this->assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable'));
-               $this->assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable/123abc'));
+               self::assertEquals('IndexModuleClassName', $router->getModuleClass('/'));
+               self::assertEquals('TestModuleClassName', $router->getModuleClass('/test'));
+               self::assertEquals('TestGetPostModuleClassName', $router->getModuleClass('/testgetpost'));
+               self::assertEquals('TestSubModuleClassName', $router->getModuleClass('/test/sub'));
+               self::assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional'));
+               self::assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional/option'));
+               self::assertEquals('VariableModuleClassName', $router->getModuleClass('/variable/123abc'));
+               self::assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable'));
+               self::assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable/123abc'));
        }
 
        public function testPostModuleClass()
        {
-               $router = new Router(['REQUEST_METHOD' => Router::POST], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::POST], '', $this->l10n, $this->cache, $this->lock);
 
                $routeCollector = $router->getRouteCollector();
                $routeCollector->addRoute([Router::POST], '/', 'IndexModuleClassName');
@@ -79,22 +98,22 @@ class RouterTest extends TestCase
                $routeCollector->addRoute([Router::POST], '/variable/{var}', 'VariableModuleClassName');
                $routeCollector->addRoute([Router::POST], '/optionalvariable[/{option}]', 'OptionalVariableModuleClassName');
 
-               $this->assertEquals('IndexModuleClassName', $router->getModuleClass('/'));
-               $this->assertEquals('TestModuleClassName', $router->getModuleClass('/test'));
-               $this->assertEquals('TestGetPostModuleClassName', $router->getModuleClass('/testgetpost'));
-               $this->assertEquals('TestSubModuleClassName', $router->getModuleClass('/test/sub'));
-               $this->assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional'));
-               $this->assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional/option'));
-               $this->assertEquals('VariableModuleClassName', $router->getModuleClass('/variable/123abc'));
-               $this->assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable'));
-               $this->assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable/123abc'));
+               self::assertEquals('IndexModuleClassName', $router->getModuleClass('/'));
+               self::assertEquals('TestModuleClassName', $router->getModuleClass('/test'));
+               self::assertEquals('TestGetPostModuleClassName', $router->getModuleClass('/testgetpost'));
+               self::assertEquals('TestSubModuleClassName', $router->getModuleClass('/test/sub'));
+               self::assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional'));
+               self::assertEquals('OptionalModuleClassName', $router->getModuleClass('/optional/option'));
+               self::assertEquals('VariableModuleClassName', $router->getModuleClass('/variable/123abc'));
+               self::assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable'));
+               self::assertEquals('OptionalVariableModuleClassName', $router->getModuleClass('/optionalvariable/123abc'));
        }
 
        public function testGetModuleClassNotFound()
        {
                $this->expectException(NotFoundException::class);
 
-               $router = new Router(['REQUEST_METHOD' => Router::GET], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::GET], '', $this->l10n, $this->cache, $this->lock);
 
                $router->getModuleClass('/unsupported');
        }
@@ -103,7 +122,7 @@ class RouterTest extends TestCase
        {
                $this->expectException(NotFoundException::class);
 
-               $router = new Router(['REQUEST_METHOD' => Router::GET], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::GET], '', $this->l10n, $this->cache, $this->lock);
 
                $routeCollector = $router->getRouteCollector();
                $routeCollector->addRoute([Router::GET], '/test', 'TestModuleClassName');
@@ -115,7 +134,7 @@ class RouterTest extends TestCase
        {
                $this->expectException(NotFoundException::class);
 
-               $router = new Router(['REQUEST_METHOD' => Router::GET], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::GET], '', $this->l10n, $this->cache, $this->lock);
 
                $routeCollector = $router->getRouteCollector();
                $routeCollector->addRoute([Router::GET], '/optional[/option]', 'OptionalModuleClassName');
@@ -127,7 +146,7 @@ class RouterTest extends TestCase
        {
                $this->expectException(NotFoundException::class);
 
-               $router = new Router(['REQUEST_METHOD' => Router::GET], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::GET], '', $this->l10n, $this->cache, $this->lock);
 
                $routeCollector = $router->getRouteCollector();
                $routeCollector->addRoute([Router::GET], '/variable/{var}', 'VariableModuleClassName');
@@ -139,7 +158,7 @@ class RouterTest extends TestCase
        {
                $this->expectException(MethodNotAllowedException::class);
 
-               $router = new Router(['REQUEST_METHOD' => Router::POST], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::POST], '', $this->l10n, $this->cache, $this->lock);
 
                $routeCollector = $router->getRouteCollector();
                $routeCollector->addRoute([Router::GET], '/test', 'TestModuleClassName');
@@ -151,7 +170,7 @@ class RouterTest extends TestCase
        {
                $this->expectException(MethodNotAllowedException::class);
 
-               $router = new Router(['REQUEST_METHOD' => Router::GET], $this->l10n);
+               $router = new Router(['REQUEST_METHOD' => Router::GET], '', $this->l10n, $this->cache, $this->lock);
 
                $routeCollector = $router->getRouteCollector();
                $routeCollector->addRoute([Router::POST], '/test', 'TestModuleClassName');
@@ -176,7 +195,7 @@ class RouterTest extends TestCase
                                                ],
                                        ],
                                        '/post' => [
-                                               '/it' => [Module\NodeInfo::class, [Router::POST]],
+                                               '/it' => [Module\WellKnown\NodeInfo::class, [Router::POST]],
                                        ],
                                        '/double' => [Module\Profile\Index::class, [Router::GET, Router::POST]]
                                ],
@@ -189,14 +208,18 @@ class RouterTest extends TestCase
         */
        public function testGetRoutes(array $routes)
        {
-               $router = (new Router([
-                       'REQUEST_METHOD' => Router::GET
-               ], $this->l10n))->loadRoutes($routes);
-
-               $this->assertEquals(Module\Home::class, $router->getModuleClass('/'));
-               $this->assertEquals(Module\Friendica::class, $router->getModuleClass('/group/route'));
-               $this->assertEquals(Module\Xrd::class, $router->getModuleClass('/group2/group3/route'));
-               $this->assertEquals(Module\Profile\Index::class, $router->getModuleClass('/double'));
+               $router = (new Router(
+                       ['REQUEST_METHOD' => Router::GET],
+                       '',
+                       $this->l10n,
+                       $this->cache,
+                       $this->lock
+               ))->loadRoutes($routes);
+
+               self::assertEquals(Module\Home::class, $router->getModuleClass('/'));
+               self::assertEquals(Module\Friendica::class, $router->getModuleClass('/group/route'));
+               self::assertEquals(Module\Xrd::class, $router->getModuleClass('/group2/group3/route'));
+               self::assertEquals(Module\Profile\Index::class, $router->getModuleClass('/double'));
        }
 
        /**
@@ -206,10 +229,10 @@ class RouterTest extends TestCase
        {
                $router = (new Router([
                        'REQUEST_METHOD' => Router::POST
-               ], $this->l10n))->loadRoutes($routes);
+               ], '', $this->l10n, $this->cache, $this->lock))->loadRoutes($routes);
 
                // Don't find GET
-               $this->assertEquals(Module\NodeInfo::class, $router->getModuleClass('/post/it'));
-               $this->assertEquals(Module\Profile\Index::class, $router->getModuleClass('/double'));
+               self::assertEquals(Module\WellKnown\NodeInfo::class, $router->getModuleClass('/post/it'));
+               self::assertEquals(Module\Profile\Index::class, $router->getModuleClass('/double'));
        }
 }