]> git.mxchange.org Git - friendica.git/blob - tests/src/Util/Router/FriendicaGroupCountBasedTest.php
Automatically return allowed HTTP methods for OPTIONS per specific endpoint
[friendica.git] / tests / src / Util / Router / FriendicaGroupCountBasedTest.php
1 <?php
2
3 namespace Friendica\Test\src\Util\Router;
4
5 use FastRoute\DataGenerator\GroupCountBased;
6 use FastRoute\RouteCollector;
7 use FastRoute\RouteParser\Std;
8 use Friendica\Module\Special\Options;
9 use Friendica\Test\MockedTest;
10 use Friendica\Util\Router\FriendicaGroupCountBased;
11
12 class FriendicaGroupCountBasedTest extends MockedTest
13 {
14         public function testOptions()
15         {
16                 $collector = new RouteCollector(new Std(), new GroupCountBased());
17                 $collector->addRoute('GET', '/get', Options::class);
18                 $collector->addRoute('POST', '/post', Options::class);
19                 $collector->addRoute('GET', '/multi', Options::class);
20                 $collector->addRoute('POST', '/multi', Options::class);
21
22                 $dispatcher = new FriendicaGroupCountBased($collector->getData());
23
24                 self::assertEquals(['GET'], $dispatcher->getOptions('/get'));
25                 self::assertEquals(['POST'], $dispatcher->getOptions('/post'));
26                 self::assertEquals(['GET', 'POST'], $dispatcher->getOptions('/multi'));
27         }
28 }