From 6d7b1513d0b9831b6335f9d0ad0ee3a27a83fb27 Mon Sep 17 00:00:00 2001 From: Donovan Lambert Date: Sat, 20 Mar 2021 14:38:41 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20de=20l'authentification=20+?= =?UTF-8?q?=20Dev=20env=20(#116)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/App/Controllers/EventController.php | 1 + .../App/Controllers/MaterialController.php | 4 ++ server/src/App/Controllers/ParkController.php | 4 ++ ...20210313084119_add_cas_fields_to_users.php | 28 ++++++++++++ server/tests/endpoints/TokenTest.php | 17 +++---- server/tests/endpoints/UsersTest.php | 45 ++++++++++--------- server/tests/models/UserTest.php | 2 + 7 files changed, 72 insertions(+), 29 deletions(-) create mode 100644 server/src/database/migrations/20210313084119_add_cas_fields_to_users.php diff --git a/server/src/App/Controllers/EventController.php b/server/src/App/Controllers/EventController.php index 91407d5e4..16b1e37c2 100644 --- a/server/src/App/Controllers/EventController.php +++ b/server/src/App/Controllers/EventController.php @@ -6,6 +6,7 @@ use Robert2\API\Errors; use Robert2\API\Controllers\Traits\WithPdf; use Robert2\API\Models\Park; +use Robert2\API\Models\Event; use Slim\Http\Request; use Slim\Http\Response; diff --git a/server/src/App/Controllers/MaterialController.php b/server/src/App/Controllers/MaterialController.php index b350629b5..de4bbae94 100644 --- a/server/src/App/Controllers/MaterialController.php +++ b/server/src/App/Controllers/MaterialController.php @@ -7,6 +7,7 @@ use Robert2\API\Config\Config; use Robert2\API\Models\Event; use Robert2\API\Models\Document; +use Robert2\API\Models\Material; use Robert2\API\Controllers\Traits\Taggable; use Slim\Http\Request; use Slim\Http\Response; @@ -15,6 +16,9 @@ class MaterialController extends BaseController { use Taggable; + /** @var Material */ + protected $model; + // —————————————————————————————————————————————————————— // — // — Getters diff --git a/server/src/App/Controllers/ParkController.php b/server/src/App/Controllers/ParkController.php index 3338a3f46..8fecc9c45 100644 --- a/server/src/App/Controllers/ParkController.php +++ b/server/src/App/Controllers/ParkController.php @@ -3,6 +3,10 @@ namespace Robert2\API\Controllers; +use Robert2\API\Models\Park; + class ParkController extends BaseController { + /** @var Park */ + protected $model; } diff --git a/server/src/database/migrations/20210313084119_add_cas_fields_to_users.php b/server/src/database/migrations/20210313084119_add_cas_fields_to_users.php new file mode 100644 index 000000000..3634adced --- /dev/null +++ b/server/src/database/migrations/20210313084119_add_cas_fields_to_users.php @@ -0,0 +1,28 @@ +table('users'); + $table + ->addColumn('cas_identifier', 'string', [ + 'after' => 'password', + 'null' => true + ]) + ->addIndex('cas_identifier', [ + 'unique' => true, + 'name' => 'user_cas_identifier_UNIQUE' + ]) + ->save(); + } + + public function down() + { + $table = $this->table('users'); + $table + ->removeColumn('cas_identifier') + ->save(); + } +} diff --git a/server/tests/endpoints/TokenTest.php b/server/tests/endpoints/TokenTest.php index 40bc555d0..d25152a78 100644 --- a/server/tests/endpoints/TokenTest.php +++ b/server/tests/endpoints/TokenTest.php @@ -57,14 +57,15 @@ public function testTokenWrongPassword() public function testTokenAuthOK() { $expectedUserData = [ - 'id' => 1, - 'email' => 'tester@robertmanager.net', - 'pseudo' => 'test1', - 'group_id' => 'admin', - 'created_at' => null, - 'updated_at' => null, - 'deleted_at' => null, - 'person' => [ + 'id' => 1, + 'email' => 'tester@robertmanager.net', + 'pseudo' => 'test1', + 'group_id' => 'admin', + 'cas_identifier' => null, + 'created_at' => null, + 'updated_at' => null, + 'deleted_at' => null, + 'person' => [ 'id' => 1, 'user_id' => 1, 'first_name' => 'Jean', diff --git a/server/tests/endpoints/UsersTest.php b/server/tests/endpoints/UsersTest.php index 870f0ff21..1fc5710a9 100644 --- a/server/tests/endpoints/UsersTest.php +++ b/server/tests/endpoints/UsersTest.php @@ -133,14 +133,15 @@ public function testGetUser() $this->client->get('/api/users/1'); $this->assertStatusCode(SUCCESS_OK); $this->assertResponseData([ - 'id' => 1, - 'pseudo' => 'test1', - 'email' => 'tester@robertmanager.net', - 'group_id' => 'admin', - 'created_at' => null, - 'updated_at' => null, - 'deleted_at' => null, - 'person' => [ + 'id' => 1, + 'pseudo' => 'test1', + 'email' => 'tester@robertmanager.net', + 'group_id' => 'admin', + 'cas_identifier' => null, + 'created_at' => null, + 'updated_at' => null, + 'deleted_at' => null, + 'person' => [ 'id' => 1, 'user_id' => 1, 'first_name' => 'Jean', @@ -295,11 +296,12 @@ public function testUserSignup() unset($response['person']['created_at']); unset($response['person']['updated_at']); $this->assertEquals([ - 'id' => 4, - 'email' => 'nobody@test.org', - 'pseudo' => 'signupTest', - 'group_id' => 'member', - 'person' => [ + 'id' => 4, + 'email' => 'nobody@test.org', + 'pseudo' => 'signupTest', + 'group_id' => 'member', + 'cas_identifier' => null, + 'person' => [ 'id' => 4, 'first_name' => 'Nobody', 'last_name' => 'Testeur', @@ -331,14 +333,15 @@ public function testCreateUser() ]); $this->assertStatusCode(SUCCESS_CREATED); $this->assertResponseData([ - 'id' => 4, - 'pseudo' => 'New User', - 'email' => 'test@testing.org', - 'group_id' => 'member', - 'created_at' => 'fakedTestContent', - 'updated_at' => 'fakedTestContent', - 'deleted_at' => null, - 'person' => null, + 'id' => 4, + 'pseudo' => 'New User', + 'email' => 'test@testing.org', + 'group_id' => 'member', + 'cas_identifier' => null, + 'created_at' => 'fakedTestContent', + 'updated_at' => 'fakedTestContent', + 'deleted_at' => null, + 'person' => null, ], ['created_at', 'updated_at']); } diff --git a/server/tests/models/UserTest.php b/server/tests/models/UserTest.php index 253b1042c..678a8abf5 100644 --- a/server/tests/models/UserTest.php +++ b/server/tests/models/UserTest.php @@ -132,6 +132,7 @@ public function testgetLoginNotFound(): void public function testGetLogin(): void { $expectedUserData = array_merge($this->expectedDataUser1, [ + 'cas_identifier' => null, 'settings' => [ 'id' => 1, 'user_id' => 1, @@ -187,6 +188,7 @@ public function testCreate(): void 'pseudo' => 'testadd', 'email' => 'testadd@robertmanager.net', 'group_id' => 'member', + 'cas_identifier' => null, 'person' => null ]; unset($result->created_at, $result->updated_at, $result->deleted_at);