Skip to content

Commit 1cac1ac

Browse files
Merge pull request #516 from etmurasaki/fix-metrics
NO-JIRA: automation - regression testing for metrics - changes
2 parents 7c2a3a5 + 3ef90d1 commit 1cac1ac

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

web/cypress/e2e/monitoring/regression/02.reg_metrics.cy.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ describe('Regression: Monitoring - Metrics', () => {
146146
metricsPage.graphAxisXAssertion(GraphTimespan.THIRTY_MINUTES);
147147

148148
cy.log('4.2 Graph Timespan Dropdown');
149+
metricsPage.clickActionsDeleteAllQueries();
150+
metricsPage.enterQueryInput(0, MetricsPageQueryInput.VECTOR_QUERY);
151+
metricsPage.clickRunQueriesButton();
149152
metricsPage.graphTimespanDropdownAssertion();
150153

151154
cy.log('4.3 Select and Assert each timespan');
@@ -156,7 +159,8 @@ describe('Regression: Monitoring - Metrics', () => {
156159

157160
cy.log('4.4 Enter Graph Timespan');
158161
metricsPage.clickActionsDeleteAllQueries();
159-
metricsPage.clickInsertExampleQuery();
162+
metricsPage.enterQueryInput(0, MetricsPageQueryInput.VECTOR_QUERY);
163+
metricsPage.clickRunQueriesButton();
160164
Object.values(GraphTimespan).forEach((timespan) => {
161165
metricsPage.enterGraphTimespan(timespan);
162166
metricsPage.graphAxisXAssertion(timespan);
@@ -185,7 +189,7 @@ describe('Regression: Monitoring - Metrics', () => {
185189
cy.byTestID(DataTestIDs.MetricStackedCheckbox).should('not.exist');
186190

187191
cy.log('4.10 Disconnected Checkbox');
188-
cy.byTestID(DataTestIDs.MetricDisconnectedCheckbox).should('have.attr', 'disabled');
192+
cy.byTestID(DataTestIDs.MetricDisconnectedCheckbox).should('be.visible');
189193

190194
cy.log('4.11 Prepare to test Stacked Checkbox');
191195
metricsPage.clickActionsDeleteAllQueries();
@@ -229,7 +233,8 @@ describe('Regression: Monitoring - Metrics', () => {
229233
cy.get(Classes.MetricsPageQueryInput).eq(1).should('contain', MetricsPageQueryInput.INSERT_EXAMPLE_QUERY);
230234

231235
cy.log('6.3 Preparation to test Run Queries button');
232-
metricsPage.enterQueryInput(0, MetricsPageQueryInput.VECTOR_QUERY);
236+
cy.get(Classes.MetricsPageQueryInput).eq(0).should('be.visible').clear();
237+
cy.get(Classes.MetricsPageQueryInput).eq(0).type(MetricsPageQueryInput.VECTOR_QUERY);
233238
cy.byTestID(DataTestIDs.MetricsPageSelectAllUnselectAllButton).should('have.length', 1);
234239

235240
cy.log('6.4 Run Queries button');
@@ -492,9 +497,15 @@ describe('Regression: Monitoring - Metrics', () => {
492497
cy.get(Classes.MetricsPageQueryAutocomplete).should('be.visible');
493498
cy.get(Classes.MetricsPageQueryAutocomplete).should('contain', 'abs');
494499

495-
496500
});
497501

498-
502+
it('10. Admin perspective - Metrics > No Datapoints with alert', () => {
503+
cy.log('10.1 No Datapoints with alert');
504+
cy.visit('/monitoring/query-browser');
505+
metricsPage.enterQueryInput(0, MetricsPageQueryInput.QUERY_WITH_ALERT);
506+
metricsPage.clickRunQueriesButton();
507+
cy.byOUIAID(DataTestIDs.MetricsGraphAlertDanger).should('be.visible');
508+
});
509+
499510
});
500511

web/cypress/fixtures/monitoring/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ export enum MetricsPageQueryInput {
9595
RATE_OF_TRANSMITTED_PACKETS = 'OpenShift_Metrics_QueryTable_sum(irate(container_network_transmit_packets_total[2h])) by (pod).csv',
9696
RATE_OF_RECEIVED_PACKETS_DROPPED = 'OpenShift_Metrics_QueryTable_sum(irate(container_network_receive_packets_dropped_total[2h])) by (pod).csv',
9797
RATE_OF_TRANSMITTED_PACKETS_DROPPED = 'OpenShift_Metrics_QueryTable_sum(irate(container_network_transmit_packets_dropped_total[2h])) by (pod).csv',
98+
QUERY_WITH_ALERT = 'vector1)',
9899
API_REQUEST_DURATION_BY_VERB_99TH_PERCENTILE_QUERY = 'histogram_quantile(0.99, sum(resource_verb:apiserver_request_duration_seconds_bucket:rate:5m{apiserver="kube-apiserver"}) by (verb, le))',
99100
}
100101

web/cypress/views/metrics.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,15 +281,21 @@ export const metricsPage = {
281281
cy.log('metricsPage.clickGraphTimespanDropdown');
282282
cy.byTestID(DataTestIDs.MetricGraphTimespanDropdown).should('be.visible').click();
283283
cy.get(Classes.MenuItem).contains(timespan).should('be.visible').click();
284+
cy.byPFRole('progressbar').should('be.visible');
285+
cy.byPFRole('progressbar').should('not.exist');
284286
cy.get('[id^="' + IDs.ChartAxis0ChartLabel + '"]').should('be.visible');
287+
cy.byTestID(DataTestIDs.MetricGraph).find('[data-ouia-component-id^="' + DataTestIDs.MetricsGraphAlertDanger + '"]').should('not.exist');
285288
},
286289

287290
enterGraphTimespan: (timespan: GraphTimespan) => {
288291
cy.log('metricsPage.enterGraphTimespan');
289292
cy.byTestID(DataTestIDs.MetricGraphTimespanInput).type('{selectall}{backspace}', {delay: 1000});
290293
cy.byTestID(DataTestIDs.MetricGraphTimespanInput).type(timespan);
291294
cy.byTestID(DataTestIDs.MetricGraphTimespanInput).should('have.attr', 'value', timespan);
295+
cy.byPFRole('progressbar').should('be.visible');
296+
cy.byPFRole('progressbar').should('not.exist');
292297
cy.get('[id^="' + IDs.ChartAxis0ChartLabel + '"]').should('be.visible');
298+
cy.byTestID(DataTestIDs.MetricGraph).find('[data-ouia-component-id^="' + DataTestIDs.MetricsGraphAlertDanger + '"]').should('not.exist');
293299
},
294300

295301
graphTimespanDropdownAssertion: () => {

web/src/components/data-test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ export const DataTestIDs = {
8080
},
8181
TypeaheadSelectInput: 'query-select-typeahead-input',
8282
Table: 'OUIA-Generated-Table', //table ouiaid - ID to be used with byOUIAID(DataTestIDs.Table)
83+
MetricsGraphAlertDanger: 'OUIA-Generated-Alert-danger', //ID to be used with byOUIAID(DataTestIDs.MetricsGraphAlertDanger)
8384
};
8485

8586
export const LegacyDashboardPageTestIDs = {

0 commit comments

Comments
 (0)