From e173f36bcb50451c49e5708de29fcb41267b41f4 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 2 Nov 2008 23:55:09 +0000 Subject: Create some basic infrastructure: * item model (contains basic item info, similar to the gx version) * module model (has info about each module and which version of it is installed) * added a very basic unit test to verify that we can create an instance of item * Updated our test controller to require a unit_test db config and call core::install if it hasn't been done already. New pattern: * core/helpers/core_installer.php creates core_installer helper. When we install a new module you call xxx_installer::install(), and when you want it to go away, you do xxx_installer::uninstall() Create --- modules/gallery_unit_test/controllers/test.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'modules') diff --git a/modules/gallery_unit_test/controllers/test.php b/modules/gallery_unit_test/controllers/test.php index 052a58e5..d012cf8b 100644 --- a/modules/gallery_unit_test/controllers/test.php +++ b/modules/gallery_unit_test/controllers/test.php @@ -23,6 +23,27 @@ class Test_Controller extends Controller { print Kohana::show_404(); } + $original_config = DOCROOT . "var/database.php"; + $test_config = VARPATH . "database.php"; + if (!file_exists($original_config)) { + print "Please create $original and create a 'unit_test' database configuration.\n"; + } else { + copy($original_config, $test_config); + $db_config = Kohana::config('database'); + if (empty($db_config['unit_test'])) { + print "Please create create a 'unit_test' database configuration in $db_config.\n"; + return; + } + + try { + $db = Database::instance('unit_test'); + $db->connect(); + } catch (Exception $e) { + print "{$e->getMessage()}\n"; + return; + } + } + // Find all tests, excluding sample tests that come with the unit_test module. $paths = array(APPPATH . "tests"); foreach (glob(MODPATH . "*/tests") as $path) { @@ -32,6 +53,8 @@ class Test_Controller extends Controller { } Kohana::config_set('unit_test.paths', $paths); + core_installer::install(); + print new Unit_Test(); } } -- cgit v1.2.3