From: scribu Date: Sat, 16 Feb 2013 20:55:48 +0000 (+0200) Subject: move db commands to Command_Runner X-Git-Tag: v0.9.0~88^2~3 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4a9c02f0847842d6379b7253523b889d8a9ff2ec;p=wvm%2Fwvm.git move db commands to Command_Runner --- diff --git a/tests/abstract-spec.php b/tests/abstract-spec.php index 08a1e27a..2183b408 100644 --- a/tests/abstract-spec.php +++ b/tests/abstract-spec.php @@ -2,29 +2,6 @@ abstract class WP_CLI_Spec extends PHPUnit_Extensions_Story_TestCase { - protected static $db_settings = array( - 'dbname' => 'wp_cli_test', - 'dbuser' => 'wp_cli_test', - 'dbpass' => 'password1' - ); - - private static function run_sql( $sql ) { - $dbuser = self::$db_settings['dbuser']; - $dbpass = self::$db_settings['dbpass']; - - exec( "mysql -u$dbuser -p$dbpass -e '$sql'" ); - } - - protected function tearDown() { - $dbname = self::$db_settings['dbname']; - $this->run_sql( "DROP DATABASE IF EXISTS $dbname" ); - } - - private function create_db() { - $dbname = self::$db_settings['dbname']; - $this->run_sql( "CREATE DATABASE $dbname" ); - } - public function runGiven( &$world, $action, $arguments ) { switch ( $action ) { case 'empty dir': { @@ -33,7 +10,7 @@ abstract class WP_CLI_Spec extends PHPUnit_Extensions_Story_TestCase { break; case 'database': { - $this->create_db(); + $world['runner']->create_db(); } break; @@ -43,15 +20,15 @@ abstract class WP_CLI_Spec extends PHPUnit_Extensions_Story_TestCase { break; case 'wp config': { - $world['runner']->create_config( self::$db_settings ); + $world['runner']->create_config(); } break; case 'wp install': { - $this->create_db(); $world['runner'] = new WP_CLI_Command_Runner; + $world['runner']->create_db(); $world['runner']->download_wordpress_files(); - $world['runner']->create_config( self::$db_settings ); + $world['runner']->create_config(); $world['runner']->run_install(); } break; @@ -79,7 +56,7 @@ abstract class WP_CLI_Spec extends PHPUnit_Extensions_Story_TestCase { break; case 'core config': { - $world['result'] = $world['runner']->create_config( self::$db_settings ); + $world['result'] = $world['runner']->create_config(); } break; diff --git a/tests/command-runner.php b/tests/command-runner.php index d35e4d1a..98d69557 100644 --- a/tests/command-runner.php +++ b/tests/command-runner.php @@ -2,11 +2,36 @@ class WP_CLI_Command_Runner { + protected static $db_settings = array( + 'dbname' => 'wp_cli_test', + 'dbuser' => 'wp_cli_test', + 'dbpass' => 'password1' + ); + private $install_dir; public function __construct() { $this->install_dir = sys_get_temp_dir() . '/' . uniqid( "wp-cli-test-", TRUE ); mkdir( $this->install_dir ); + + $this->drop_db(); + } + + public function create_db() { + $dbname = self::$db_settings['dbname']; + self::run_sql( "CREATE DATABASE $dbname" ); + } + + public function drop_db() { + $dbname = self::$db_settings['dbname']; + self::run_sql( "DROP DATABASE IF EXISTS $dbname" ); + } + + private static function run_sql( $sql ) { + $dbuser = self::$db_settings['dbuser']; + $dbpass = self::$db_settings['dbpass']; + + exec( "mysql -u$dbuser -p$dbpass -e '$sql'" ); } public function run( $command, $cwd = false ) { @@ -34,8 +59,8 @@ class WP_CLI_Command_Runner { return (object) compact( 'command', 'return_code', 'stdout', 'stderr' ); } - public function create_config( $db_settings ) { - return $this->run( 'core config' . \WP_CLI\Utils\assoc_args_to_str( $db_settings ) ); + public function create_config() { + return $this->run( 'core config' . \WP_CLI\Utils\assoc_args_to_str( self::$db_settings ) ); } public function define_custom_wp_content_dir() {