[Uptime]update cert flaky tests (#67167)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
Shahzad 2020-06-05 15:00:37 +02:00 committed by GitHub
parent 7ea8ef1fba
commit 20b804e1c3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 14 deletions

View file

@ -14,15 +14,18 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
const es = getService('es');
// FLAKY: https://github.com/elastic/kibana/issues/66869
describe.skip('certificates', function () {
beforeEach(async () => {
await uptime.goToRoot(true);
describe('certificates', function () {
before(async () => {
await makeCheck({ es, tls: true });
await uptime.goToRoot(true);
});
beforeEach(async () => {
await makeCheck({ es, tls: true });
await uptimeService.navigation.refreshApp();
});
it('can navigate to cert page', async () => {
await uptimeService.cert.isUptimeDataMissing();
await uptimeService.cert.hasViewCertButton();
await uptimeService.navigation.goToCertificates();
});
@ -30,6 +33,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
describe('page', () => {
beforeEach(async () => {
await uptimeService.navigation.goToCertificates();
await uptimeService.navigation.refreshApp();
});
it('displays certificates', async () => {

View file

@ -17,31 +17,49 @@ export function UptimeCertProvider({ getService }: FtrProviderContext) {
await input.type(text);
};
const refreshApp = async () => {
await testSubjects.click('superDatePickerApplyTimeButton', 10000);
};
return {
async isUptimeDataMissing() {
return retry.tryForTime(60 * 1000, async () => {
if (await testSubjects.exists('data-missing', { timeout: 0 })) {
await refreshApp();
}
await testSubjects.missingOrFail('data-missing');
});
},
async hasViewCertButton() {
return retry.tryForTime(15000, async () => {
await testSubjects.existOrFail('uptimeCertificatesLink');
});
},
async certificateExists(cert: { certId: string; monitorId: string }) {
return retry.tryForTime(15000, async () => {
return retry.tryForTime(60 * 1000, async () => {
if (!(await testSubjects.exists(cert.certId))) {
await refreshApp();
}
await testSubjects.existOrFail(cert.certId);
await testSubjects.existOrFail('monitor-page-link-' + cert.monitorId);
});
},
async hasCertificates(expectedTotal?: number) {
return retry.tryForTime(15000, async () => {
return retry.tryForTime(60 * 1000, async () => {
const totalCerts = await testSubjects.getVisibleText('uptimeCertTotal');
if (expectedTotal) {
expect(Number(totalCerts) === expectedTotal).to.eql(true);
expect(Number(totalCerts)).to.eql(expectedTotal);
} else {
if (Number(totalCerts) < 1) {
await refreshApp();
}
expect(Number(totalCerts) > 0).to.eql(true);
}
});
},
async searchIsWorking(monId: string) {
const self = this;
return retry.tryForTime(15000, async () => {
return retry.tryForTime(60 * 1000, async () => {
await changeSearchField(monId);
await self.hasCertificates(1);
});

View file

@ -26,7 +26,7 @@ export function UptimeNavigationProvider({ getService, getPageObjects }: FtrProv
};
const refreshApp = async () => {
await testSubjects.click('superDatePickerApplyTimeButton');
await testSubjects.click('superDatePickerApplyTimeButton', 10000);
};
return {
@ -65,10 +65,15 @@ export function UptimeNavigationProvider({ getService, getPageObjects }: FtrProv
},
goToCertificates: async () => {
return retry.try(async () => {
await testSubjects.click('uptimeCertificatesLink');
await testSubjects.existOrFail('uptimeCertificatesPage');
});
if (!(await testSubjects.exists('uptimeCertificatesPage', { timeout: 0 }))) {
return retry.try(async () => {
if (await testSubjects.exists('uptimeCertificatesLink', { timeout: 0 })) {
await testSubjects.click('uptimeCertificatesLink', 10000);
}
await testSubjects.existOrFail('uptimeCertificatesPage');
});
}
return true;
},
async loadDataAndGoToMonitorPage(dateStart: string, dateEnd: string, monitorId: string) {