From 4115fb05d990a8cdf7fdea3ea20ded735eb2f6d5 Mon Sep 17 00:00:00 2001 From: Adam Kadlec Date: Sun, 9 Aug 2020 11:55:05 +0200 Subject: [PATCH] Securing edpoints --- src/Controllers/ActionsV1Controller.php | 12 +++++ src/Controllers/ConditionsV1Controller.php | 12 +++++ src/Controllers/NotificationsV1Controller.php | 12 +++++ src/Controllers/TriggersV1Controller.php | 12 +++++ .../Controllers/ActionsV1ControllerTest.phpt | 46 +++++++++++++++---- .../ConditionsV1ControllerTest.phpt | 46 +++++++++++++++---- .../NotificationsV1ControllerTest.phpt | 46 +++++++++++++++---- .../Controllers/TriggersV1ControllerTest.phpt | 46 +++++++++++++++---- tests/fixtures/Controllers/actionsCreate.php | 9 ++++ tests/fixtures/Controllers/actionsDelete.php | 7 +++ tests/fixtures/Controllers/actionsRead.php | 12 +++++ tests/fixtures/Controllers/actionsUpdate.php | 8 ++++ .../fixtures/Controllers/conditionsCreate.php | 10 ++++ .../fixtures/Controllers/conditionsDelete.php | 7 +++ tests/fixtures/Controllers/conditionsRead.php | 14 ++++++ .../fixtures/Controllers/conditionsUpdate.php | 8 ++++ .../Controllers/notificationsCreate.php | 11 +++++ .../Controllers/notificationsDelete.php | 7 +++ .../Controllers/notificationsRead.php | 12 +++++ .../Controllers/notificationsUpdate.php | 8 ++++ .../Controllers/responses/forbidden.json | 13 ++++++ .../Controllers/responses/unauthorized.json | 13 ++++++ tests/fixtures/Controllers/triggersCreate.php | 9 ++++ tests/fixtures/Controllers/triggersDelete.php | 7 +++ tests/fixtures/Controllers/triggersRead.php | 15 ++++++ tests/fixtures/Controllers/triggersUpdate.php | 8 ++++ 26 files changed, 378 insertions(+), 32 deletions(-) create mode 100644 tests/fixtures/Controllers/responses/forbidden.json create mode 100644 tests/fixtures/Controllers/responses/unauthorized.json diff --git a/src/Controllers/ActionsV1Controller.php b/src/Controllers/ActionsV1Controller.php index ce9b9e1..dfbee82 100644 --- a/src/Controllers/ActionsV1Controller.php +++ b/src/Controllers/ActionsV1Controller.php @@ -40,6 +40,9 @@ * @subpackage Controllers * * @author Adam Kadlec + * + * @Secured + * @Secured\User(loggedIn) */ final class ActionsV1Controller extends BaseV1Controller { @@ -128,6 +131,9 @@ public function read( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function create( Message\ServerRequestInterface $request, @@ -252,6 +258,9 @@ public function create( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function update( Message\ServerRequestInterface $request, @@ -334,6 +343,9 @@ public function update( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function delete( Message\ServerRequestInterface $request, diff --git a/src/Controllers/ConditionsV1Controller.php b/src/Controllers/ConditionsV1Controller.php index f72b462..135ec98 100644 --- a/src/Controllers/ConditionsV1Controller.php +++ b/src/Controllers/ConditionsV1Controller.php @@ -40,6 +40,9 @@ * @subpackage Controllers * * @author Adam Kadlec + * + * @Secured + * @Secured\User(loggedIn) */ final class ConditionsV1Controller extends BaseV1Controller { @@ -154,6 +157,9 @@ public function read( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function create( Message\ServerRequestInterface $request, @@ -292,6 +298,9 @@ public function create( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function update( Message\ServerRequestInterface $request, @@ -386,6 +395,9 @@ public function update( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function delete( Message\ServerRequestInterface $request, diff --git a/src/Controllers/NotificationsV1Controller.php b/src/Controllers/NotificationsV1Controller.php index 11328d7..9ccf1db 100644 --- a/src/Controllers/NotificationsV1Controller.php +++ b/src/Controllers/NotificationsV1Controller.php @@ -40,6 +40,9 @@ * @subpackage Controllers * * @author Adam Kadlec + * + * @Secured + * @Secured\User(loggedIn) */ final class NotificationsV1Controller extends BaseV1Controller { @@ -133,6 +136,9 @@ public function read( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function create( Message\ServerRequestInterface $request, @@ -273,6 +279,9 @@ public function create( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function update( Message\ServerRequestInterface $request, @@ -361,6 +370,9 @@ public function update( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function delete( Message\ServerRequestInterface $request, diff --git a/src/Controllers/TriggersV1Controller.php b/src/Controllers/TriggersV1Controller.php index d4c3da6..1c88a80 100644 --- a/src/Controllers/TriggersV1Controller.php +++ b/src/Controllers/TriggersV1Controller.php @@ -38,6 +38,9 @@ * @subpackage Controllers * * @author Adam Kadlec + * + * @Secured + * @Secured\User(loggedIn) */ final class TriggersV1Controller extends BaseV1Controller { @@ -121,6 +124,9 @@ public function read( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function create( Message\ServerRequestInterface $request, @@ -235,6 +241,9 @@ public function create( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function update( Message\ServerRequestInterface $request, @@ -326,6 +335,9 @@ public function update( * * @throws NodeJsonApiExceptions\IJsonApiException * @throws Doctrine\DBAL\ConnectionException + * + * @Secured + * @Secured\Role(manager,administrator) */ public function delete( Message\ServerRequestInterface $request, diff --git a/tests/cases/Unit/Controllers/ActionsV1ControllerTest.phpt b/tests/cases/Unit/Controllers/ActionsV1ControllerTest.phpt index 2bc9739..e90205a 100644 --- a/tests/cases/Unit/Controllers/ActionsV1ControllerTest.phpt +++ b/tests/cases/Unit/Controllers/ActionsV1ControllerTest.phpt @@ -20,19 +20,27 @@ final class ActionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/actionsRead.php */ - public function testRead(string $url, int $statusCode, string $fixture): void + public function testRead(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_GET, - $url + $url, + $headers ); $response = $router->handle($request); @@ -47,21 +55,28 @@ final class ActionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/actionsCreate.php */ - public function testCreate(string $url, string $body, int $statusCode, string $fixture): void + public function testCreate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_POST, $url, - [], + $headers, $body ); @@ -77,21 +92,28 @@ final class ActionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/actionsUpdate.php */ - public function testUpdate(string $url, string $body, int $statusCode, string $fixture): void + public function testUpdate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_PATCH, $url, - [], + $headers, $body ); @@ -107,19 +129,27 @@ final class ActionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/actionsDelete.php */ - public function testDelete(string $url, int $statusCode, string $fixture): void + public function testDelete(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_DELETE, - $url + $url, + $headers ); $response = $router->handle($request); diff --git a/tests/cases/Unit/Controllers/ConditionsV1ControllerTest.phpt b/tests/cases/Unit/Controllers/ConditionsV1ControllerTest.phpt index f986c1b..55fa84f 100644 --- a/tests/cases/Unit/Controllers/ConditionsV1ControllerTest.phpt +++ b/tests/cases/Unit/Controllers/ConditionsV1ControllerTest.phpt @@ -20,19 +20,27 @@ final class ConditionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/conditionsRead.php */ - public function testRead(string $url, int $statusCode, string $fixture): void + public function testRead(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_GET, - $url + $url, + $headers ); $response = $router->handle($request); @@ -47,21 +55,28 @@ final class ConditionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/conditionsCreate.php */ - public function testCreate(string $url, string $body, int $statusCode, string $fixture): void + public function testCreate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_POST, $url, - [], + $headers, $body ); @@ -77,21 +92,28 @@ final class ConditionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/conditionsUpdate.php */ - public function testUpdate(string $url, string $body, int $statusCode, string $fixture): void + public function testUpdate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_PATCH, $url, - [], + $headers, $body ); @@ -107,19 +129,27 @@ final class ConditionsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/conditionsDelete.php */ - public function testDelete(string $url, int $statusCode, string $fixture): void + public function testDelete(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_DELETE, - $url + $url, + $headers ); $response = $router->handle($request); diff --git a/tests/cases/Unit/Controllers/NotificationsV1ControllerTest.phpt b/tests/cases/Unit/Controllers/NotificationsV1ControllerTest.phpt index 9ca8831..bb1bb79 100644 --- a/tests/cases/Unit/Controllers/NotificationsV1ControllerTest.phpt +++ b/tests/cases/Unit/Controllers/NotificationsV1ControllerTest.phpt @@ -20,19 +20,27 @@ final class NotificationsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/notificationsRead.php */ - public function testRead(string $url, int $statusCode, string $fixture): void + public function testRead(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_GET, - $url + $url, + $headers ); $response = $router->handle($request); @@ -47,21 +55,28 @@ final class NotificationsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/notificationsCreate.php */ - public function testCreate(string $url, string $body, int $statusCode, string $fixture): void + public function testCreate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_POST, $url, - [], + $headers, $body ); @@ -77,21 +92,28 @@ final class NotificationsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/notificationsUpdate.php */ - public function testUpdate(string $url, string $body, int $statusCode, string $fixture): void + public function testUpdate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_PATCH, $url, - [], + $headers, $body ); @@ -107,19 +129,27 @@ final class NotificationsV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/notificationsDelete.php */ - public function testDelete(string $url, int $statusCode, string $fixture): void + public function testDelete(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_DELETE, - $url + $url, + $headers ); $response = $router->handle($request); diff --git a/tests/cases/Unit/Controllers/TriggersV1ControllerTest.phpt b/tests/cases/Unit/Controllers/TriggersV1ControllerTest.phpt index c128976..b3cce4d 100644 --- a/tests/cases/Unit/Controllers/TriggersV1ControllerTest.phpt +++ b/tests/cases/Unit/Controllers/TriggersV1ControllerTest.phpt @@ -20,19 +20,27 @@ final class TriggersV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/triggersRead.php */ - public function testRead(string $url, int $statusCode, string $fixture): void + public function testRead(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_GET, - $url + $url, + $headers ); $response = $router->handle($request); @@ -47,21 +55,28 @@ final class TriggersV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/triggersCreate.php */ - public function testCreate(string $url, string $body, int $statusCode, string $fixture): void + public function testCreate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_POST, $url, - [], + $headers, $body ); @@ -77,21 +92,28 @@ final class TriggersV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param string $body * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/triggersUpdate.php */ - public function testUpdate(string $url, string $body, int $statusCode, string $fixture): void + public function testUpdate(string $url, ?string $token, string $body, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_PATCH, $url, - [], + $headers, $body ); @@ -107,19 +129,27 @@ final class TriggersV1ControllerTest extends DbTestCase /** * @param string $url + * @param string|null $token * @param int $statusCode * @param string $fixture * * @dataProvider ./../../../fixtures/Controllers/triggersDelete.php */ - public function testDelete(string $url, int $statusCode, string $fixture): void + public function testDelete(string $url, ?string $token, int $statusCode, string $fixture): void { /** @var Router\Router $router */ $router = $this->getContainer()->getByType(Router\Router::class); + $headers = []; + + if ($token !== null) { + $headers['authorization'] = $token; + } + $request = new ServerRequest( RequestMethodInterface::METHOD_DELETE, - $url + $url, + $headers ); $response = $router->handle($request); diff --git a/tests/fixtures/Controllers/actionsCreate.php b/tests/fixtures/Controllers/actionsCreate.php index baa072c..fd2daab 100644 --- a/tests/fixtures/Controllers/actionsCreate.php +++ b/tests/fixtures/Controllers/actionsCreate.php @@ -2,27 +2,36 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'createChannelProperty' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/actions.createChannelProperty.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/actions.createChannelProperty.json', ], 'createChannelPropertyNotUnique' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/actions.createChannelProperty.unique.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/actions.createChannelProperty.unique.json', ], 'missingRequired' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/actions.create.missing.required.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/actions.create.missing.required.json', ], 'invalidType' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/actions.create.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/actions.create.invalidType.json', diff --git a/tests/fixtures/Controllers/actionsDelete.php b/tests/fixtures/Controllers/actionsDelete.php index 21ebe51..d87b600 100644 --- a/tests/fixtures/Controllers/actionsDelete.php +++ b/tests/fixtures/Controllers/actionsDelete.php @@ -2,14 +2,21 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'delete' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NO_CONTENT, __DIR__ . '/responses/actions.delete.json', ], 'deleteUnknown' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/actions.notFound.json', ], diff --git a/tests/fixtures/Controllers/actionsRead.php b/tests/fixtures/Controllers/actionsRead.php index 03297dc..eb6bfc8 100644 --- a/tests/fixtures/Controllers/actionsRead.php +++ b/tests/fixtures/Controllers/actionsRead.php @@ -2,39 +2,51 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'readAll' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/actions.index.json', ], 'readAllPaging' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions?page[offset]=1&page[limit]=1', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/actions.index.paging.json', ], 'readOne' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/actions.read.json', ], 'readOneInclude' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4?include=trigger', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/actions.read.include.json', ], 'readOneUnknown' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/actions.notFound.json', ], 'readRelationshipsTrigger' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4/relationships/trigger', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/actions.readRelationships.trigger.json', ], 'readRelationshipsUnknown' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4/relationships/unknown', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/relation.unknown.json', ], diff --git a/tests/fixtures/Controllers/actionsUpdate.php b/tests/fixtures/Controllers/actionsUpdate.php index f3bdab1..238fa02 100644 --- a/tests/fixtures/Controllers/actionsUpdate.php +++ b/tests/fixtures/Controllers/actionsUpdate.php @@ -2,21 +2,29 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'update' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/actions.update.json'), StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/actions.update.json', ], 'invalidType' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/actions.update.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/actions.update.invalidType.json', ], 'idMismatch' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/actions/4aa84028-d8b7-4128-95b2-295763634aa4', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/actions.update.idMismatch.json'), StatusCodeInterface::STATUS_BAD_REQUEST, __DIR__ . '/responses/invalid.identifier.json', diff --git a/tests/fixtures/Controllers/conditionsCreate.php b/tests/fixtures/Controllers/conditionsCreate.php index b6be492..76cf621 100644 --- a/tests/fixtures/Controllers/conditionsCreate.php +++ b/tests/fixtures/Controllers/conditionsCreate.php @@ -2,33 +2,43 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'createChannelProperty' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.createChannelProperty.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/conditions.createChannelProperty.json', ], 'createDeviceProperty' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.createDeviceProperty.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/conditions.createDeviceProperty.json', ], 'createTime' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.createTime.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/conditions.createTime.json', ], 'missingRequired' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.create.missing.required.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/conditions.create.missing.required.json', ], 'invalidType' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.create.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/conditions.create.invalidType.json', diff --git a/tests/fixtures/Controllers/conditionsDelete.php b/tests/fixtures/Controllers/conditionsDelete.php index 9df9536..cab54b1 100644 --- a/tests/fixtures/Controllers/conditionsDelete.php +++ b/tests/fixtures/Controllers/conditionsDelete.php @@ -2,14 +2,21 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'delete' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NO_CONTENT, __DIR__ . '/responses/conditions.delete.json', ], 'deleteUnknown' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/conditions/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/conditions.notFound.json', ], diff --git a/tests/fixtures/Controllers/conditionsRead.php b/tests/fixtures/Controllers/conditionsRead.php index bf0940a..4f0a3af 100644 --- a/tests/fixtures/Controllers/conditionsRead.php +++ b/tests/fixtures/Controllers/conditionsRead.php @@ -2,49 +2,63 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'readAll' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/conditions.index.json', ], 'readAllPaging' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions?page[offset]=1&page[limit]=1', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/conditions.index.paging.json', ], 'readOne' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/conditions.read.json', ], 'readOneInclude' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2?include=trigger', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/conditions.read.include.json', ], 'readOneUnknown' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/conditions.notFound.json', ], 'readRelationshipsTrigger' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2/relationships/trigger', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/conditions.readRelationships.trigger.json', ], 'readRelationshipsUnknown' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2/relationships/unknown', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/relation.unknown.json', ], 'readAllInvalid' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/conditions', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_BAD_REQUEST, __DIR__ . '/responses/conditions.index.invalid.json', ], 'readInvalid' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_BAD_REQUEST, __DIR__ . '/responses/conditions.index.invalid.json', ], diff --git a/tests/fixtures/Controllers/conditionsUpdate.php b/tests/fixtures/Controllers/conditionsUpdate.php index b67ca13..4bfe503 100644 --- a/tests/fixtures/Controllers/conditionsUpdate.php +++ b/tests/fixtures/Controllers/conditionsUpdate.php @@ -2,21 +2,29 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'update' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.update.json'), StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/conditions.update.json', ], 'invalidType' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.update.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/conditions.update.invalidType.json', ], 'idMismatch' => [ '/v1/triggers/1b17bcaa-a19e-45f0-98b4-56211cc648ae/conditions/09c453b3-c55f-4050-8f1c-b50f8d5728c2', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/conditions.update.idMismatch.json'), StatusCodeInterface::STATUS_BAD_REQUEST, __DIR__ . '/responses/invalid.identifier.json', diff --git a/tests/fixtures/Controllers/notificationsCreate.php b/tests/fixtures/Controllers/notificationsCreate.php index 86cb734..e177035 100644 --- a/tests/fixtures/Controllers/notificationsCreate.php +++ b/tests/fixtures/Controllers/notificationsCreate.php @@ -2,39 +2,50 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'createEmail' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.createEmail.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/notifications.createEmail.json', ], 'createEmailNotUnique' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.createEmail.unique.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/notifications.createEmail.unique.json', ], 'createSms' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.createSms.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/notifications.createSms.json', ], 'createSmsNotUnique' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.createSmsNotUnique.unique.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/notifications.createSmsNotUnique.unique.json', ], 'missingRequired' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.create.missing.required.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/notifications.create.missing.required.json', ], 'invalidType' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.create.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/notifications.create.invalidType.json', diff --git a/tests/fixtures/Controllers/notificationsDelete.php b/tests/fixtures/Controllers/notificationsDelete.php index fed0400..b0c0b7d 100644 --- a/tests/fixtures/Controllers/notificationsDelete.php +++ b/tests/fixtures/Controllers/notificationsDelete.php @@ -2,14 +2,21 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'delete' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NO_CONTENT, __DIR__ . '/responses/notifications.delete.json', ], 'deleteUnknown' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/notifications.notFound.json', ], diff --git a/tests/fixtures/Controllers/notificationsRead.php b/tests/fixtures/Controllers/notificationsRead.php index 08affd3..49f6439 100644 --- a/tests/fixtures/Controllers/notificationsRead.php +++ b/tests/fixtures/Controllers/notificationsRead.php @@ -2,39 +2,51 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'readAll' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/notifications.index.json', ], 'readAllPaging' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications?page[offset]=1&page[limit]=1', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/notifications.index.paging.json', ], 'readOne' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/notifications.read.json', ], 'readOneInclude' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc?include=trigger', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/notifications.read.include.json', ], 'readOneUnknown' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/notifications.notFound.json', ], 'readRelationshipsTrigger' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc/relationships/trigger', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/notifications.readRelationships.trigger.json', ], 'readRelationshipsUnknown' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc/relationships/unknown', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/relation.unknown.json', ], diff --git a/tests/fixtures/Controllers/notificationsUpdate.php b/tests/fixtures/Controllers/notificationsUpdate.php index af48b05..3f8cf30 100644 --- a/tests/fixtures/Controllers/notificationsUpdate.php +++ b/tests/fixtures/Controllers/notificationsUpdate.php @@ -2,21 +2,29 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'update' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.update.json'), StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/notifications.update.json', ], 'invalidType' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.update.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/notifications.update.invalidType.json', ], 'idMismatch' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/notifications/05f28df9-5f19-4923-b3f8-b9090116dadc', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/notifications.update.idMismatch.json'), StatusCodeInterface::STATUS_BAD_REQUEST, __DIR__ . '/responses/invalid.identifier.json', diff --git a/tests/fixtures/Controllers/responses/forbidden.json b/tests/fixtures/Controllers/responses/forbidden.json new file mode 100644 index 0000000..c6a7183 --- /dev/null +++ b/tests/fixtures/Controllers/responses/forbidden.json @@ -0,0 +1,13 @@ +{ + "errors": [ + { + "status": "403", + "code": "403", + "title": "Not allowed", + "detail": "You are not allowed to perform this action" + } + ], + "jsonapi": { + "version": "1.1" + } +} diff --git a/tests/fixtures/Controllers/responses/unauthorized.json b/tests/fixtures/Controllers/responses/unauthorized.json new file mode 100644 index 0000000..e481f46 --- /dev/null +++ b/tests/fixtures/Controllers/responses/unauthorized.json @@ -0,0 +1,13 @@ +{ + "errors": [ + { + "status": "401", + "code": "401", + "title": "Not authorized", + "detail": "You are not authorized to perform this action" + } + ], + "jsonapi": { + "version": "1.1" + } +} diff --git a/tests/fixtures/Controllers/triggersCreate.php b/tests/fixtures/Controllers/triggersCreate.php index a27d0dd..6d1b6cb 100644 --- a/tests/fixtures/Controllers/triggersCreate.php +++ b/tests/fixtures/Controllers/triggersCreate.php @@ -2,27 +2,36 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'createManual' => [ '/v1/triggers', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/triggers.createManual.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/triggers.createManual.json', ], 'createChannelProperty' => [ '/v1/triggers', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/triggers.createChannelProperty.json'), StatusCodeInterface::STATUS_CREATED, __DIR__ . '/responses/triggers.createChannelProperty.json', ], 'missingRequired' => [ '/v1/triggers', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/triggers.create.missing.required.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/triggers.create.missing.required.json', ], 'invalidType' => [ '/v1/triggers', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/triggers.create.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/triggers.create.invalidType.json', diff --git a/tests/fixtures/Controllers/triggersDelete.php b/tests/fixtures/Controllers/triggersDelete.php index a12cf2f..f9dd79a 100644 --- a/tests/fixtures/Controllers/triggersDelete.php +++ b/tests/fixtures/Controllers/triggersDelete.php @@ -2,14 +2,21 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'delete' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NO_CONTENT, __DIR__ . '/responses/triggers.delete.json', ], 'deleteUnknown' => [ '/v1/triggers/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/triggers.notFound.json', ], diff --git a/tests/fixtures/Controllers/triggersRead.php b/tests/fixtures/Controllers/triggersRead.php index 8b4e9e2..f72dcc2 100644 --- a/tests/fixtures/Controllers/triggersRead.php +++ b/tests/fixtures/Controllers/triggersRead.php @@ -2,54 +2,69 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'readAll' => [ '/v1/triggers', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.index.json', ], 'readAllPaging' => [ '/v1/triggers?page[offset]=1&page[limit]=1', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.index.paging.json', ], 'readOne' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.read.json', ], 'readOneInclude' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4?include=actions,notifications', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.read.include.json', ], 'readOneUnknown' => [ '/v1/triggers/69786d15-fd0c-4d9f-9378-33287c2009af', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/triggers.notFound.json', ], 'readRelationshipsActions' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/relationships/actions', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.readRelationships.actions.json', ], 'readRelationshipsNotifications' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/relationships/notifications', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.readRelationships.notifications.json', ], 'readRelationshipsConditionsInvalid' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4/relationships/conditions', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/triggers.readRelationships.conditionsInvalid.json', ], 'readRelationshipsConditions' => [ '/v1/triggers/0b48dfbc-fac2-4292-88dc-7981a121602d/relationships/conditions', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.readRelationships.conditions.json', ], 'readRelationshipsUnknown' => [ '/v1/triggers/0b48dfbc-fac2-4292-88dc-7981a121602d/relationships/unknown', + 'Bearer ' . VALID_TOKEN, StatusCodeInterface::STATUS_NOT_FOUND, __DIR__ . '/responses/relation.unknown.json', ], diff --git a/tests/fixtures/Controllers/triggersUpdate.php b/tests/fixtures/Controllers/triggersUpdate.php index f5f1c0e..0ebd13b 100644 --- a/tests/fixtures/Controllers/triggersUpdate.php +++ b/tests/fixtures/Controllers/triggersUpdate.php @@ -2,21 +2,29 @@ use Fig\Http\Message\StatusCodeInterface; +const VALID_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const EXPIRED_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MjFlMTAyNS04Zjc4LTQzOGQtODIwZi0wZDQ2OWEzNzk1NWQiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU3Nzg4MDAwMCwiZXhwIjoxNTc3OTAxNjAwLCJ1c2VyIjoiNTI1ZDZhMDktN2MwNi00NmQyLWFmZmEtNzA5YmIxODM3MDdlIiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.F9veOiNfcqQVxpbMF7OY5j1AcPLpPQb8dEIZbrBmh24'; +const INVALID_TOKEN = 'eyJqdGkiOiI5YWY1NjI0Mi01ZDg3LTQzNjQtYmIxZS1kOWZjODI4NmIzZmYiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiNWU3OWVmYmYtYmQwZC01YjdjLTQ2ZWYtYmZiZGVmYmZiZDM0Iiwicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfQ.Lb-zUa9DL7swdVSEuPTqaR9FvLgKwuEtrhxiJFWjhU8'; +const VALID_TOKEN_USER = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3YzVkNzdhZC1kOTNlLTRjMmMtOThlNS05ZTFhZmM0NDQ2MTUiLCJpc3MiOiJjb20uZmFzdHliaXJkLmF1dGgtbm9kZSIsImlhdCI6MTU4NTc0MjQwMCwiZXhwIjoxNTg1NzQ5NjAwLCJ1c2VyIjoiZWZiZmJkZWYtYmZiZC02OGVmLWJmYmQtNzcwYjQwZWZiZmJkIiwicm9sZXMiOlsidXNlciJdfQ.cbatWCuGX-K8XbF9MMN7DqxV9hriWmUSGcDGGmnxXX0'; + return [ 'update' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/triggers.update.json'), StatusCodeInterface::STATUS_OK, __DIR__ . '/responses/triggers.update.json', ], 'invalidType' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/triggers.update.invalidType.json'), StatusCodeInterface::STATUS_UNPROCESSABLE_ENTITY, __DIR__ . '/responses/triggers.update.invalidType.json', ], 'idMismatch' => [ '/v1/triggers/c64ba1c4-0eda-4cab-87a0-4d634f7b67f4', + 'Bearer ' . VALID_TOKEN, file_get_contents(__DIR__ . '/requests/triggers.update.idMismatch.json'), StatusCodeInterface::STATUS_BAD_REQUEST, __DIR__ . '/responses/invalid.identifier.json',