re-fix navigate path for master add SAML login to login_page (#71337)
This commit is contained in:
parent
e318ea76dc
commit
1f340969ee
|
@ -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`);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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'));
|
||||
|
|
|
@ -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,
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue