From d6199e755fa30e238c418737c3af16c4fccf46f1 Mon Sep 17 00:00:00 2001
From: Ghislain Loas <ghislo@sandbox.pergame.net>
Date: Wed, 28 Jan 2015 16:58:05 +0100
Subject: [PATCH] dev #17514 remove Zend_Registry::get('cache') and set

---
 .../admin/controllers/IndexController.php     |  2 +-
 library/startup.php                           | 19 +---------
 .../admin/controllers/IndexControllerTest.php | 17 ++++++++-
 .../controllers/CasServerControllerTest.php   | 38 ++++++++++---------
 .../controllers/CasServerControllerTest.php   |  6 +--
 tests/bootstrap.php                           |  5 +--
 .../ZendAfi/View/Helper/Accueil/CacheTest.php | 23 ++++++-----
 .../View/Helper/ViewHelperTestCase.php        |  2 +-
 8 files changed, 55 insertions(+), 57 deletions(-)

diff --git a/application/modules/admin/controllers/IndexController.php b/application/modules/admin/controllers/IndexController.php
index 36b57acc04d..ae254a39500 100644
--- a/application/modules/admin/controllers/IndexController.php
+++ b/application/modules/admin/controllers/IndexController.php
@@ -119,7 +119,7 @@ class Admin_IndexController extends ZendAfi_Controller_Action {
 
 
 	public function clearcacheAction() {
-		Zend_Registry::get('cache')->clean(Zend_Cache::CLEANING_MODE_ALL);
+		(new Storm_Cache())->clean();
 		$this->_redirect('admin/index/adminvar');
 	}
 
diff --git a/library/startup.php b/library/startup.php
index fa492279cb0..922cbd1e56a 100644
--- a/library/startup.php
+++ b/library/startup.php
@@ -48,14 +48,12 @@ function setupOpac() {
 }
 
 
-
 function defineConstant($name, $value) {
 	if (!defined($name))
 		define($name, $value);
 }
 
 
-
 function setupConstants() {
 	defineConstant('BOKEH_MAJOR_VERSION','6.60');
 	defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.0');
@@ -130,14 +128,11 @@ function loadConfig($config_init_file_path = './config.ini') {
 }
 
 
-
-
 function setupCache($cfg) {
 	if (Class_Users::isCurrentUserCanAccesBackend())
 		return;
 
-	$frontendOptions = [
-											'lifetime' => CACHE_LIFETIME, // durée du cache: 1h
+	$frontendOptions = ['lifetime' => CACHE_LIFETIME, // durée du cache: 1h
 											'automatic_serialization' => false,
 											'caching' => true];
 
@@ -153,14 +148,12 @@ function setupCache($cfg) {
 															 $frontendOptions,
 															 $backendOptions);
 	//	$cache->clean(Zend_Cache::CLEANING_MODE_ALL);
-	Zend_Registry::set('cache', $cache);
+
 	Storm_Cache::setDefaultZendCache($cache);
 	Storm_Cache::setSeed($cfg->sgbd->config->dbname);
 }
 
 
-
-
 function setupSession($cfg) {
 	// Start Session
 	$session = new Zend_Session_Namespace(md5(BASE_URL));
@@ -174,7 +167,6 @@ function setupSession($cfg) {
 }
 
 
-
 function setupLanguage() {
 	Zend_Locale::setDefault(Class_AdminVar::getDefaultLanguage());
 	Zend_Registry::set('locale', new Zend_Locale());
@@ -191,8 +183,6 @@ function setupLanguage() {
 }
 
 
-
-
 function setupDatabase($cfg) {
 	// setup database
 	$sql = Zend_Db::factory($cfg->sgbd->adapter, $cfg->sgbd->config->toArray());
@@ -206,7 +196,6 @@ function setupDatabase($cfg) {
 }
 
 
-
 function setupDevOptions($cfg) {
 	//permet d'activer les fonctions en développement
 	if (null !== $experimental_dev = $cfg->get('experimental_dev'))
@@ -214,8 +203,6 @@ function setupDevOptions($cfg) {
 }
 
 
-
-
 function setupControllerActionHelper() {
 	Zend_Controller_Action_HelperBroker::resetHelpers();
 	Zend_Controller_Action_HelperBroker::addHelper(new ZendAfi_Controller_Action_Helper_ViewRenderer());
@@ -223,8 +210,6 @@ function setupControllerActionHelper() {
 }
 
 
-
-
 function setupHTTPClient($cfg) {
 	//set up HTTP Client to use proxy settings
 	$httpClient = new Zend_Http_Client();
diff --git a/tests/application/modules/admin/controllers/IndexControllerTest.php b/tests/application/modules/admin/controllers/IndexControllerTest.php
index e150d634fba..8ab74d02ab3 100644
--- a/tests/application/modules/admin/controllers/IndexControllerTest.php
+++ b/tests/application/modules/admin/controllers/IndexControllerTest.php
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
  * along with BOKEH; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 require_once 'AdminAbstractControllerTestCase.php';
 
@@ -59,4 +59,17 @@ class IndexControllerHeartBeatTest extends Admin_AbstractControllerTestCase {
 }
 
 
-?>
\ No newline at end of file
+
+class IndexControllerClearCacheActionTest extends Admin_AbstractControllerTestCase {
+	public function setUp() {
+		parent::setUp();
+		Storm_Cache::beVolatile();
+		$this->dispatch('/admin/index/clearcache', true);
+	}
+
+
+	/** @test */
+	public function clearCacheShouldRedirectToAdminVar() {
+		$this->assertRedirectTo('/admin/index/adminvar');
+	}
+}
\ No newline at end of file
diff --git a/tests/application/modules/opac/controllers/CasServerControllerTest.php b/tests/application/modules/opac/controllers/CasServerControllerTest.php
index df8fb101251..c67cef6acd8 100644
--- a/tests/application/modules/opac/controllers/CasServerControllerTest.php
+++ b/tests/application/modules/opac/controllers/CasServerControllerTest.php
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
  * along with BOKEH; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
 
@@ -26,46 +26,47 @@ class CasServerControllerValidateActionTest extends AbstractControllerTestCase {
 
 	public function setUp() {
 		parent::setUp();
+		Storm_Cache::beVolatile();
 		$user = new StdClass();
 		$user->ID_USER=300;
-		Class_Users::newInstanceWithId(300, 
+		Class_Users::newInstanceWithId(300,
 		                               ['login' => '87364',
 																	  'pseudo' => 'georges']);
-		Zend_Registry::get('cache')->save('300',
-																			md5(Zend_Session::getId().'300'));
+		(new Storm_Cache())->save('300',
+															md5(Zend_Session::getId().'300'));
 	}
 
-	
+
 	/** @test */
-	public function requestWithNoTicketShouldRespondinvalidRequestFailureXML() {		
+	public function requestWithNoTicketShouldRespondinvalidRequestFailureXML() {
 		$this->dispatch('/opac/cas-server/validate?service=http://test.com');
 		$this->assertContains('<cas:authenticationFailure code="INVALID_REQUEST">',$this->_response->getBody());
 	}
 
 
 	/** @test */
-	public function requestWithInvalidTicketShouldRespondInvalidTicketFailureXML() {		
+	public function requestWithInvalidTicketShouldRespondInvalidTicketFailureXML() {
 		$this->dispatch('/opac/cas-server/validate?ticket=STmarchepo&service=http://test.com',true);
 		$this->assertContains('<cas:authenticationFailure code="INVALID_TICKET"> Ticket STmarchepo not recognized</cas:authenticationFailure>',$this->_response->getBody());
 	}
 
 
 	/** @test */
-	public function requestWithInvalidTicketOnAuthShouldRespondInvalidTicketFailureXML() {		
+	public function requestWithInvalidTicketOnAuthShouldRespondInvalidTicketFailureXML() {
 		$this->dispatch('/opac/auth/validate?ticket=STmarchepo&service=http://test.com',true);
 		$this->assertContains('<cas:authenticationFailure code="INVALID_TICKET"> Ticket STmarchepo not recognized</cas:authenticationFailure>',$this->_response->getBody());
 	}
 
 
 	/** @test */
-	public function requestWithValidTicketShouldRespondValidXML() {		
+	public function requestWithValidTicketShouldRespondValidXML() {
 		$this->dispatch('/opac/cas-server/validate?ticket='.md5(Zend_Session::getId().'300').'&service=http://test.com');
 		$this->assertContains('<cas:user>300</cas:user>',$this->_response->getBody());
 		$this->assertContains('<cas:proxyGrantingTicket>',$this->_response->getBody());
 	}
 
 	/** @test */
-	public function requestWithValidTicketPrefixedBySTShouldRespondValidXML() {		
+	public function requestWithValidTicketPrefixedBySTShouldRespondValidXML() {
 		$this->dispatch('/opac/cas-server/validate?ticket=ST-'.md5(Zend_Session::getId().'300').'&service=http://test.com');
 		$this->assertContains('<cas:user>300</cas:user>',$this->_response->getBody());
 		$this->assertContains('<cas:proxyGrantingTicket>',$this->_response->getBody());
@@ -73,20 +74,20 @@ class CasServerControllerValidateActionTest extends AbstractControllerTestCase {
 
 
 	/** @test */
-	public function requestWithValidTicketPrefixedBySTOnAuthenticateControllerShouldRespondValidXML() {		
+	public function requestWithValidTicketPrefixedBySTOnAuthenticateControllerShouldRespondValidXML() {
 		$this->dispatch('/opac/auth/validate?ticket=ST-'.md5(Zend_Session::getId().'300').'&service=http://test.com');
 		$this->assertContains('<cas:user>300</cas:user>',$this->_response->getBody());
 		$this->assertContains('<cas:proxyGrantingTicket>',$this->_response->getBody());
 	}
 
 
-	/** 
+	/**
 	 * see http://www.jasig.org/cas/protocol#validate-cas-1.0
-	 * @test 
+	 * @test
 	 */
 	public function validateOnCasOneZeroWithValidTicketShouldAnswerYesLFUsernameLogin() {
 		$this->dispatch(
-			'/opac/cas-server-v10/validate?ticket=ST-'.md5(Zend_Session::getId().'300').'&service=http://test.com', 
+			'/opac/cas-server-v10/validate?ticket=ST-'.md5(Zend_Session::getId().'300').'&service=http://test.com',
 			true);
 		$this->assertEquals('yes'.chr(10).'georges|87364'.chr(10), $this->_response->getBody());
 	}
@@ -95,7 +96,7 @@ class CasServerControllerValidateActionTest extends AbstractControllerTestCase {
 	/**  @test  */
 	public function validateOnCasOneZeroWithInValidTicketShouldAnswerNoLF() {
 		$this->dispatch(
-			'/opac/cas-server-v10/validate?ticket=zork&service=http://test.com', 
+			'/opac/cas-server-v10/validate?ticket=zork&service=http://test.com',
 			true);
 		$this->assertEquals('no'.chr(10), $this->_response->getBody());
 	}
@@ -142,22 +143,23 @@ class CasServerControllerMusicMeValidateActionTest extends AbstractControllerTes
 
 	public function setUp() {
 		parent::setUp();
+		Storm_Cache::beVolatile();
 		$tom = Class_Users::newInstanceWithId(300,
 																					['nom' => 'Ate',
 																					 'prenom' => 'Tom']);
 		ZendAfi_Auth::getInstance()->logUser($tom);
 	}
 
-	
+
 	/** @test */
-	public function requestMusicMeWithNoTicketShouldRespondAccountDisabledXML() {		
+	public function requestMusicMeWithNoTicketShouldRespondAccountDisabledXML() {
 		$this->dispatch('/opac/cas-server/validate-musicme?MediaLibraryID=150&ticket=ST-0a1b2c3d');
 		$this->assertContains('<User />',$this->_response->getBody());
 	}
 
 
 	/** @test */
-	public function requestMusicMeWithValidTicketShouldRespondValidXML() {			
+	public function requestMusicMeWithValidTicketShouldRespondValidXML() {
 		$this->dispatch('/opac/cas-server/validate-musicme?ticket=ST-'.md5(Zend_Session::getId().'300').'&MediaLibraryID=http://test.com');
 		$this->assertContains('<ID>300</ID>',$this->_response->getBody());
 	}
diff --git a/tests/application/modules/telephone/controllers/CasServerControllerTest.php b/tests/application/modules/telephone/controllers/CasServerControllerTest.php
index 7e98fe2249a..745f4700baf 100644
--- a/tests/application/modules/telephone/controllers/CasServerControllerTest.php
+++ b/tests/application/modules/telephone/controllers/CasServerControllerTest.php
@@ -24,14 +24,14 @@ require_once 'TelephoneAbstractControllerTestCase.php';
 class Telephone_CasServerControllerLoggedTest extends TelephoneAbstractControllerTestCase {
 	public function setUp() {
 		parent::setUp();
+		Storm_Cache::beVolatile();
 		$user = new StdClass();
 		$user->ID_USER=300;
 		Class_Users::newInstanceWithId(300,
 		                               ['login' => '87364',
 																	  'pseudo' => 'georges']);
-		Zend_Registry::get('cache')->save('300',
-																			md5(Zend_Session::getId().'300'));
-
+		(new Storm_Cache())->save('300',
+															md5(Zend_Session::getId().'300'));
 	}
 
 	/** @test */
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index 3c0d2efbce7..866127bfa7c 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
  * along with BOKEH; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 chdir(realpath(dirname(__FILE__)).'/../');
 
@@ -56,7 +56,7 @@ defineConstant("URL_SHARED_IMG", BASE_URL . "/public/opac/images");
 
 setupOpac();
 
-Zend_Registry::get('cache')->setOption('caching', true);
+(new Storm_Cache())->getCache()->setOption('caching', true);
 
 $db_cache = Zend_Cache::factory('Core',
 																'File',
@@ -66,7 +66,6 @@ $db_cache = Zend_Cache::factory('Core',
 
 Zend_Db_Table_Abstract::setDefaultMetadataCache($db_cache);
 
-
 Storm_Cache::setSeed('local');
 
 $cfg = new Zend_Config(Zend_Registry::get('cfg')->toArray(), true);
diff --git a/tests/library/ZendAfi/View/Helper/Accueil/CacheTest.php b/tests/library/ZendAfi/View/Helper/Accueil/CacheTest.php
index 10b0e75ea76..f9fba49b7af 100644
--- a/tests/library/ZendAfi/View/Helper/Accueil/CacheTest.php
+++ b/tests/library/ZendAfi/View/Helper/Accueil/CacheTest.php
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
  * along with BOKEH; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 require_once 'library/ZendAfi/View/Helper/ViewHelperTestCase.php';
 
@@ -26,18 +26,17 @@ class CacheWithCritiquesTest extends ViewHelperTestCase {
 	public function setUp() {
 		parent::setUp();
 
-		$cfg = new Zend_Config(['sgbd'=>['config'=>['dbname'=>'dbTest']]]);
-		setupCache($cfg);
-		
-		$params = array('type_module' => 'CRITIQUES',
-										'division' => 2,
-										'preferences' => array('boite' => 'boite_vide',
-																					 'titre' => 'Critiques',
-																					 'rss_avis' => false,
-																					 'display_order' => 'Random',
-																					 'only_img' => true));
+		Storm_Cache::beVolatile();
 
-		$this->avis_loader = $this->getMock('MockLoader', array('getAvisFromPreferences'));
+		$params = ['type_module' => 'CRITIQUES',
+							 'division' => 2,
+							 'preferences' => ['boite' => 'boite_vide',
+																 'titre' => 'Critiques',
+																 'rss_avis' => false,
+																 'display_order' => 'Random',
+																 'only_img' => true]];
+
+		$this->avis_loader = $this->getMock('MockLoader', ['getAvisFromPreferences']);
 		Storm_Model_Abstract::setLoaderFor('Class_AvisNotice', $this->avis_loader);
 
 		$this->critiques_helper = new ZendAfi_View_Helper_Accueil_Critiques(2, $params);
diff --git a/tests/library/ZendAfi/View/Helper/ViewHelperTestCase.php b/tests/library/ZendAfi/View/Helper/ViewHelperTestCase.php
index 2872f6def54..a78ce5bbc60 100644
--- a/tests/library/ZendAfi/View/Helper/ViewHelperTestCase.php
+++ b/tests/library/ZendAfi/View/Helper/ViewHelperTestCase.php
@@ -129,7 +129,7 @@ abstract class ViewHelperTestCase extends PHPUnit_Framework_TestCase {
 
 	protected function tearDown() {
 		Storm_Model_Abstract::unsetLoaders();
-		Zend_Registry::get('cache')->clean();
+		(new Storm_Cache)->clean();
 		$this->logout();
 	}
 
-- 
GitLab