From b9ec5cb050cf111bf7633d86d479ec1a6e9ce5d7 Mon Sep 17 00:00:00 2001 From: efalcy <efalcy@afi-sa.fr> Date: Wed, 14 Jun 2023 10:46:52 +0000 Subject: [PATCH] dev#179153: CAS V3 add site_label --- VERSIONS_WIP/179153 | 1 + library/Class/IdentityProvider/Cas3.php | 1 + .../controllers/CasServerControllerV3Test.php | 21 +++++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 VERSIONS_WIP/179153 diff --git a/VERSIONS_WIP/179153 b/VERSIONS_WIP/179153 new file mode 100644 index 00000000000..3d8d28c7685 --- /dev/null +++ b/VERSIONS_WIP/179153 @@ -0,0 +1 @@ + - fonctionnalité #179153 : Ressource Numérique Cafeyn : Ajout du libellé de la bibliothèque dans la réponse CAS V3 \ No newline at end of file diff --git a/library/Class/IdentityProvider/Cas3.php b/library/Class/IdentityProvider/Cas3.php index 95323a1b98a..1a6d1f9013f 100644 --- a/library/Class/IdentityProvider/Cas3.php +++ b/library/Class/IdentityProvider/Cas3.php @@ -37,6 +37,7 @@ class Class_IdentityProvider_Cas3 extends Class_IdentityProvider_Default { 'idabon' => 'card_number', 'id_sigb' => 'ils_number', 'id_site' => 'site_code', + 'libelle_bib' => 'site_label', 'naissance' => 'birth_date', 'code_postal' => 'postal_code', 'civilite' => 'civilite', diff --git a/tests/application/modules/opac/controllers/CasServerControllerV3Test.php b/tests/application/modules/opac/controllers/CasServerControllerV3Test.php index 1ba77ba38b8..7f1492f2a65 100644 --- a/tests/application/modules/opac/controllers/CasServerControllerV3Test.php +++ b/tests/application/modules/opac/controllers/CasServerControllerV3Test.php @@ -32,9 +32,20 @@ class CasServerControllerV3ValidateActionTest extends AbstractControllerTestCase $user->ID_USER=300; $time_source = new TimeSourceForTest('2020-08-01 14:00:00'); Class_CasTicketV3::setTimeSource($time_source); + $this->fixture(Class_Bib::class, + ['id' => 3, + 'libelle' => 'Bonlieu']); + + $this->fixture(Class_CodifAnnexe::class, + ['id' => 4, + 'id_origine' => 'A3', + 'libelle' => 'Annecy Bonlieu', + 'id_bib' => 3]); + $user = Class_Users::newInstanceWithId(300, ['login' => '87364', 'password' => 'test', + 'id_site' => '3', 'pseudo' => 'georges']); $cas = (new Class_CasTicketV3('http://test.com')); @@ -107,6 +118,16 @@ class CasServerControllerV3ValidateActionTest extends AbstractControllerTestCase } + /** @test */ + public function requestWithValidTicketPrefixedBySTShouldRespondSiteCodeAndSiteLabelXML() { + $this->dispatch(sprintf('/opac/cas-server-v3/validate?ticket=%s&service=%s', + $this->_ticket_v3, + urlencode('http://test.com'))); + $this->assertContains('<cas:site_code>3</cas:site_code>', $this->_response->getBody()); + $this->assertContains('<cas:site_label>Bonlieu</cas:site_label>', $this->_response->getBody()); + } + + /** @test */ public function whenLogginCasTicketShouldBeCasV3() { $this->postDispatch('/opac/auth/login/redirect/%F', -- GitLab