add port configuration support
This commit is contained in:
parent
4cffb9b95c
commit
eaafc88d33
|
@ -45,6 +45,7 @@ tests/cli/vendor
|
||||||
/tests/bin/tmp
|
/tests/bin/tmp
|
||||||
/tests/e2e/config/local-*.json
|
/tests/e2e/config/local-*.json
|
||||||
/tests/e2e/config/local.json
|
/tests/e2e/config/local.json
|
||||||
|
/tests/e2e/config/default.json
|
||||||
/tests/e2e/docker
|
/tests/e2e/docker
|
||||||
/tests/e2e/env/docker/wp-cli/initialize.sh
|
/tests/e2e/env/docker/wp-cli/initialize.sh
|
||||||
/tests/e2e/env/build/
|
/tests/e2e/env/build/
|
||||||
|
|
|
@ -7,7 +7,6 @@ WORDPRESS_TABLE_PREFIX=wp_
|
||||||
WORDPRESS_DEBUG=1
|
WORDPRESS_DEBUG=1
|
||||||
|
|
||||||
# WordPress CLI environment
|
# WordPress CLI environment
|
||||||
WORDPRESS_PORT=8084
|
|
||||||
WORDPRESS_HOST=wordpress-www:80
|
WORDPRESS_HOST=wordpress-www:80
|
||||||
WORDPRESS_TITLE=WooCommerce Core E2E Test Suite
|
WORDPRESS_TITLE=WooCommerce Core E2E Test Suite
|
||||||
WORDPRESS_LOGIN=admin
|
WORDPRESS_LOGIN=admin
|
||||||
|
|
|
@ -5,6 +5,7 @@ const program = require( 'commander' );
|
||||||
const path = require( 'path' );
|
const path = require( 'path' );
|
||||||
const fs = require( 'fs' );
|
const fs = require( 'fs' );
|
||||||
const getAppPath = require( '../utils/app-root' );
|
const getAppPath = require( '../utils/app-root' );
|
||||||
|
const getTestConfig = require( '../utils/test-config' );
|
||||||
|
|
||||||
const dockerArgs = [];
|
const dockerArgs = [];
|
||||||
let command = '';
|
let command = '';
|
||||||
|
@ -48,9 +49,28 @@ if ( appPath ) {
|
||||||
envVars.APP_NAME = path.basename( appPath );
|
envVars.APP_NAME = path.basename( appPath );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Load test configuration file into an object.
|
||||||
|
const localTestConfigFile = path.resolve( appPath, 'tests/e2e/config/default.json' );
|
||||||
|
const testConfigFile = path.resolve( __dirname, '../config/default.json' );
|
||||||
|
// Copy local test configuration file if it exists.
|
||||||
|
if ( fs.existsSync( localTestConfigFile ) ) {
|
||||||
|
fs.copyFileSync(
|
||||||
|
localTestConfigFile,
|
||||||
|
testConfigFile
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const testConfig = getTestConfig();
|
||||||
|
|
||||||
|
// Set some environment variables
|
||||||
if ( ! process.env.WC_E2E_FOLDER_MAPPING ) {
|
if ( ! process.env.WC_E2E_FOLDER_MAPPING ) {
|
||||||
envVars.WC_E2E_FOLDER_MAPPING = '/var/www/html/wp-content/plugins/' + envVars.APP_NAME;
|
envVars.WC_E2E_FOLDER_MAPPING = '/var/www/html/wp-content/plugins/' + envVars.APP_NAME;
|
||||||
}
|
}
|
||||||
|
if ( ! global.process.env.WORDPRESS_PORT ) {
|
||||||
|
global.process.env.WORDPRESS_PORT = testConfig.port;
|
||||||
|
}
|
||||||
|
if ( ! global.process.env.WORDPRESS_URL ) {
|
||||||
|
global.process.env.WORDPRESS_URL = testConfig.url;
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure that the first Docker compose file loaded is from our local env.
|
// Ensure that the first Docker compose file loaded is from our local env.
|
||||||
dockerArgs.unshift( '-f', path.resolve( __dirname, '../docker-compose.yaml' ) );
|
dockerArgs.unshift( '-f', path.resolve( __dirname, '../docker-compose.yaml' ) );
|
||||||
|
|
|
@ -8,8 +8,9 @@ DELAY_SEC=10
|
||||||
|
|
||||||
# Counter for the loop that checks if the Docker container had been built
|
# Counter for the loop that checks if the Docker container had been built
|
||||||
count=0
|
count=0
|
||||||
|
WP_BASE_URL=$(node utils/get-base-url.js)
|
||||||
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' localhost:8084/?pagename=ready)" != "200" ]]
|
echo "Testing URL: $WP_BASE_URL"
|
||||||
|
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' ${WP_BASE_URL}/?pagename=ready)" != "200" ]]
|
||||||
|
|
||||||
do
|
do
|
||||||
echo "$(date) - Docker container is still being built"
|
echo "$(date) - Docker container is still being built"
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
|
const getTestConfig = require( '../utils/test-config' );
|
||||||
|
const testConfig = getTestConfig();
|
||||||
|
|
||||||
global.process.env = {
|
global.process.env = {
|
||||||
...global.process.env,
|
...global.process.env,
|
||||||
// Gutenberg test util functions expect the test url to be at :8889, we change it to 8084.
|
// Remove the trailing slash from jest sequencer WORDPRESS_URL.
|
||||||
WP_BASE_URL: 'http://localhost:8084',
|
WP_BASE_URL: testConfig.baseUrl,
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
const getTestConfig = require( './test-config' );
|
||||||
|
const testConfig = getTestConfig();
|
||||||
|
|
||||||
|
console.log(testConfig.baseUrl);
|
|
@ -1,5 +1,7 @@
|
||||||
const getAppRoot = require( './app-root' );
|
const getAppRoot = require( './app-root' );
|
||||||
|
const getTestConfig = require( './test-config' );
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
getAppRoot,
|
getAppRoot,
|
||||||
|
getTestConfig,
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
const path = require( 'path' );
|
||||||
|
const fs = require( 'fs' );
|
||||||
|
|
||||||
|
const getTestConfig = () => {
|
||||||
|
const testConfigFile = path.resolve( __dirname, '../config/default.json' );
|
||||||
|
const rawTestConfig = fs.readFileSync( testConfigFile );
|
||||||
|
|
||||||
|
let testConfig = JSON.parse(rawTestConfig);
|
||||||
|
testConfig.baseUrl = testConfig.url.substr(0, testConfig.url.length - 1);
|
||||||
|
let testPort = testConfig.url.match(/[0-9]+/);
|
||||||
|
testConfig.port = testPort[0] ? testPort[0] : '8084';
|
||||||
|
return testConfig;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = getTestConfig;
|
Loading…
Reference in New Issue