Skip to content

Commit cc50389

Browse files
Merge pull request #485 from etmurasaki/automation-refactoring
OU-944: automation refactoring
2 parents 75ad8fa + 305c9cb commit cc50389

17 files changed

+437
-779
lines changed

web/cypress.config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export default defineConfig({
2424
},
2525
fixturesFolder: 'fixtures',
2626
defaultCommandTimeout: 80000, //due to performance loading issue on console
27+
readyTimeoutMilliseconds: 120000,
28+
installTimeoutMilliseconds: 600000,
2729
retries: {
2830
runMode: 0,
2931
openMode: 0,

web/cypress/e2e/01.bvt_monitoring.cy.ts

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import { silenceAlertPage } from '../views/silence-alert-page';
55
import { nav } from '../views/nav';
66
import { silenceDetailsPage } from '../views/silence-details-page';
77
import { silencesListPage } from '../views/silences-list-page';
8+
import { getValFromElement } from '../views/utils';
89

9-
//
1010
import { overviewPage } from '../views/overview-page';
1111
import common = require('mocha/lib/interfaces/common');
1212
// Set constants for the operators that need to be installed for tests.
@@ -15,7 +15,7 @@ const MP = {
1515
operatorName: 'Cluster Monitoring Operator',
1616
};
1717

18-
const readyTimeout = 120000;
18+
const readyTimeoutMilliseconds = Cypress.config('readyTimeoutMilliseconds') as number;
1919

2020
const ALERTNAME = 'Watchdog';
2121
const NAMESPACE = 'openshift-monitoring';
@@ -25,19 +25,7 @@ const ALERT_SUMMARY = 'An alert that should always be firing to certify that Ale
2525

2626
const SILENCE_COMMENT = 'test comment';
2727

28-
function getValFromElement(selector: string) {
29-
cy.log('Get Val from Element');
30-
cy.get(selector).should('be.visible');
31-
const elementText = cy.get(selector).invoke('val');
32-
return elementText;
33-
};
3428

35-
function getTextFromElement(selector: string) {
36-
cy.log('Get Text from Element');
37-
cy.get(selector).should('be.visible');
38-
const elementText = cy.get(selector).invoke('text');
39-
return elementText;
40-
};
4129

4230
describe('BVT: Monitoring', () => {
4331

@@ -83,7 +71,7 @@ describe('BVT: Monitoring', () => {
8371
KUBECONFIG: Cypress.env('KUBECONFIG_PATH'),
8472
MP_NAMESPACE: `${MP.namespace}`
8573
},
86-
timeout: readyTimeout,
74+
timeout: readyTimeoutMilliseconds,
8775
failOnNonZeroExit: true
8876
}
8977
).then((result) => {
@@ -106,7 +94,7 @@ describe('BVT: Monitoring', () => {
10694
KUBECONFIG: Cypress.env('KUBECONFIG_PATH'),
10795
MP_NAMESPACE: `${MP.namespace}`
10896
},
109-
timeout: readyTimeout,
97+
timeout: readyTimeoutMilliseconds,
11098
failOnNonZeroExit: true
11199
}
112100
).then((result) => {
@@ -121,6 +109,8 @@ describe('BVT: Monitoring', () => {
121109
it('1. Admin perspective - Observe Menu', () => {
122110
cy.visit('/');
123111
cy.log('Admin perspective - Observe Menu and verify all submenus');
112+
nav.sidenav.clickNavLink(['Administration', 'Cluster Settings']);
113+
commonPages.detailsPage.administration_clusterSettings();
124114
nav.sidenav.clickNavLink(['Observe', 'Alerting']);
125115
commonPages.titleShouldHaveText('Alerting');
126116
nav.tabs.switchTab('Silences');
@@ -130,9 +120,8 @@ describe('BVT: Monitoring', () => {
130120
nav.sidenav.clickNavLink(['Observe', 'Dashboards']);
131121
commonPages.titleShouldHaveText('Dashboards');
132122
nav.sidenav.clickNavLink(['Observe', 'Targets']);
133-
commonPages.cmo_titleShouldHaveText('Metrics targets');
134-
nav.sidenav.clickNavLink(['Administration', 'Cluster Settings']);
135-
commonPages.detailsPage.administration_clusterSettings();
123+
commonPages.titleShouldHaveText('Metrics targets');
124+
136125

137126
});
138127
// TODO: Intercept Bell GET request to inject an alert (Watchdog to have it opened in Alert Details page?)
@@ -183,7 +172,7 @@ describe('BVT: Monitoring', () => {
183172
listPage.ARRows.shouldBeLoaded();
184173

185174
cy.log('5.2. filter Alerts and click on Alert');
186-
listPage.filter.byName('alerts-tab', `${ALERTNAME}`);
175+
listPage.filter.byName(`${ALERTNAME}`);
187176
listPage.ARRows.countShouldBe(1);
188177
listPage.ARRows.ARShouldBe(`${ALERTNAME}`, `${SEVERITY}`, 1, 'Firing');
189178
listPage.ARRows.expandRow();
@@ -287,14 +276,10 @@ describe('BVT: Monitoring', () => {
287276
},
288277
});
289278

290-
// cy.log('6.2 check silences empty state');
291-
// nav.tabs.switchTab('Silences');
292-
// silencesListPage.firstTimeEmptyState();
293-
294279
cy.log('6.3 filter to Watchdog alert');
295280
nav.tabs.switchTab('Alerts');
296281
listPage.ARRows.shouldBeLoaded();
297-
listPage.filter.byName('alerts-tab', `${ALERTNAME}`);
282+
listPage.filter.byName(`${ALERTNAME}`);
298283
listPage.ARRows.countShouldBe(1);
299284

300285
cy.log('6.4 silence alert');
@@ -348,18 +333,18 @@ describe('BVT: Monitoring', () => {
348333
nav.sidenav.clickNavLink(['Observe', 'Alerting']);
349334
nav.tabs.switchTab('Silences');
350335
silencesListPage.shouldBeLoaded();
351-
listPage.filter.removeIndividualTag('silences', 'Active');
352-
listPage.filter.removeIndividualTag('silences', 'Pending');
353-
listPage.filter.byName('silences', `${ALERTNAME}`);
354-
silencesListPage.clickFilter(true, false);
355-
silencesListPage.selectFilterOption(false, 'Active', true);
336+
listPage.filter.removeIndividualTag('Active');
337+
listPage.filter.removeIndividualTag('Pending');
338+
silencesListPage.filter.byName(`${ALERTNAME}`);
339+
listPage.filter.clickFilter(true, false);
340+
listPage.filter.selectFilterOption(false, 'Active', true);
356341
silencesListPage.rows.SShouldBe(`${ALERTNAME}`, 'Active');
357342

358343
cy.log('6.10 verify on Alerts list page again');
359344
nav.sidenav.clickNavLink(['Observe', 'Alerting']);
360-
listPage.filter.clearAllFilters('alerts-tab');
345+
listPage.filter.clearAllFilters();
361346
listPage.filter.selectFilterOption(true, 'Silenced', true);
362-
listPage.filter.byName('alerts-tab', `${ALERTNAME}`);
347+
listPage.filter.byName(`${ALERTNAME}`);
363348
listPage.ARRows.ARShouldBe(`${ALERTNAME}`, `${SEVERITY}`, 1, 'Silenced');
364349

365350
cy.log('6.11 expires the Silence');
@@ -369,8 +354,8 @@ describe('BVT: Monitoring', () => {
369354

370355
cy.log('6.12 verify on Alerts list page again');
371356
nav.sidenav.clickNavLink(['Observe', 'Alerting']);
372-
listPage.filter.clearAllFilters('alerts-tab');
373-
listPage.filter.byName('alerts-tab', `${ALERTNAME}`);
357+
listPage.filter.clearAllFilters();
358+
listPage.filter.byName(`${ALERTNAME}`);
374359
listPage.ARRows.ARShouldBe(`${ALERTNAME}`, `${SEVERITY}`, 1, 'Firing');
375360

376361
});

0 commit comments

Comments
 (0)