From de5a6c43f9354984616915a0fb77cb9359664f76 Mon Sep 17 00:00:00 2001 From: Jean-Laurent <jean-laurent.duzant@xelians.fr> Date: Mon, 16 May 2022 11:06:42 +0200 Subject: [PATCH] FIX #20145 TIME 0:15 check phone in testGetById, check fingerprint, add more test for testDelete && update .gitlab-ci.yml --- .gitlab-ci.yml | 64 ++++++++++++++++--- src/app/user/controllers/UserController.php | 4 -- .../unitTests/app/user/UserControllerTest.php | 19 +++++- 3 files changed, 74 insertions(+), 13 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 45e5fd67fe..6f02c14b81 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,50 @@ before_script: - sed 's!<server>.*</server>!<server>postgres</server>!;s!<password>.*</password>!<password>maarch</password>!;s!<name>.*</name>!<name>MaarchParapheur</name>!;s!<user>.*</user>!<user>maarch</user>!;s!<enable>.*</enable>!<enable>true</enable>!' config/config.xml.default > config/config.xml - sed -i 's/rights="none" pattern="PDF"/rights="read | write" pattern="PDF"/' /etc/ImageMagick-6/policy.xml +job_php-8.1: + image: php:8.1-apache + stage: test + services: + - name: postgres:10.1 + command: [ "-c", "datestyle=iso,dmy" ] + script: + - curl --location -s --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-9.phar + - chmod +x /usr/local/bin/phpunit + - phpunit --coverage-text --colors=never +# only: +# - develop +# except: +# - schedules + rules: + - if: '$CI_COMMIT_BRANCH =~ /(feat|fix)\/[0-9]{4,5}\/develop/' + + artifacts: + paths: + - test/unitTests/build/ + expire_in: 2h + +job_php-8.0: + image: php:8.0-apache + stage: test + services: + - name: postgres:10.1 + command: [ "-c", "datestyle=iso,dmy" ] + script: + - curl --location -s --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-9.phar + - chmod +x /usr/local/bin/phpunit + - phpunit --coverage-text --colors=never +# only: +# - develop +# except: +# - schedules + rules: + - if: '$CI_COMMIT_BRANCH =~ /(feat|fix)\/[0-9]{4,5}\/develop/' + + artifacts: + paths: + - test/unitTests/build/ + expire_in: 2h + job_php-7.4: image: php:7.4-apache stage: test @@ -31,10 +75,12 @@ job_php-7.4: - curl --location -s --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-9.phar - chmod +x /usr/local/bin/phpunit - phpunit --coverage-text --colors=never -c phpunit.xml - only: - - develop - except: - - schedules + # only: + # - develop + # except: + # - schedules + rules: + - if: '$CI_COMMIT_BRANCH =~ /(feat|fix)\/[0-9]{4,5}\/develop/' artifacts: paths: - test/unitTests/build/ @@ -50,10 +96,12 @@ job_php-7.3: - curl --location -s --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-9.phar - chmod +x /usr/local/bin/phpunit - phpunit --coverage-text --colors=never - only: - - develop - except: - - schedules + # only: + # - develop + # except: + # - schedules + rules: + - if: '$CI_COMMIT_BRANCH =~ /(feat|fix)\/[0-9]{4,5}\/develop/' commits: diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php index b62b4305f1..9851e737a8 100755 --- a/src/app/user/controllers/UserController.php +++ b/src/app/user/controllers/UserController.php @@ -143,10 +143,6 @@ class UserController return $response->withStatus(400)->withJson(['errors' => 'Login already exists', 'lang' => 'userLoginAlreadyExists']); } - // if (!empty($body['x509Fingerprint'])) { - // $body['x509_fingerprint'] = $body['x509Fingerprint']; - // } - $body['x509_fingerprint'] = !empty($body['x509Fingerprint']) ? $body['x509Fingerprint'] : null; if (empty($body['phone'])) { diff --git a/test/unitTests/app/user/UserControllerTest.php b/test/unitTests/app/user/UserControllerTest.php index 3767bd83b3..6bd12b4a1b 100755 --- a/test/unitTests/app/user/UserControllerTest.php +++ b/test/unitTests/app/user/UserControllerTest.php @@ -181,6 +181,7 @@ class UserControllerTest extends TestCase $this->assertSame('email@test.fr', $responseBody->user->email); $this->assertSame('Prénom', $responseBody->user->firstname); $this->assertSame('Nom', $responseBody->user->lastname); + $this->assertSame('0701020304', $responseBody->user->phone); $response = $userController->getById($request, new \Slim\Http\Response(), ['id' => -1]); $this->assertSame(400, $response->getStatusCode()); @@ -199,6 +200,7 @@ class UserControllerTest extends TestCase $this->assertNotEmpty($response); $this->assertNotEmpty($response['x509Fingerprint']); + $this->assertSame('fingerprint', $response['x509Fingerprint']); $GLOBALS['id'] = $previousUserId; } @@ -332,8 +334,23 @@ class UserControllerTest extends TestCase $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'DELETE']); $request = \Slim\Http\Request::createFromEnvironment($environment); + $response = $userController->delete($request, new \Slim\Http\Response(), ['id' => self::$userIdToDelete]); - $this->assertSame(204, $response->getStatusCode()); + + $response = $userController->delete($request, new \Slim\Http\Response(), ['id' => self::$userIdToDelete]); + $responseBody = json_decode((string)$response->getBody()); + $this->assertSame(400, $response->getStatusCode()); + $this->assertSame('User does not exist', $responseBody->errors); + + $response = $userController->delete($request, new \Slim\Http\Response(), ['id' => '1']); + $responseBody = json_decode((string)$response->getBody()); + $this->assertSame(403, $response->getStatusCode()); + $this->assertSame('Privilege forbidden', $responseBody->errors); + + $response = $userController->delete($request, new \Slim\Http\Response(), ['id' => 1.1]); + $responseBody = json_decode((string)$response->getBody()); + $this->assertSame(400, $response->getStatusCode()); + $this->assertSame('Route id is not an integer', $responseBody->errors); } } -- GitLab