From 6c88467ac4fd0216ea16eefc445ffe0e212301ad Mon Sep 17 00:00:00 2001 From: Anton Andersen Date: Wed, 19 Nov 2014 14:37:13 +0300 Subject: [PATCH] Fixes #6103: Improved codeception config in app templates to ease testing of advanced app on multiple hosts --- apps/advanced/tests/codeception/backend/_bootstrap.php | 5 +++-- apps/advanced/tests/codeception/backend/acceptance.suite.yml | 5 +++-- apps/advanced/tests/codeception/backend/codeception.yml | 4 ++-- apps/advanced/tests/codeception/common/_bootstrap.php | 1 + apps/advanced/tests/codeception/console/_bootstrap.php | 1 + apps/advanced/tests/codeception/frontend/_bootstrap.php | 5 +++-- .../advanced/tests/codeception/frontend/acceptance.suite.yml | 5 +++-- apps/advanced/tests/codeception/frontend/codeception.yml | 4 ++-- apps/basic/tests/codeception.yml | 4 ++-- apps/basic/tests/codeception/_bootstrap.php | 5 +++-- apps/basic/tests/codeception/acceptance.suite.yml | 5 +++-- 11 files changed, 26 insertions(+), 18 deletions(-) diff --git a/apps/advanced/tests/codeception/backend/_bootstrap.php b/apps/advanced/tests/codeception/backend/_bootstrap.php index 30bd718c23..a28a3d27fd 100644 --- a/apps/advanced/tests/codeception/backend/_bootstrap.php +++ b/apps/advanced/tests/codeception/backend/_bootstrap.php @@ -4,7 +4,7 @@ defined('YII_ENV') or define('YII_ENV', 'test'); defined('YII_APP_BASE_PATH') or define('YII_APP_BASE_PATH', dirname(dirname(dirname(__DIR__)))); -defined('YII_BACKEND_TEST_ENTRY_URL') or define('YII_BACKEND_TEST_ENTRY_URL', \Codeception\Configuration::config()['config']['test_entry_url']); +defined('YII_BACKEND_TEST_ENTRY_URL') or define('YII_BACKEND_TEST_ENTRY_URL', parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PATH)); defined('YII_TEST_BACKEND_ENTRY_FILE') or define('YII_TEST_BACKEND_ENTRY_FILE', YII_APP_BASE_PATH . '/backend/web/index-test.php'); require_once(YII_APP_BASE_PATH . '/vendor/autoload.php'); @@ -17,6 +17,7 @@ require_once(YII_APP_BASE_PATH . '/backend/config/bootstrap.php'); // the entry script file path for functional and acceptance tests $_SERVER['SCRIPT_FILENAME'] = YII_TEST_BACKEND_ENTRY_FILE; $_SERVER['SCRIPT_NAME'] = YII_BACKEND_TEST_ENTRY_URL; -$_SERVER['SERVER_NAME'] = 'localhost'; +$_SERVER['SERVER_NAME'] = parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_HOST); +$_SERVER['SERVER_PORT'] = parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PORT) ?: '80'; Yii::setAlias('@tests', dirname(dirname(__DIR__))); diff --git a/apps/advanced/tests/codeception/backend/acceptance.suite.yml b/apps/advanced/tests/codeception/backend/acceptance.suite.yml index f93f392e24..1828a04145 100644 --- a/apps/advanced/tests/codeception/backend/acceptance.suite.yml +++ b/apps/advanced/tests/codeception/backend/acceptance.suite.yml @@ -20,8 +20,9 @@ modules: # - WebDriver config: PhpBrowser: - url: 'http://localhost:8080' +# PLEASE ADJUST IT TO THE ACTUAL ENTRY POINT WITHOUT PATH INFO + url: http://localhost:8080 # WebDriver: -# url: 'http://localhost' +# url: http://localhost:8080 # browser: firefox # restart: true diff --git a/apps/advanced/tests/codeception/backend/codeception.yml b/apps/advanced/tests/codeception/backend/codeception.yml index c16ac4765b..99f1bb2a83 100644 --- a/apps/advanced/tests/codeception/backend/codeception.yml +++ b/apps/advanced/tests/codeception/backend/codeception.yml @@ -12,6 +12,6 @@ settings: memory_limit: 1024M log: true config: - # the entry script URL (without host info) for functional and acceptance tests + # the entry script URL (with host info) for functional and acceptance tests # PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL - test_entry_url: /backend/web/index-test.php + test_entry_url: http://localhost:8080/backend/web/index-test.php diff --git a/apps/advanced/tests/codeception/common/_bootstrap.php b/apps/advanced/tests/codeception/common/_bootstrap.php index b1659df4c6..cea3ee57d4 100644 --- a/apps/advanced/tests/codeception/common/_bootstrap.php +++ b/apps/advanced/tests/codeception/common/_bootstrap.php @@ -10,5 +10,6 @@ require_once(YII_APP_BASE_PATH . '/common/config/bootstrap.php'); // set correct script paths $_SERVER['SERVER_NAME'] = 'localhost'; +$_SERVER['SERVER_PORT'] = '80'; Yii::setAlias('@tests', dirname(dirname(__DIR__))); diff --git a/apps/advanced/tests/codeception/console/_bootstrap.php b/apps/advanced/tests/codeception/console/_bootstrap.php index d49dd68e12..7500628484 100644 --- a/apps/advanced/tests/codeception/console/_bootstrap.php +++ b/apps/advanced/tests/codeception/console/_bootstrap.php @@ -11,5 +11,6 @@ require_once(YII_APP_BASE_PATH . '/console/config/bootstrap.php'); // set correct script paths $_SERVER['SERVER_NAME'] = 'localhost'; +$_SERVER['SERVER_PORT'] = '80'; Yii::setAlias('@tests', dirname(dirname(__DIR__))); diff --git a/apps/advanced/tests/codeception/frontend/_bootstrap.php b/apps/advanced/tests/codeception/frontend/_bootstrap.php index ed3bf91355..03fbc14573 100644 --- a/apps/advanced/tests/codeception/frontend/_bootstrap.php +++ b/apps/advanced/tests/codeception/frontend/_bootstrap.php @@ -4,7 +4,7 @@ defined('YII_ENV') or define('YII_ENV', 'test'); defined('YII_APP_BASE_PATH') or define('YII_APP_BASE_PATH', dirname(dirname(dirname(__DIR__)))); -defined('FRONTEND_ENTRY_URL') or define('FRONTEND_ENTRY_URL', \Codeception\Configuration::config()['config']['test_entry_url']); +defined('FRONTEND_ENTRY_URL') or define('FRONTEND_ENTRY_URL', parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PATH)); defined('FRONTEND_ENTRY_FILE') or define('FRONTEND_ENTRY_FILE', YII_APP_BASE_PATH . '/frontend/web/index-test.php'); require_once(YII_APP_BASE_PATH . '/vendor/autoload.php'); @@ -17,6 +17,7 @@ require_once(YII_APP_BASE_PATH . '/frontend/config/bootstrap.php'); // the entry script file path for functional and acceptance tests $_SERVER['SCRIPT_FILENAME'] = FRONTEND_ENTRY_FILE; $_SERVER['SCRIPT_NAME'] = FRONTEND_ENTRY_URL; -$_SERVER['SERVER_NAME'] = 'localhost'; +$_SERVER['SERVER_NAME'] = parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_HOST); +$_SERVER['SERVER_PORT'] = parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PORT) ?: '80'; Yii::setAlias('@tests', dirname(dirname(__DIR__))); diff --git a/apps/advanced/tests/codeception/frontend/acceptance.suite.yml b/apps/advanced/tests/codeception/frontend/acceptance.suite.yml index f93f392e24..1828a04145 100644 --- a/apps/advanced/tests/codeception/frontend/acceptance.suite.yml +++ b/apps/advanced/tests/codeception/frontend/acceptance.suite.yml @@ -20,8 +20,9 @@ modules: # - WebDriver config: PhpBrowser: - url: 'http://localhost:8080' +# PLEASE ADJUST IT TO THE ACTUAL ENTRY POINT WITHOUT PATH INFO + url: http://localhost:8080 # WebDriver: -# url: 'http://localhost' +# url: http://localhost:8080 # browser: firefox # restart: true diff --git a/apps/advanced/tests/codeception/frontend/codeception.yml b/apps/advanced/tests/codeception/frontend/codeception.yml index 996c70acf8..1535d64298 100644 --- a/apps/advanced/tests/codeception/frontend/codeception.yml +++ b/apps/advanced/tests/codeception/frontend/codeception.yml @@ -12,6 +12,6 @@ settings: memory_limit: 1024M log: true config: - # the entry script URL (without host info) for functional and acceptance tests + # the entry script URL (with host info) for functional and acceptance tests # PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL - test_entry_url: /frontend/web/index-test.php + test_entry_url: http://localhost:8080/frontend/web/index-test.php diff --git a/apps/basic/tests/codeception.yml b/apps/basic/tests/codeception.yml index ba02c81b77..0a45a0c087 100644 --- a/apps/basic/tests/codeception.yml +++ b/apps/basic/tests/codeception.yml @@ -11,6 +11,6 @@ settings: log: true colors: true config: - # the entry script URL (without host info) for functional and acceptance tests + # the entry script URL (with host info) for functional and acceptance tests # PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL - test_entry_url: /index-test.php \ No newline at end of file + test_entry_url: http://localhost:8080/index-test.php \ No newline at end of file diff --git a/apps/basic/tests/codeception/_bootstrap.php b/apps/basic/tests/codeception/_bootstrap.php index 9855939782..755029ef33 100644 --- a/apps/basic/tests/codeception/_bootstrap.php +++ b/apps/basic/tests/codeception/_bootstrap.php @@ -2,7 +2,7 @@ defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'test'); -defined('YII_TEST_ENTRY_URL') or define('YII_TEST_ENTRY_URL', \Codeception\Configuration::config()['config']['test_entry_url']); +defined('YII_TEST_ENTRY_URL') or define('YII_TEST_ENTRY_URL', parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PATH)); defined('YII_TEST_ENTRY_FILE') or define('YII_TEST_ENTRY_FILE', dirname(dirname(__DIR__)) . '/web/index-test.php'); require_once(__DIR__ . '/../../vendor/autoload.php'); @@ -10,6 +10,7 @@ require_once(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); $_SERVER['SCRIPT_FILENAME'] = YII_TEST_ENTRY_FILE; $_SERVER['SCRIPT_NAME'] = YII_TEST_ENTRY_URL; -$_SERVER['SERVER_NAME'] = 'localhost'; +$_SERVER['SERVER_NAME'] = parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_HOST); +$_SERVER['SERVER_PORT'] = parse_url(\Codeception\Configuration::config()['config']['test_entry_url'], PHP_URL_PORT) ?: '80'; Yii::setAlias('@tests', dirname(__DIR__)); diff --git a/apps/basic/tests/codeception/acceptance.suite.yml b/apps/basic/tests/codeception/acceptance.suite.yml index a045043cd6..1781b00771 100644 --- a/apps/basic/tests/codeception/acceptance.suite.yml +++ b/apps/basic/tests/codeception/acceptance.suite.yml @@ -19,8 +19,9 @@ modules: # - WebDriver config: PhpBrowser: - url: 'http://localhost:8080' +# PLEASE ADJUST IT TO THE ACTUAL ENTRY POINT WITHOUT PATH INFO + url: http://localhost:8080 # WebDriver: -# url: 'http://localhost' +# url: http://localhost:8080 # browser: firefox # restart: true