diff options
author | Nathaniel Guse <nathaniel.guse@gmail.com> | 2013-02-11 21:37:15 -0600 |
---|---|---|
committer | Nathaniel Guse <nathaniel.guse@gmail.com> | 2013-02-11 21:37:15 -0600 |
commit | 54e9f7b50ab8b25f63945c6ff09cc9ffa80c04af (patch) | |
tree | 09adec7705026866584002de8cb7f760581e876b /tests/dbal/migration | |
parent | e4c37c159ab4eb152280dec8e46c9d98a26354a0 (diff) | |
parent | fa33eae556c248ef6b2d41d9c9203b29e23dfb3a (diff) | |
download | forums-54e9f7b50ab8b25f63945c6ff09cc9ffa80c04af.tar forums-54e9f7b50ab8b25f63945c6ff09cc9ffa80c04af.tar.gz forums-54e9f7b50ab8b25f63945c6ff09cc9ffa80c04af.tar.bz2 forums-54e9f7b50ab8b25f63945c6ff09cc9ffa80c04af.tar.xz forums-54e9f7b50ab8b25f63945c6ff09cc9ffa80c04af.zip |
Merge branch 'develop' of https://github.com/phpbb/phpbb3 into ticket/11103
# By Nathan Guse (28) and others
# Via Andreas Fischer (9) and others
* 'develop' of https://github.com/phpbb/phpbb3: (90 commits)
[ticket/11350] Do not pass $db by reference; typehint phpbb_db_driver
[feature/migrations] Remove default values from necessary parameters
[ticket/11201] Revert WLM dropping because it is still used in China.
[ticket/11220] Improvement to the info pop-up from "list="
[feature/migrations] Revert unrelated changes to functions.php
[ticket/11233] prohibit selecting anonymous user as a PM recipient
[ticket/11343] Remove spare parentheses.
[ticket/11343] Remove spare space.
[ticket/11343] Use === when checking stored user_actkey against user input.
[ticket/11295] Correct cases: replace postgres with phpbb_db_driver_postgres.
[ticket/10050] removing prosilver edits
[ticket/9737] Fix some comments
[ticket/11337] Abort setup-webserver.sh script when an error occurs.
[ticket/11337] Only run functional tests on 5.3.19 or higher. No FPM otherwise.
[ticket/11337] Silence nginx config file writing.
[ticket/11337] php-fpm.conf is no longer owned by root.
[ticket/11337] Run functional tests on travis using nginx and php-fpm.
[ticket/11338] Travis CI: Install PHP extension for redis key-value store.
[ticket/10050] adding .topicrow to template condition
[ticket/9737] Fix a few minor things in migrations
...
Conflicts:
phpBB/config/services.yml
phpBB/config/tables.yml
Diffstat (limited to 'tests/dbal/migration')
-rw-r--r-- | tests/dbal/migration/dummy.php | 27 | ||||
-rw-r--r-- | tests/dbal/migration/fail.php | 41 | ||||
-rw-r--r-- | tests/dbal/migration/if.php | 44 | ||||
-rw-r--r-- | tests/dbal/migration/installed.php | 30 | ||||
-rw-r--r-- | tests/dbal/migration/recall.php | 38 | ||||
-rw-r--r-- | tests/dbal/migration/revert.php | 40 | ||||
-rw-r--r-- | tests/dbal/migration/revert_with_dependency.php | 16 | ||||
-rw-r--r-- | tests/dbal/migration/unfulfillable.php | 26 |
8 files changed, 262 insertions, 0 deletions
diff --git a/tests/dbal/migration/dummy.php b/tests/dbal/migration/dummy.php new file mode 100644 index 0000000000..0ac6e733a1 --- /dev/null +++ b/tests/dbal/migration/dummy.php @@ -0,0 +1,27 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +class phpbb_dbal_migration_dummy extends phpbb_db_migration +{ + static public function depends_on() + { + return array('installed_migration'); + } + + function update_schema() + { + return array( + 'add_columns' => array( + 'phpbb_config' => array( + 'extra_column' => array('UINT', 1), + ), + ), + ); + } +} diff --git a/tests/dbal/migration/fail.php b/tests/dbal/migration/fail.php new file mode 100644 index 0000000000..f88d8169f5 --- /dev/null +++ b/tests/dbal/migration/fail.php @@ -0,0 +1,41 @@ +<?php +/** +* +* @package migration +* @copyright (c) 2012 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License v2 +* +*/ + +class phpbb_dbal_migration_fail extends phpbb_db_migration +{ + function update_schema() + { + return array( + 'add_columns' => array( + $this->table_prefix . 'config' => array( + 'test_column' => array('BOOL', 1), + ), + ), + ); + } + + function revert_schema() + { + return array( + 'drop_columns' => array( + $this->table_prefix . 'config' => array( + 'test_column', + ), + ), + ); + } + + function update_data() + { + return array( + array('config.add', array('foobar3', true)), + array('config.update', array('does_not_exist', true)), + ); + } +} diff --git a/tests/dbal/migration/if.php b/tests/dbal/migration/if.php new file mode 100644 index 0000000000..83fe21bd21 --- /dev/null +++ b/tests/dbal/migration/if.php @@ -0,0 +1,44 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +class phpbb_dbal_migration_if extends phpbb_db_migration +{ + function update_schema() + { + return array(); + } + + function update_data() + { + return array( + array('if', array( + true, + array('custom', array(array(&$this, 'test_true'))), + )), + array('if', array( + false, + array('custom', array(array(&$this, 'test_false'))), + )), + ); + } + + function test_true() + { + global $migrator_test_if_true_failed; + + $migrator_test_if_true_failed = false; + } + + function test_false() + { + global $migrator_test_if_false_failed; + + $migrator_test_if_false_failed = true; + } +} diff --git a/tests/dbal/migration/installed.php b/tests/dbal/migration/installed.php new file mode 100644 index 0000000000..01829f7a99 --- /dev/null +++ b/tests/dbal/migration/installed.php @@ -0,0 +1,30 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +class phpbb_dbal_migration_installed extends phpbb_db_migration +{ + function effectively_installed() + { + return true; + } + + function update_data() + { + return array( + array('custom', array(array(&$this, 'test'))), + ); + } + + function test() + { + global $migrator_test_installed_failed; + + $migrator_test_installed_failed = true; + } +} diff --git a/tests/dbal/migration/recall.php b/tests/dbal/migration/recall.php new file mode 100644 index 0000000000..6c2f04bf08 --- /dev/null +++ b/tests/dbal/migration/recall.php @@ -0,0 +1,38 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +class phpbb_dbal_migration_recall extends phpbb_db_migration +{ + function update_schema() + { + return array(); + } + + function update_data() + { + return array( + array('custom', array(array(&$this, 'test_call'))), + ); + } + + // This function should be called 10 times + function test_call($input) + { + global $migrator_test_call_input; + + $migrator_test_call_input = (int) $input; + + if ($migrator_test_call_input < 10) + { + return ($migrator_test_call_input + 1); + } + + return; + } +} diff --git a/tests/dbal/migration/revert.php b/tests/dbal/migration/revert.php new file mode 100644 index 0000000000..ac01987cd4 --- /dev/null +++ b/tests/dbal/migration/revert.php @@ -0,0 +1,40 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +class phpbb_dbal_migration_revert extends phpbb_db_migration +{ + function update_schema() + { + return array( + 'add_columns' => array( + 'phpbb_config' => array( + 'bar_column' => array('UINT', 1), + ), + ), + ); + } + + function revert_schema() + { + return array( + 'drop_columns' => array( + 'phpbb_config' => array( + 'bar_column', + ), + ), + ); + } + + function update_data() + { + return array( + array('config.add', array('foobartest', 0)), + ); + } +} diff --git a/tests/dbal/migration/revert_with_dependency.php b/tests/dbal/migration/revert_with_dependency.php new file mode 100644 index 0000000000..ca2c070e8c --- /dev/null +++ b/tests/dbal/migration/revert_with_dependency.php @@ -0,0 +1,16 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +class phpbb_dbal_migration_revert_with_dependency extends phpbb_db_migration +{ + static public function depends_on() + { + return array('phpbb_dbal_migration_revert'); + } +} diff --git a/tests/dbal/migration/unfulfillable.php b/tests/dbal/migration/unfulfillable.php new file mode 100644 index 0000000000..6d375e6880 --- /dev/null +++ b/tests/dbal/migration/unfulfillable.php @@ -0,0 +1,26 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +class phpbb_dbal_migration_unfulfillable extends phpbb_db_migration +{ + static public function depends_on() + { + return array('installed_migration', 'phpbb_dbal_migration_dummy', 'non_existant_migration'); + } + + function update_schema() + { + trigger_error('Schema update of migration with unfulfillable dependency was run!'); + } + + function update_data() + { + trigger_error('Data update of migration with unfulfillable dependency was run!'); + } +} |