[NO-ISSUE] Fix Core E2E tes (#4450)

* fix Identity service in core using internal identity service in test env

* fix lint

* fix lint

* fix login

* fix travis yml

* remove log script
This commit is contained in:
Eugenio Romano
2019-03-18 00:18:56 +00:00
committed by GitHub
parent 8dc9eba4c7
commit 9d98f3196e
24 changed files with 151 additions and 128 deletions

View File

@@ -134,7 +134,7 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "core$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]]; if [[ $AFFECTED_LIBS =~ "core$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then then
(./scripts/test-e2e-lib.sh -host localhost:4200 --host_sso "$E2E_HOST_SSO" --host_bpm "$E2E_HOST_BPM" --host_identity "$E2E_HOST_IDENTITY" -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder core --skip-lint --use-dist || exit 1;); (./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -b --folder core --skip-lint --use-dist || exit 1;);
fi; fi;
- stage: e2e Test # Test process-services - stage: e2e Test # Test process-services
name: process-services name: process-services
@@ -143,7 +143,7 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]]; if [[ $AFFECTED_LIBS =~ "process-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder process-services --skip-lint --use-dist || exit 1;); (./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -b --folder process-services --skip-lint --use-dist || exit 1;);
fi; fi;
- stage: e2e Test # Test content-services - stage: e2e Test # Test content-services
name: content-services name: content-services
@@ -152,7 +152,7 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]]; if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder content-services --skip-lint --use-dist || exit 1;); (./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -b --folder content-services --skip-lint --use-dist || exit 1;);
fi; fi;
- stage: e2e Test # Test search - stage: e2e Test # Test search
name: search name: search
@@ -161,7 +161,7 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]]; if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder search --skip-lint --use-dist || exit 1;); (./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -b --folder search --skip-lint --use-dist || exit 1;);
fi; fi;
- stage: e2e Test # Test process-services-cloud - stage: e2e Test # Test process-services-cloud
name: process-services-cloud name: process-services-cloud
@@ -170,7 +170,7 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]]; if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then then
(./scripts/test-e2e-lib.sh -host localhost:4200 --host_sso "$E2E_HOST_SSO" --host_bpm "$E2E_HOST_BPM" --host_identity "$E2E_HOST_IDENTITY" -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder process-services-cloud --skip-lint --use-dist || exit 1;); (./scripts/test-e2e-lib.sh -host localhost:4200 --host_sso "$E2E_HOST_SSO" --host_bpm "$E2E_HOST_BPM" --host_identity "$E2E_HOST_IDENTITY" -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -b --folder process-services-cloud --skip-lint --use-dist || exit 1;);
fi; fi;
- stage: e2e Test # Test insights - stage: e2e Test # Test insights
name: insights name: insights
@@ -179,7 +179,7 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]]; if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder insights --skip-lint --use-dist || exit 1;); (./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -b --folder insights --skip-lint --use-dist || exit 1;);
fi; fi;
- stage: Create Docker PR - stage: Create Docker PR
script: node ./scripts/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1) script: node ./scripts/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1)

View File

@@ -42,7 +42,13 @@ export class ApiService {
}; };
apiService: any = new AlfrescoApi(this.config); apiService: any;
constructor(clientId: string = 'activiti') {
this.config.oauth2.clientId = clientId;
this.apiService = new AlfrescoApi(this.config);
}
async login(username, password) { async login(username, password) {
await this.apiService.login(username, password); await this.apiService.login(username, password);

View File

@@ -20,9 +20,10 @@ import { Util } from '../../util/util';
export class Identity { export class Identity {
api: ApiService = new ApiService(); api: ApiService;
async init(username, password) { async init(username: string, password: string, clientId?: string) {
this.api = new ApiService(clientId);
await this.api.login(username, password); await this.api.login(username, password);
} }
@@ -55,8 +56,7 @@ export class Identity {
async deleteUser(userId) { async deleteUser(userId) {
const path = `/users/${userId}`; const path = `/users/${userId}`;
const method = 'DELETE'; const method = 'DELETE';
const queryParams = {}, postBody = { const queryParams = {}, postBody = {};
};
const data = await this.api.performIdentityOperation(path, method, queryParams, postBody); const data = await this.api.performIdentityOperation(path, method, queryParams, postBody);
return data; return data;
} }

View File

@@ -26,7 +26,6 @@ describe('Login component - SSO', () => {
const settingsPage = new SettingsPage(); const settingsPage = new SettingsPage();
const loginApsPage = new LoginSSOPage(); const loginApsPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
let silentLogin;
describe('Login component - SSO', () => { describe('Login component - SSO', () => {
@@ -36,26 +35,24 @@ describe('Login component - SSO', () => {
browser.executeScript('window.localStorage.clear();'); browser.executeScript('window.localStorage.clear();');
}); });
it('[C261050] Should be possible login in the PS with SSO', () => { it('[C261050] Should be possible login with SSO', () => {
silentLogin = false; settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false, true, 'alfresco');
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginApsPage.clickOnSSOButton(); loginApsPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginApsPage.loginAPS(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); loginApsPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
}); });
it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', () => { it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity); settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, true, true, 'alfresco');
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginApsPage.loginAPS(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); loginApsPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
}); });
}); });
describe('SSO Login Error for login componentO', () => { describe('SSO Login Error for login componentO', () => {
it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', () => { it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', () => {
silentLogin = false; settingsPage.setProviderEcmSso(TestConfig.adf.url, 'http://aps22/auth/realms/alfresco', TestConfig.adf.hostIdentity, false, true, 'alfresco');
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, 'http://aps22/auth/realms/alfresco', TestConfig.adf.hostIdentity, silentLogin);
loginApsPage.clickOnSSOButton(); loginApsPage.clickOnSSOButton();
loginApsPage.checkLoginErrorIsDisplayed(); loginApsPage.checkLoginErrorIsDisplayed();
expect(loginApsPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable'); expect(loginApsPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable');

View File

@@ -33,13 +33,13 @@ describe('User Info - SSO', () => {
let silentLogin, identityUser; let silentLogin, identityUser;
beforeAll(async () => { beforeAll(async () => {
await identityService.init(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await identityService.init(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword, 'alfresco');
identityUser = await identityService.createIdentityUser(); identityUser = await identityService.createIdentityUser();
silentLogin = false; silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin, true, 'alfresco');
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(identityUser.username, identityUser.password); loginSSOPage.loginSSOIdentityService(identityUser.username, identityUser.password);
}); });
afterAll (async () => { afterAll (async () => {

View File

@@ -140,6 +140,21 @@ export class SettingsPage {
await this.ssoRadioButton.click(); await this.ssoRadioButton.click();
} }
async setProviderEcmSso(contentServiceURL, authHost, identityHost, silentLogin = true, implicitFlow = true, clientId?: string) {
this.goToSettingsPage();
this.setProvider(this.ecm.option, this.ecm.text);
Util.waitUntilElementIsNotOnPage(this.bpmText);
Util.waitUntilElementIsVisible(this.ecmText);
await this.clickSsoRadioButton();
await this.setClientId(clientId);
await this.setContentServicesURL(contentServiceURL);
await this.setAuthHost(authHost);
await this.setIdentityHost(identityHost);
await this.setSilentLogin(silentLogin);
await this.setImplicitFlow(implicitFlow);
await this.clickApply();
}
async setProviderBpmSso(processServiceURL, authHost, identityHost, silentLogin = true, implicitFlow = true) { async setProviderBpmSso(processServiceURL, authHost, identityHost, silentLogin = true, implicitFlow = true) {
this.goToSettingsPage(); this.goToSettingsPage();
this.setProvider(this.bpm.option, this.bpm.text); this.setProvider(this.bpm.option, this.bpm.text);
@@ -161,10 +176,10 @@ export class SettingsPage {
this.bpmText.sendKeys(processServiceURL); this.bpmText.sendKeys(processServiceURL);
} }
async setClientId () { async setClientId(clientId: string = TestConfig.adf_aps.clientIdSso) {
Util.waitUntilElementIsVisible(this.clientIdText); Util.waitUntilElementIsVisible(this.clientIdText);
this.clientIdText.clear(); this.clientIdText.clear();
this.clientIdText.sendKeys(TestConfig.adf_aps.clientIdSso); this.clientIdText.sendKeys(clientId);
} }
async setContentServicesURL(contentServiceURL) { async setContentServicesURL(contentServiceURL) {

View File

@@ -33,7 +33,7 @@ describe('Applications list', () => {
it('[C289910] Should the app be displayed on dashboard when is deployed on APS', () => { it('[C289910] Should the app be displayed on dashboard when is deployed on APS', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity);
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudPage.checkApsContainer(); appListCloudPage.checkApsContainer();
appListCloudPage.checkAppIsDisplayed(appName); appListCloudPage.checkAppIsDisplayed(appName);

View File

@@ -43,7 +43,7 @@ describe('Edit process filters cloud', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
}); });
beforeEach((done) => { beforeEach((done) => {

View File

@@ -47,7 +47,7 @@ describe('Edit task filters cloud', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await tasksService.init(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await tasksService.init(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp); assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);

View File

@@ -80,7 +80,7 @@ describe('People Groups Cloud Component', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToPeopleGroupCloudPage(); navigationBarPage.navigateToPeopleGroupCloudPage();
}); });

View File

@@ -57,7 +57,7 @@ describe('Process list cloud', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
navigationBarPage.clickConfigEditorButton(); navigationBarPage.clickConfigEditorButton();
configEditorPage.clickEditProcessCloudConfiguration(); configEditorPage.clickEditProcessCloudConfiguration();

View File

@@ -55,7 +55,7 @@ describe('Process filters cloud', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
await processDefinitionService.init(user, password); await processDefinitionService.init(user, password);
let processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp); let processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);

View File

@@ -52,7 +52,7 @@ describe('Process list cloud', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
await processDefinitionService.init(user, password); await processDefinitionService.init(user, password);
let processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp); let processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);

View File

@@ -48,7 +48,7 @@ describe('Start Process', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
done(); done();

View File

@@ -53,7 +53,7 @@ describe('Start Task', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(appName); appListCloudComponent.checkAppIsDisplayed(appName);

View File

@@ -54,7 +54,7 @@ describe('Task Header cloud component', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
await tasksService.init(user, password); await tasksService.init(user, password);
let createdTaskId = await tasksService.createStandaloneTask(basicCreatedTaskName, simpleApp); let createdTaskId = await tasksService.createStandaloneTask(basicCreatedTaskName, simpleApp);

View File

@@ -46,7 +46,7 @@ describe('Task filters cloud', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
}); });
beforeEach((done) => { beforeEach((done) => {

View File

@@ -68,7 +68,7 @@ describe('Edit task filters and task list properties', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
navigationBarPage.clickConfigEditorButton(); navigationBarPage.clickConfigEditorButton();

View File

@@ -48,7 +48,7 @@ describe('Task list cloud - selection', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
await tasksService.init(user, password); await tasksService.init(user, password);
for (let i = 0; i < noOfTasks; i++) { for (let i = 0; i < noOfTasks; i++) {

View File

@@ -57,7 +57,7 @@ describe('Task filters cloud', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true; browser.ignoreSynchronization = true;
loginSSOPage.loginAPS(user, password); loginSSOPage.loginSSOIdentityService(user, password);
await tasksService.init(user, password); await tasksService.init(user, password);
await tasksService.createStandaloneTask(createdTaskName, simpleApp); await tasksService.createStandaloneTask(createdTaskName, simpleApp);

View File

@@ -3,14 +3,15 @@
* @class config.test.config * @class config.test.config
*/ */
var HOST = process.env.URL_HOST_ADF; const HOST = process.env.URL_HOST_ADF;
const HOST_BPM = process.env.URL_HOST_BPM_ADF; const HOST_BPM = process.env.URL_HOST_BPM_ADF;
const HOST_SSO = process.env.URL_HOST_SSO_ADF; const HOST_SSO = process.env.URL_HOST_SSO_ADF;
const HOST_IDENTITY = process.env.URL_HOST_IDENTITY; const HOST_IDENTITY = process.env.URL_HOST_IDENTITY;
var USERNAME = process.env.USERNAME_ADF; const USERNAME = process.env.USERNAME_ADF;
var PASSWORD = process.env.PASSWORD_ADF; const PASSWORD = process.env.PASSWORD_ADF;
var EMAIL = process.env.EMAIL_ADF; const EMAIL = process.env.EMAIL_ADF;
var TIMEOUT = parseInt(process.env.TIMEOUT, 10); const TIMEOUT = parseInt(process.env.TIMEOUT, 10);
const PROXY = process.env.PROXY_HOST_ADF;
module.exports = { module.exports = {
@@ -52,9 +53,16 @@ module.exports = {
hostBPM: "http://" + HOST_BPM, hostBPM: "http://" + HOST_BPM,
hostSso: "http://" + HOST_SSO, clientIdSso: "alfresco",
hostIdentity: "http://" + HOST_IDENTITY hostSso: function () {
return "http://" + (HOST_SSO ? HOST_SSO : (PROXY + '/auth/realms/alfresco'));
}(),
hostIdentity: function () {
console.log((PROXY + '/auth'));
return "http://" + (HOST_IDENTITY ? HOST_IDENTITY : (PROXY + '/auth/admin/realms/alfresco'));
}()
}, },

View File

@@ -26,7 +26,7 @@ export class LoginSSOPage {
header = element(by.id('adf-header')); header = element(by.id('adf-header'));
loginError = element(by.css(`div[data-automation-id="login-error"]`)); loginError = element(by.css(`div[data-automation-id="login-error"]`));
loginAPS(username, password) { loginSSOIdentityService(username, password) {
BrowserVisibility.waitUntilElementIsVisible(this.usernameField); BrowserVisibility.waitUntilElementIsVisible(this.usernameField);
this.enterUsername(username); this.enterUsername(username);
this.enterPassword(password); this.enterPassword(password);

View File

@@ -15,13 +15,10 @@ async function main() {
hostEcm: program.host hostEcm: program.host
}); });
console.log(program.username + program.password);
await this.alfrescoJsApi.login(program.username, program.password); await this.alfrescoJsApi.login(program.username, program.password);
await deletetSite(this.alfrescoJsApi); await deletetSite(this.alfrescoJsApi);
await emptyTrashCan(this.alfrescoJsApi); await emptyTrashCan(this.alfrescoJsApi);
} }
async function emptyTrashCan(alfrescoJsApi) { async function emptyTrashCan(alfrescoJsApi) {

View File

@@ -15,11 +15,11 @@ show_help() {
echo "-u or --username" echo "-u or --username"
echo "-p or --password" echo "-p or --password"
echo "-e or --email" echo "-e or --email"
echo "-b or --browser run the test in the browsrwer (No headless mode)" echo "-b or --browser run the test in the browser (No headless mode)"
echo "-s or --spec run a single test file" echo "-s or --spec run a single test file"
echo "-f or --folder run a single folder test" echo "-f or --folder run a single folder test"
echo "--seleniumServer configure a selenium server to use to run the e2e test" echo "--seleniumServer configure a selenium server to use to run the e2e test"
echo "-proxy or --proxy proxy Back end URL to use only possibel to use with -dev option" echo "-proxy or --proxy proxy Back end URL to use only possible to use with -dev option"
echo "-dev or --dev run it against local development environment it will deploy on localhost:4200 the current version of your branch" echo "-dev or --dev run it against local development environment it will deploy on localhost:4200 the current version of your branch"
echo "-host or --host URL of the Front end to test" echo "-host or --host URL of the Front end to test"
echo "-host_bpm URL of the Back end to test" echo "-host_bpm URL of the Back end to test"