aboutsummaryrefslogtreecommitdiffstats
path: root/tests/dbal/migrator_tool_config_test.php
diff options
context:
space:
mode:
authorDavid King <imkingdavid@gmail.com>2013-02-06 12:25:13 -0500
committerDavid King <imkingdavid@gmail.com>2013-02-06 12:25:13 -0500
commiteffaef6bddf49b9016d66bd64706392fcdb452b3 (patch)
treeb2fc1cba8a269453e5a1ec7667141e69a8d34429 /tests/dbal/migrator_tool_config_test.php
parent1e5a1b72dca4e0ccae9340467225499649dea6c8 (diff)
parent77df9109b61ec93c28a8120a8d81a045961b24ac (diff)
downloadforums-effaef6bddf49b9016d66bd64706392fcdb452b3.tar
forums-effaef6bddf49b9016d66bd64706392fcdb452b3.tar.gz
forums-effaef6bddf49b9016d66bd64706392fcdb452b3.tar.bz2
forums-effaef6bddf49b9016d66bd64706392fcdb452b3.tar.xz
forums-effaef6bddf49b9016d66bd64706392fcdb452b3.zip
Merge remote-tracking branch 'EXreaction/feature/migrations' into develop
* EXreaction/feature/migrations: (48 commits) [feature/migrations] Remove default values from necessary parameters [feature/migrations] Revert unrelated changes to functions.php [ticket/9737] Fix some comments [ticket/9737] Fix a few minor things in migrations [feature/migrations] Make sure migration data not done before running data step [feature/migrations] Function to populate the migrations table (for install) [feature/migrations] Function effectively_installed() in migrations [feature/migrations] Make load_migrations recursive (optionally) [feature/migrations] Make the test depends_on methods static [feature/migrations] Make depends_on static to call it without dependencies [feature/migrations] install/database_update_migrations.php [feature/migrations] Move test.php -> install/database_update_migrations.php [feature/migrations] Store depends on in the database (serialized) [feature/migrations] Revert method completed [feature/migrations] Basic reverting test [feature/migrations] Test for calling a step multiple times [feature/migrations] Creating revert method to attempt reverting a migration [feature/migrations] Some comments in db_tools [feature/migrations] Reverse data functionality [feature/migrations] Comment ... Conflicts: phpBB/install/schemas/firebird_schema.sql phpBB/install/schemas/mssql_schema.sql phpBB/install/schemas/mysql_40_schema.sql phpBB/install/schemas/mysql_41_schema.sql phpBB/install/schemas/oracle_schema.sql phpBB/install/schemas/postgres_schema.sql phpBB/install/schemas/sqlite_schema.sql
Diffstat (limited to 'tests/dbal/migrator_tool_config_test.php')
-rw-r--r--tests/dbal/migrator_tool_config_test.php124
1 files changed, 124 insertions, 0 deletions
diff --git a/tests/dbal/migrator_tool_config_test.php b/tests/dbal/migrator_tool_config_test.php
new file mode 100644
index 0000000000..7d582f230b
--- /dev/null
+++ b/tests/dbal/migrator_tool_config_test.php
@@ -0,0 +1,124 @@
+<?php
+/**
+*
+* @package testing
+* @copyright (c) 2011 phpBB Group
+* @license http://opensource.org/licenses/gpl-license.php GNU Public License
+*
+*/
+
+require_once dirname(__FILE__) . '/../../phpBB/includes/db/migration/tool/config.php';
+require_once dirname(__FILE__) . '/../../phpBB/includes/db/migration/exception.php';
+
+class phpbb_dbal_migrator_tool_config_test extends phpbb_test_case
+{
+ public function setup()
+ {
+ $this->config = new phpbb_config(array());
+
+ $this->tool = new phpbb_db_migration_tool_config($this->config);
+
+ parent::setup();
+ }
+
+ public function test_add()
+ {
+ try
+ {
+ $this->tool->add('foo', 'bar');
+ }
+ catch (Exception $e)
+ {
+ $this->fail($e);
+ }
+ $this->assertEquals('bar', $this->config['foo']);
+
+ try
+ {
+ $this->tool->add('foo', 'bar');
+ $this->fail('Exception not thrown');
+ }
+ catch (Exception $e) {}
+ }
+
+ public function test_update()
+ {
+ $this->config->set('foo', 'bar');
+ try
+ {
+ $this->tool->update('foo', 'bar2');
+ }
+ catch (Exception $e)
+ {
+ $this->fail($e);
+ }
+ $this->assertEquals('bar2', $this->config['foo']);
+ }
+
+ public function test_update_if_equals()
+ {
+ $this->config->set('foo', 'bar');
+
+ try
+ {
+ $this->tool->update_if_equals('', 'foo', 'bar2');
+ }
+ catch (Exception $e)
+ {
+ $this->fail($e);
+ }
+ $this->assertEquals('bar', $this->config['foo']);
+
+ try
+ {
+ $this->tool->update_if_equals('bar', 'foo', 'bar2');
+ }
+ catch (Exception $e)
+ {
+ $this->fail($e);
+ }
+ $this->assertEquals('bar2', $this->config['foo']);
+ }
+
+ public function test_remove()
+ {
+ $this->config->set('foo', 'bar');
+
+ try
+ {
+ $this->tool->remove('foo');
+ }
+ catch (Exception $e)
+ {
+ $this->fail($e);
+ }
+ $this->assertFalse(isset($this->config['foo']));
+ }
+
+ public function test_reverse()
+ {
+ $this->config->set('foo', 'bar');
+
+ try
+ {
+ $this->tool->reverse('add', 'foo');
+ }
+ catch (Exception $e)
+ {
+ $this->fail($e);
+ }
+ $this->assertFalse(isset($this->config['foo']));
+
+ $this->config->set('foo', 'bar');
+
+ try
+ {
+ $this->tool->reverse('update_if_equals', 'test', 'foo', 'bar');
+ }
+ catch (Exception $e)
+ {
+ $this->fail($e);
+ }
+ $this->assertEquals('test', $this->config['foo']);
+ }
+}