From 1b2c405c1d5f013af4a7bb7660708d0a5ac54d20 Mon Sep 17 00:00:00 2001 From: llaffont <laurent.laffont@gmail.com> Date: Thu, 13 Feb 2014 15:36:25 +0100 Subject: [PATCH] Fix redirection url for Music Me: ticket sent was wrong (no user id in key) rel #12116 #12127 --- library/Class/WebService/Abstract.php | 2 +- .../controllers/CasServerControllerTest.php | 25 ++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/library/Class/WebService/Abstract.php b/library/Class/WebService/Abstract.php index 39733fe99fb..7b262615548 100644 --- a/library/Class/WebService/Abstract.php +++ b/library/Class/WebService/Abstract.php @@ -52,7 +52,7 @@ abstract class Class_WebService_Abstract { } function getTicket() { - return md5(Zend_Session::getId()); + return (new Class_CasTicket())->getTicketForCurrentUser(); } } diff --git a/tests/application/modules/opac/controllers/CasServerControllerTest.php b/tests/application/modules/opac/controllers/CasServerControllerTest.php index a2d141efe3c..e0b6fb69c6a 100644 --- a/tests/application/modules/opac/controllers/CasServerControllerTest.php +++ b/tests/application/modules/opac/controllers/CasServerControllerTest.php @@ -66,14 +66,10 @@ class CasServerControllerMusicMeValidateActionTest extends AbstractControllerTes public function setUp() { parent::setUp(); - $user = new StdClass(); - $user->ID_USER=300; - $user->PRENOM='Tom'; - $user->NOM = 'Ate'; - Class_Users::newInstanceWithId(300, - ['nom' => 'Ate', - 'prenom' => 'Tom']); - Zend_Registry::get('cache')->save('300', md5(Zend_Session::getId().'300')); + $tom = Class_Users::newInstanceWithId(300, + ['nom' => 'Ate', + 'prenom' => 'Tom']); + ZendAfi_Auth::getInstance()->logUser($tom); } @@ -84,18 +80,17 @@ class CasServerControllerMusicMeValidateActionTest extends AbstractControllerTes } - /** @test */ - public function requestMusicMeWithExpiredTicketShouldRespondInvalidTicketFailureXML() { - $this->dispatch('/opac/cas-server/validate-musicme?MediaLibraryID=STmarchepo&ticket=28282'); - // $this->assertContains('<AccountExpired>true',$this->_response->getBody()); - } - - /** @test */ public function requestMusicMeWithValidTicketShouldRespondValidXML() { $this->dispatch('/opac/cas-server/validate-musicme?ticket='.md5(Zend_Session::getId().'300').'&MediaLibraryID=http://test.com'); $this->assertContains('<ID>300</ID>',$this->_response->getBody()); + } + + /** @test */ + public function musicmeUrlShouldContainsTicket0a1b2c3d() { + $expected_ticket = md5(Zend_Session::getId().'300'); + $this->assertContains('ticket='.$expected_ticket.'&', Class_MusicMeLink::forUser(Class_Users::find(300))->url()); } } -- GitLab