From 9d2e4b1b0449adfe6f74ea647f84833ce9c23df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Lorenzo=20Rodr=C3=ADguez?= Date: Sun, 19 Sep 2010 22:11:31 -0430 Subject: [PATCH] Start removal of magin "test_suite" connection --- cake/tests/lib/cake_fixture_manager.php | 15 +++-------- cake/tests/lib/cake_test_model.php | 2 +- cake/tests/lib/cake_test_suite_dispatcher.php | 11 ++++++-- .../lib/templates/missing_conenction.php | 27 +++++++++++++++++++ 4 files changed, 40 insertions(+), 15 deletions(-) create mode 100644 cake/tests/lib/templates/missing_conenction.php diff --git a/cake/tests/lib/cake_fixture_manager.php b/cake/tests/lib/cake_fixture_manager.php index 8517c97a7c2..dd67cf6156b 100644 --- a/cake/tests/lib/cake_fixture_manager.php +++ b/cake/tests/lib/cake_fixture_manager.php @@ -91,21 +91,12 @@ protected function _initDb() { $testDbAvailable = $db->isConnected(); } - // Try for default DB if (!$testDbAvailable) { - $db = ConnectionManager::getDataSource('default'); - $_prefix = $db->config['prefix']; - $db->config['prefix'] = 'test_suite_'; + throw new MissingConnectionException(__('You need to create a $test datasource connection to start using fixtures')); } - ConnectionManager::create('test_suite', $db->config); - $db->config['prefix'] = $_prefix; - - // Get db connection - $this->_db = ConnectionManager::getDataSource('test_suite'); - $this->_db->cacheSources = false; - - ClassRegistry::config(array('ds' => 'test_suite')); + $this->_db = $db; + ClassRegistry::config(array('ds' => 'test')); $this->_initialized = true; } diff --git a/cake/tests/lib/cake_test_model.php b/cake/tests/lib/cake_test_model.php index de4f1be8dbd..52affed27d0 100644 --- a/cake/tests/lib/cake_test_model.php +++ b/cake/tests/lib/cake_test_model.php @@ -26,6 +26,6 @@ * @subpackage cake.cake.tests.lib */ class CakeTestModel extends Model { - public $useDbConfig = 'test_suite'; + public $useDbConfig = 'test'; public $cacheSources = false; } diff --git a/cake/tests/lib/cake_test_suite_dispatcher.php b/cake/tests/lib/cake_test_suite_dispatcher.php index 19d83af56be..4ed73d46813 100644 --- a/cake/tests/lib/cake_test_suite_dispatcher.php +++ b/cake/tests/lib/cake_test_suite_dispatcher.php @@ -272,7 +272,14 @@ function _parseParams() { * @return void */ function _runTestCase() { - $Reporter = CakeTestSuiteDispatcher::getReporter(); - return $this->Manager->runTestCase($this->params['case'], $Reporter, $this->params['codeCoverage']); + try { + $Reporter = CakeTestSuiteDispatcher::getReporter(); + return $this->Manager->runTestCase($this->params['case'], $Reporter, $this->params['codeCoverage']); + } catch (MissingConnectionException $exception) { + ob_end_clean(); + $baseDir = $this->_baseDir; + include CAKE_TESTS_LIB . 'templates' . DS . 'missing_conenction.php'; + exit(); + } } } diff --git a/cake/tests/lib/templates/missing_conenction.php b/cake/tests/lib/templates/missing_conenction.php new file mode 100644 index 00000000000..c77210f9541 --- /dev/null +++ b/cake/tests/lib/templates/missing_conenction.php @@ -0,0 +1,27 @@ + + * Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The Open Group Test Suite License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests + * @package cake + * @subpackage cake.cake.tests.libs + * @since CakePHP(tm) v 1.2.0.4433 + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + */ +?> + +
+

Missing Test Database Connection

+

getMessage(); ?>

+
getTraceAsString(); ?>
+
+ \ No newline at end of file