Skip to content

Commit

Permalink
re-fix navigate path for master add SAML login to login_page (elastic…
Browse files Browse the repository at this point in the history
  • Loading branch information
Lee Drengenberg committed Jul 14, 2020
1 parent 9ccb3d0 commit f0d5d07
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 8 deletions.
60 changes: 55 additions & 5 deletions test/functional/page_objects/login_page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,76 @@
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*    http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/

import { delay } from 'bluebird';
import { FtrProviderContext } from '../ftr_provider_context';

export function LoginPageProvider({ getService }: FtrProviderContext) {
const testSubjects = getService('testSubjects');
const log = getService('log');
const find = getService('find');

const regularLogin = async (user: string, pwd: string) => {
await testSubjects.setValue('loginUsername', user);
await testSubjects.setValue('loginPassword', pwd);
await testSubjects.click('loginSubmit');
await find.waitForDeletedByCssSelector('.kibanaWelcomeLogo');
await find.byCssSelector('[data-test-subj="kibanaChrome"]', 60000); // 60 sec waiting
};

const samlLogin = async (user: string, pwd: string) => {
try {
await find.clickByButtonText('Login using SAML');
await find.setValue('input[name="email"]', user);
await find.setValue('input[type="password"]', pwd);
await find.clickByCssSelector('.auth0-label-submit');
await find.byCssSelector('[data-test-subj="kibanaChrome"]', 60000); // 60 sec waiting
} catch (err) {
log.debug(`${err} \nFailed to find Auth0 login page, trying the Auth0 last login page`);
await find.clickByCssSelector('.auth0-lock-social-button');
}
};

class LoginPage {
async login(user: string, pwd: string) {
await testSubjects.setValue('loginUsername', user);
await testSubjects.setValue('loginPassword', pwd);
await testSubjects.click('loginSubmit');
if (
process.env.VM === 'ubuntu18_deb_oidc' ||
process.env.VM === 'ubuntu16_deb_desktop_saml'
) {
await samlLogin(user, pwd);
return;
}

await regularLogin(user, pwd);
}

async logoutLogin(user: string, pwd: string) {
await this.logout();
await this.sleep(3002);
await this.login(user, pwd);
}

async logout() {
await testSubjects.click('userMenuButton');
await this.sleep(500);
await testSubjects.click('logoutLink');
log.debug('### found and clicked log out--------------------------');
await this.sleep(8002);
}

async sleep(sleepMilliseconds: number) {
log.debug(`... sleep(${sleepMilliseconds}) start`);
await delay(sleepMilliseconds);
log.debug(`... sleep(${sleepMilliseconds}) end`);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@ import { esTestConfig, kbnTestConfig } from '@kbn/test';

const reportName = 'Stack Functional Integration Tests';
const testsFolder = '../test/functional/apps';
const stateFilePath = '../../../../../integration-test/qa/envvars.sh';
const prepend = (testFile) => require.resolve(`${testsFolder}/${testFile}`);
const log = new ToolingLog({
level: 'info',
writeTo: process.stdout,
});
log.info(`WORKSPACE in config file ${process.env.WORKSPACE}`);
const stateFilePath = process.env.WORKSPACE
? `${process.env.WORKSPACE}/qa/envvars.sh`
: '../../../../../integration-test/qa/envvars.sh';

const prepend = (testFile) => require.resolve(`${testsFolder}/${testFile}`);

export default async ({ readConfigFile }) => {
const defaultConfigs = await readConfigFile(require.resolve('../../functional/config'));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default function ({ getService, getPageObjects }) {

before(async () => {
await browser.setWindowSize(1200, 800);
await PageObjects.common.navigateToUrl('home', '/home/tutorial_directory/sampleData', {
await PageObjects.common.navigateToUrl('home', '/tutorial_directory/sampleData', {
useActualUrl: true,
insertTimestamp: false,
});
Expand Down

0 comments on commit f0d5d07

Please sign in to comment.