This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/static/test/protractor.conf.ts
Antoine Legrand fc8ba8b84e test yarn e2e
2017-07-28 15:03:35 +02:00

67 lines
1.9 KiB
TypeScript

import { Config, browser } from 'protractor';
import * as request from 'request';
/*
* Use a set environment variable or default value for the app host.
*/
export const appHost: string = process.env.APP_HOST || 'http://localhost:5000';
/**
* Protractor is configured to run against a Selenium instance running locally on port 4444 and a Quay instance running
* locally on port 5000.
* Easiest method is running the Quay and Selenium containers:
* $ docker run -d --net=host -v /dev/shm:/dev/shm selenium/standalone-chrome:3.4.0
* $ docker run -d --net=host quay.io/quay/quay
* $ yarn run e2e
*/
export const config: Config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
// Uncomment to run tests against local Chrome instance
// directConnect: true,
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: [
'--disable-infobars'
],
prefs: {
'profile.password_manager_enabled': false,
'credentials_enable_service': false,
'password_manager_enabled': false
}
}
},
onPrepare: () => {
browser.driver.manage().window().maximize();
// Resolve promise when request returns HTTP 200
return new Promise((resolve, reject) => {
const pollServer = (success, failure) => {
request(appHost, (error, response, body) => {
if (!error && response.statusCode == 200) {
console.log(`Successfully connected to server at ${appHost}`);
success();
} else {
console.log(`Could not connect to server at ${appHost}`);
setTimeout(() => {
failure(success, failure);
}, 5000);
}
});
};
pollServer(resolve, pollServer);
});
},
onComplete: () => {
browser.close();
},
specs: [
// './e2e/sanity.scenario.ts',
// './e2e/trigger-creation.scenario.ts',
'./e2e/image-repo.scenario.ts',
],
};