diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-11-02 23:55:09 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-11-02 23:55:09 +0000 |
commit | e173f36bcb50451c49e5708de29fcb41267b41f4 (patch) | |
tree | 8731a44fea798548426ffbbc24421c87091fe147 /modules | |
parent | aff7048b1f94dfcc98924bf9a0904dbba13709f7 (diff) |
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
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gallery_unit_test/controllers/test.php | 23 |
1 files changed, 23 insertions, 0 deletions
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(); } } |