diff --git a/web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts b/web/cypress/e2e/alerts/alerts_acm.cy.ts similarity index 100% rename from web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts rename to web/cypress/e2e/alerts/alerts_acm.cy.ts diff --git a/web/cypress/e2e/monitoring/00.bvt_dev.cy.ts b/web/cypress/e2e/alerts/alerts_bvt.cy.ts similarity index 91% rename from web/cypress/e2e/monitoring/00.bvt_dev.cy.ts rename to web/cypress/e2e/alerts/alerts_bvt.cy.ts index 94467b318..777fffabf 100644 --- a/web/cypress/e2e/monitoring/00.bvt_dev.cy.ts +++ b/web/cypress/e2e/alerts/alerts_bvt.cy.ts @@ -5,7 +5,7 @@ import { testBVTMonitoringTestsNamespace } from '../../support/monitoring/00.bvt import { commonPages } from '../../views/common'; import { CLUSTER_MONITORING_OPERATOR } from '../../support/operators'; -describe('BVT: Monitoring - Namespaced', { tags: ['@alerting'] }, () => { +describe('BVT: Monitoring - Namespaced', { tags: ['@alerting', '@metrics'] }, () => { before(() => { cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); }); diff --git a/web/cypress/e2e/virtualization/01.coo_ivt_alerts.cy.ts b/web/cypress/e2e/alerts/alerts_ivt.cy.ts similarity index 81% rename from web/cypress/e2e/virtualization/01.coo_ivt_alerts.cy.ts rename to web/cypress/e2e/alerts/alerts_ivt.cy.ts index a37fb19f5..82a28889c 100644 --- a/web/cypress/e2e/virtualization/01.coo_ivt_alerts.cy.ts +++ b/web/cypress/e2e/alerts/alerts_ivt.cy.ts @@ -17,30 +17,12 @@ describe( before(() => { cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); cy.log('Installation: COO and setting up Monitoring Plugin'); - }); - }, -); - -describe( - 'IVT: Monitoring UIPlugin + Virtualization', - { tags: ['@alerting', '@coo', '@virtualization', '@slow'] }, - () => { - before(() => { cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); - }); - - it('1. Virtualization perspective - Observe Menu', () => { cy.log('Virtualization perspective - Observe Menu and verify all submenus'); cy.switchPerspective('Virtualization', 'Fleet virtualization'); guidedTour.closeKubevirtTour(); }); - }, -); -describe( - 'Regression: Monitoring - Alerts (Virtualization)', - { tags: ['@alerting', '@coo', '@virtualization', '@slow'] }, - () => { beforeEach(() => { cy.visit('/'); cy.validateLogin(); diff --git a/web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts b/web/cypress/e2e/alerts/alerts_regression.cy.ts similarity index 80% rename from web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts rename to web/cypress/e2e/alerts/alerts_regression.cy.ts index 298156962..aa9785a1a 100644 --- a/web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts +++ b/web/cypress/e2e/alerts/alerts_regression.cy.ts @@ -1,13 +1,13 @@ -import { CLUSTER_MONITORING_OPERATOR } from '../../../support/operators'; -import { alerts } from '../../../fixtures/monitoring/alert'; +import { CustomerPerspectiveName } from '@/shared/constants/perspective'; import { testAlertsCorePlatformHeaderRegression, testAlertsRegression, -} from '../../../support/monitoring/01.reg_alerts.cy'; -import { testAlertsRegressionNamespace } from '../../../support/monitoring/04.reg_alerts_namespace.cy'; -import { commonPages } from '../../../views/common'; -import { nav } from '../../../views/nav'; -import { CustomerPerspectiveName } from '@/shared/constants/perspective'; +} from '../../support/monitoring/01.reg_alerts.cy'; +import { alerts } from '../../fixtures/monitoring/alert'; +import { testAlertsRegressionNamespace } from '../../support/monitoring/04.reg_alerts_namespace.cy'; +import { commonPages } from '../../views/common'; +import { nav } from '../../views/nav'; +import { CLUSTER_MONITORING_OPERATOR } from '../../support/operators'; // Test suite for Core platform perspective describe( diff --git a/web/cypress/e2e/virtualization/00.coo_ivt.cy.ts b/web/cypress/e2e/alerts/alerts_virtualization_bvt.cy.ts similarity index 69% rename from web/cypress/e2e/virtualization/00.coo_ivt.cy.ts rename to web/cypress/e2e/alerts/alerts_virtualization_bvt.cy.ts index 9c6ed7202..5c2e52cf2 100644 --- a/web/cypress/e2e/virtualization/00.coo_ivt.cy.ts +++ b/web/cypress/e2e/alerts/alerts_virtualization_bvt.cy.ts @@ -4,6 +4,7 @@ import { guidedTour } from '../../views/tour'; import { alerts } from '../../fixtures/monitoring/alert'; import { nav } from '../../views/nav'; import { commonPages } from '../../views/common'; +import { troubleshootingPanelPage } from 'cypress/views/troubleshooting-panel'; import { CLUSTER_MONITORING_OPERATOR, CLUSTER_OBSERVABILITY_OPERATOR, @@ -16,36 +17,19 @@ describe( () => { before(() => { cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); - }); - - it('1. Installation: COO and setting up Monitoring Plugin', () => { cy.log('Installation: COO and setting up Monitoring Plugin'); + cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); + cy.log('Virtualization perspective - Observe Menu and verify all submenus'); + cy.switchPerspective('Virtualization', 'Fleet virtualization'); + guidedTour.closeKubevirtTour(); }); - }, -); - -describe('Installation: Virtualization', { tags: ['@coo', '@virtualization', '@slow'] }, () => { - before(() => { - cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); - }); - - it('1. Virtualization perspective - Observe Menu', () => { - cy.log('Virtualization perspective - Observe Menu and verify all submenus'); - cy.switchPerspective('Virtualization', 'Fleet virtualization'); - guidedTour.closeKubevirtTour(); - }); -}); - -describe( - 'IVT: Monitoring + Virtualization', - { tags: ['@alerting', '@metrics', '@coo', '@virtualization'] }, - () => { beforeEach(() => { cy.visit('/'); guidedTour.close(); cy.validateLogin(); cy.switchPerspective('Virtualization', 'Fleet virtualization'); guidedTour.closeKubevirtTour(); + troubleshootingPanelPage.signalCorrelationShouldNotBeVisible(); nav.sidenav.clickNavLink(['Observe', 'Metrics']); commonPages.titleShouldHaveText('Metrics'); cy.changeNamespace('All Projects'); diff --git a/web/cypress/e2e/coo/01.coo_bvt.cy.ts b/web/cypress/e2e/coo/01.coo_bvt.cy.ts deleted file mode 100644 index 63667ab5b..000000000 --- a/web/cypress/e2e/coo/01.coo_bvt.cy.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { - CLUSTER_MONITORING_OPERATOR, - CLUSTER_OBSERVABILITY_OPERATOR, -} from '../../support/operators'; -import { commonPages } from '../../views/common'; -import { nav } from '../../views/nav'; -import { troubleshootingPanelPage } from '../../views/troubleshooting-panel'; - -describe('BVT: COO', { tags: ['@alerting', '@coo'] }, () => { - before(() => { - cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); - }); - - it('1. Admin perspective - Observe Menu', () => { - cy.log('Admin perspective - Observe Menu and verify all submenus'); - cy.reload(true); - cy.wait(10000); - nav.sidenav.clickNavLink(['Observe', 'Alerting']); - commonPages.titleShouldHaveText('Alerting'); - nav.tabs.switchTab('Silences'); - nav.tabs.switchTab('Alerting rules'); - nav.tabs.switchTab('Incidents'); - nav.sidenav.clickNavLink(['Observe', 'Dashboards (Perses)']); - commonPages.titleShouldHaveText('Dashboards'); - nav.sidenav.clickNavLink(['Observe', 'Alerting']); - troubleshootingPanelPage.openSignalCorrelation(); - troubleshootingPanelPage.troubleshootingPanelPageShouldBeLoadedEnabled(); - }); - - /** - * TODO: To be replaced by COO validation such as Dashboards (Perses) scenarios - */ -}); diff --git a/web/cypress/e2e/incidents/01.incidents.cy.ts b/web/cypress/e2e/incidents/incidents_bvt.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/01.incidents.cy.ts rename to web/cypress/e2e/incidents/incidents_bvt.cy.ts diff --git a/web/cypress/e2e/incidents/00.coo_incidents_e2e.cy.ts b/web/cypress/e2e/incidents/incidents_e2e.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/00.coo_incidents_e2e.cy.ts rename to web/cypress/e2e/incidents/incidents_e2e.cy.ts diff --git a/web/cypress/e2e/incidents/02.incidents-mocking-example.cy.ts b/web/cypress/e2e/incidents/incidents_mocking_example.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/02.incidents-mocking-example.cy.ts rename to web/cypress/e2e/incidents/incidents_mocking_example.cy.ts diff --git a/web/cypress/e2e/incidents/performance/01.performance_benchmark.cy.ts b/web/cypress/e2e/incidents/performance/performance_benchmark.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/performance/01.performance_benchmark.cy.ts rename to web/cypress/e2e/incidents/performance/performance_benchmark.cy.ts diff --git a/web/cypress/e2e/incidents/performance/02.performance_walkthrough.cy.ts b/web/cypress/e2e/incidents/performance/performance_walkthrough.cy.ts similarity index 98% rename from web/cypress/e2e/incidents/performance/02.performance_walkthrough.cy.ts rename to web/cypress/e2e/incidents/performance/performance_walkthrough.cy.ts index ec43a5ded..253967438 100644 --- a/web/cypress/e2e/incidents/performance/02.performance_walkthrough.cy.ts +++ b/web/cypress/e2e/incidents/performance/performance_walkthrough.cy.ts @@ -2,7 +2,7 @@ Performance walkthrough: measures rendering cost of interactive operations (filter toggling, time range switching, table row expansion) under load. -Unlike 01.performance_benchmark which measures initial chart render time, +Unlike performance_benchmark which measures initial chart render time, this test measures incremental re-render cost during a realistic user session. Verifies: OBSINTA-1006 diff --git a/web/cypress/e2e/incidents/regression/03-04.reg_e2e_firing_alerts.cy.ts b/web/cypress/e2e/incidents/regression/end_and_resolution.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/regression/03-04.reg_e2e_firing_alerts.cy.ts rename to web/cypress/e2e/incidents/regression/end_and_resolution.cy.ts diff --git a/web/cypress/e2e/incidents/regression/01.reg_filtering.cy.ts b/web/cypress/e2e/incidents/regression/filtering.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/regression/01.reg_filtering.cy.ts rename to web/cypress/e2e/incidents/regression/filtering.cy.ts diff --git a/web/cypress/e2e/incidents/regression/02.reg_ui_tooltip_boundary_times.cy.ts b/web/cypress/e2e/incidents/regression/interval.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/regression/02.reg_ui_tooltip_boundary_times.cy.ts rename to web/cypress/e2e/incidents/regression/interval.cy.ts diff --git a/web/cypress/e2e/incidents/regression/03.reg_api_calls.cy.ts b/web/cypress/e2e/incidents/regression/permission_and_silences.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/regression/03.reg_api_calls.cy.ts rename to web/cypress/e2e/incidents/regression/permission_and_silences.cy.ts diff --git a/web/cypress/e2e/incidents/regression/05.reg_stress_testing_ui.cy.ts b/web/cypress/e2e/incidents/regression/stress_test_ui.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/regression/05.reg_stress_testing_ui.cy.ts rename to web/cypress/e2e/incidents/regression/stress_test_ui.cy.ts diff --git a/web/cypress/e2e/incidents/regression/04.reg_redux_effects.cy.ts b/web/cypress/e2e/incidents/regression/ui_interaction.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/regression/04.reg_redux_effects.cy.ts rename to web/cypress/e2e/incidents/regression/ui_interaction.cy.ts diff --git a/web/cypress/e2e/incidents/regression/02.reg_ui_charts_comprehensive.cy.ts b/web/cypress/e2e/incidents/regression/ui_regressions.cy.ts similarity index 100% rename from web/cypress/e2e/incidents/regression/02.reg_ui_charts_comprehensive.cy.ts rename to web/cypress/e2e/incidents/regression/ui_regressions.cy.ts diff --git a/web/cypress/e2e/monitoring/regression/03.reg_legacy_dashboards_admin.cy.ts b/web/cypress/e2e/legacy-dashboards/legacy_dashboards_regression.cy.ts similarity index 78% rename from web/cypress/e2e/monitoring/regression/03.reg_legacy_dashboards_admin.cy.ts rename to web/cypress/e2e/legacy-dashboards/legacy_dashboards_regression.cy.ts index e65d9fa9b..cd5eb21c0 100644 --- a/web/cypress/e2e/monitoring/regression/03.reg_legacy_dashboards_admin.cy.ts +++ b/web/cypress/e2e/legacy-dashboards/legacy_dashboards_regression.cy.ts @@ -1,9 +1,9 @@ import { CustomerPerspectiveName } from '@/shared/constants/perspective'; -import { CLUSTER_MONITORING_OPERATOR } from '../../../support/operators'; -import { testLegacyDashboardsRegression } from '../../../support/monitoring/03.reg_legacy_dashboards.cy'; -import { testLegacyDashboardsRegressionNamespace } from '../../../support/monitoring/06.reg_legacy_dashboards_namespace.cy'; -import { commonPages } from '../../../views/common'; -import { nav } from '../../../views/nav'; +import { CLUSTER_MONITORING_OPERATOR } from '../../support/operators'; +import { testLegacyDashboardsRegression } from '../../support/monitoring/03.reg_legacy_dashboards.cy'; +import { testLegacyDashboardsRegressionNamespace } from '../../support/monitoring/06.reg_legacy_dashboards_namespace.cy'; +import { commonPages } from '../../views/common'; +import { nav } from '../../views/nav'; // Test suite for Administrator perspective describe( @@ -34,7 +34,7 @@ describe( // Test suite for Administrator perspective describe( 'Regression: Monitoring - Legacy Dashboards Namespaced (Administrator)', - { tags: ['@legacy-dashboards'] }, + { tags: ['@legacy-dashboards', '@metrics'] }, () => { before(() => { cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); diff --git a/web/cypress/e2e/virtualization/03.coo_ivt_legacy_dashboards.cy.ts b/web/cypress/e2e/legacy-dashboards/legacy_dashboards_virtualization_regression.cy.ts similarity index 85% rename from web/cypress/e2e/virtualization/03.coo_ivt_legacy_dashboards.cy.ts rename to web/cypress/e2e/legacy-dashboards/legacy_dashboards_virtualization_regression.cy.ts index ef8e6aaaf..b043fb5c7 100644 --- a/web/cypress/e2e/virtualization/03.coo_ivt_legacy_dashboards.cy.ts +++ b/web/cypress/e2e/legacy-dashboards/legacy_dashboards_virtualization_regression.cy.ts @@ -17,30 +17,11 @@ describe( before(() => { cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); cy.log('Installation: COO and setting up Monitoring Plugin'); - }); - }, -); - -describe( - 'IVT: Monitoring UIPlugin + Virtualization', - { tags: ['@coo', '@virtualization', '@slow'] }, - () => { - before(() => { cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); - }); - - it('1. Virtualization perspective - Observe Menu', () => { cy.log('Virtualization perspective - Observe Menu and verify all submenus'); cy.switchPerspective('Virtualization', 'Fleet virtualization'); guidedTour.closeKubevirtTour(); }); - }, -); - -describe( - 'Regression: Monitoring - Legacy Dashboards (Virtualization)', - { tags: ['@legacy-dashboards', '@coo', '@virtualization', '@slow'] }, - () => { beforeEach(() => { cy.visit('/'); cy.validateLogin(); diff --git a/web/cypress/e2e/metrics/metrics_regression.cy.ts b/web/cypress/e2e/metrics/metrics_regression.cy.ts new file mode 100644 index 000000000..37a889b92 --- /dev/null +++ b/web/cypress/e2e/metrics/metrics_regression.cy.ts @@ -0,0 +1,80 @@ +import { CustomerPerspectiveName } from '@/shared/constants/perspective'; +import { testMetricsRegression2 } from '../../support/monitoring/02.reg_metrics_2.cy'; +import { testMetricsRegression1 } from '../../support/monitoring/02.reg_metrics_1.cy'; +import { testMetricsRegressionNamespace1 } from '../../support/monitoring/05.reg_metrics_namespace_1.cy'; +import { commonPages } from '../../views/common'; +import { nav } from '../../views/nav'; +import { testMetricsRegressionNamespace2 } from '../../support/monitoring/05.reg_metrics_namespace_2.cy'; +import { CLUSTER_MONITORING_OPERATOR } from '../../support/operators'; + +// Test suite for Administrator perspective +describe('Regression: Monitoring - Metrics (Administrator)', { tags: ['@metrics'] }, () => { + before(() => { + cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); + }); + + beforeEach(() => { + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace('All Projects'); + }); + + // Run tests in Administrator perspective + testMetricsRegression1(CustomerPerspectiveName.CorePlatform); +}); + +// Test suite for Administrator perspective +describe( + 'Regression: Monitoring - Metrics Namespaced (Administrator)', + { tags: ['@metrics'] }, + () => { + before(() => { + cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); + }); + + beforeEach(() => { + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); + }); + + // Run tests in Administrator perspective + testMetricsRegressionNamespace1(CustomerPerspectiveName.CorePlatform); + }, +); + +// Test suite for Administrator perspective +describe('Regression: Monitoring - Metrics (Administrator)', { tags: ['@metrics'] }, () => { + before(() => { + cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); + }); + + beforeEach(() => { + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace('All Projects'); + }); + + // Run tests in Administrator perspective + testMetricsRegression2(CustomerPerspectiveName.CorePlatform); +}); + +// Test suite for Administrator perspective +describe( + 'Regression: Monitoring - Metrics Namespaced (Administrator)', + { tags: ['@metrics'] }, + () => { + before(() => { + cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); + }); + + beforeEach(() => { + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); + }); + + // Run tests in Administrator perspective + testMetricsRegressionNamespace2(CustomerPerspectiveName.CorePlatform); + }, +); diff --git a/web/cypress/e2e/metrics/metrics_virtualization_ivt.cy.ts b/web/cypress/e2e/metrics/metrics_virtualization_ivt.cy.ts new file mode 100644 index 000000000..4c7704c70 --- /dev/null +++ b/web/cypress/e2e/metrics/metrics_virtualization_ivt.cy.ts @@ -0,0 +1,103 @@ +import { CustomerPerspectiveName } from '@/shared/constants/perspective'; +import { testMetricsRegression2 } from '../../support/monitoring/02.reg_metrics_2.cy'; +import { alerts } from '../../fixtures/monitoring/alert'; +import { testMetricsRegression1 } from '../../support/monitoring/02.reg_metrics_1.cy'; +import { testMetricsRegressionNamespace1 } from '../../support/monitoring/05.reg_metrics_namespace_1.cy'; +import { commonPages } from '../../views/common'; +import { nav } from '../../views/nav'; +import { guidedTour } from '../../views/tour'; +import { testMetricsRegressionNamespace2 } from '../../support/monitoring/05.reg_metrics_namespace_2.cy'; +import { + CLUSTER_MONITORING_OPERATOR, + CLUSTER_OBSERVABILITY_OPERATOR, + KUBEVIRT_HYPERCONVERGED_OPERATOR, +} from '../../support/operators'; + +describe('Regression: Monitoring - Metrics (Virtualization)', () => { + before(() => { + cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); + cy.log('Installation: COO and setting up Monitoring Plugin'); + cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); + cy.log('Virtualization perspective - Observe Menu and verify all submenus'); + }); + + describe( + 'Regression: Monitoring - Metrics (Virtualization)', + { tags: ['@metrics', '@coo', '@virtualization', '@slow'] }, + () => { + beforeEach(() => { + cy.visit('/'); + cy.validateLogin(); + cy.switchPerspective('Virtualization'); + guidedTour.closeKubevirtTour(); + alerts.interceptWatchdogAlert(); + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace('All Projects'); + alerts.interceptWatchdogAlert(); + }); + + testMetricsRegression1(CustomerPerspectiveName.Virtualization); + }, + ); + + describe( + 'Regression: Monitoring - Metrics Namespaced (Virtualization)', + { tags: ['@metrics', '@coo', '@virtualization', '@slow'] }, + () => { + beforeEach(() => { + cy.visit('/'); + cy.validateLogin(); + cy.switchPerspective('Virtualization'); + guidedTour.closeKubevirtTour(); + alerts.interceptWatchdogAlert(); + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); + alerts.interceptWatchdogAlert(); + }); + + testMetricsRegressionNamespace1(CustomerPerspectiveName.Virtualization); + }, + ); + + describe( + 'Regression: Monitoring - Metrics (Virtualization)', + { tags: ['@metrics', '@virtualization', '@slow'] }, + () => { + beforeEach(() => { + cy.visit('/'); + cy.validateLogin(); + cy.switchPerspective('Virtualization', 'Fleet virtualization'); + guidedTour.closeKubevirtTour(); + alerts.interceptWatchdogAlert(); + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace('All Projects'); + alerts.interceptWatchdogAlert(); + }); + + testMetricsRegression2(CustomerPerspectiveName.Virtualization); + }, + ); + + describe( + 'Regression: Monitoring - Metrics Namespaced (Virtualization)', + { tags: ['@metrics', '@virtualization', '@slow'] }, + () => { + beforeEach(() => { + cy.visit('/'); + cy.validateLogin(); + cy.switchPerspective('Virtualization', 'Fleet virtualization'); + guidedTour.closeKubevirtTour(); + alerts.interceptWatchdogAlert(); + nav.sidenav.clickNavLink(['Observe', 'Metrics']); + commonPages.titleShouldHaveText('Metrics'); + cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); + alerts.interceptWatchdogAlert(); + }); + + testMetricsRegressionNamespace2(CustomerPerspectiveName.Virtualization); + }, + ); +}); diff --git a/web/cypress/e2e/monitoring/regression/01.reg_alerts_dev.cy.ts b/web/cypress/e2e/monitoring/regression/01.reg_alerts_dev.cy.ts deleted file mode 100644 index 76a95f20b..000000000 --- a/web/cypress/e2e/monitoring/regression/01.reg_alerts_dev.cy.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { CLUSTER_MONITORING_OPERATOR } from '../../../support/operators'; -import { alerts } from '../../../fixtures/monitoring/alert'; -import { testAlertsRegressionNamespace } from '../../../support/monitoring/04.reg_alerts_namespace.cy'; -import { commonPages } from '../../../views/common'; -import { nav } from '../../../views/nav'; -import { CustomerPerspectiveName } from '@/shared/constants/perspective'; - -describe( - 'Regression: Monitoring - Alerts Namespaced (Administrator)', - { tags: ['@alerting'] }, - () => { - before(() => { - cy.beforeBlock(CLUSTER_MONITORING_OPERATOR); - }); - - beforeEach(() => { - alerts.interceptWatchdogAlert(); - nav.sidenav.clickNavLink(['Observe', 'Alerting']); - commonPages.titleShouldHaveText('Alerting'); - alerts.interceptWatchdogAlert(); - cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); - }); - - // Run tests in Administrator perspective - testAlertsRegressionNamespace(CustomerPerspectiveName.CorePlatform); - }, -); diff --git a/web/cypress/e2e/monitoring/regression/02.reg_metrics_admin_1.cy.ts b/web/cypress/e2e/monitoring/regression/02.reg_metrics_admin_1.cy.ts deleted file mode 100644 index ae722c09e..000000000 --- a/web/cypress/e2e/monitoring/regression/02.reg_metrics_admin_1.cy.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { CLUSTER_MONITORING_OPERATOR } from '../../../support/operators'; -import { testMetricsRegression1 } from '../../../support/monitoring/02.reg_metrics_1.cy'; -import { testMetricsRegressionNamespace1 } from '../../../support/monitoring/05.reg_metrics_namespace_1.cy'; -import { commonPages } from '../../../views/common'; -import { nav } from '../../../views/nav'; -import { CustomerPerspectiveName } from '@/shared/constants/perspective'; - -// Test suite for Administrator perspective -describe('Regression: Monitoring - Metrics (Administrator)', { tags: ['@metrics'] }, () => { - before(() => { - cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); - }); - - beforeEach(() => { - nav.sidenav.clickNavLink(['Observe', 'Metrics']); - commonPages.titleShouldHaveText('Metrics'); - cy.changeNamespace('All Projects'); - }); - - // Run tests in Administrator perspective - testMetricsRegression1(CustomerPerspectiveName.CorePlatform); -}); - -// Test suite for Administrator perspective -describe( - 'Regression: Monitoring - Metrics Namespaced (Administrator)', - { tags: ['@metrics'] }, - () => { - before(() => { - cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); - }); - - beforeEach(() => { - nav.sidenav.clickNavLink(['Observe', 'Metrics']); - commonPages.titleShouldHaveText('Metrics'); - cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); - }); - - // Run tests in Administrator perspective - testMetricsRegressionNamespace1(CustomerPerspectiveName.CorePlatform); - }, -); diff --git a/web/cypress/e2e/monitoring/regression/02.reg_metrics_admin_2.cy.ts b/web/cypress/e2e/monitoring/regression/02.reg_metrics_admin_2.cy.ts deleted file mode 100644 index 59b8b357b..000000000 --- a/web/cypress/e2e/monitoring/regression/02.reg_metrics_admin_2.cy.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { CLUSTER_MONITORING_OPERATOR } from '../../../support/operators'; -import { testMetricsRegression2 } from '../../../support/monitoring/02.reg_metrics_2.cy'; -import { testMetricsRegressionNamespace2 } from '../../../support/monitoring/05.reg_metrics_namespace_2.cy'; -import { commonPages } from '../../../views/common'; -import { nav } from '../../../views/nav'; -import { CustomerPerspectiveName } from '@/shared/constants/perspective'; - -// Test suite for Administrator perspective -describe('Regression: Monitoring - Metrics (Administrator)', { tags: ['@metrics'] }, () => { - before(() => { - cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); - }); - - beforeEach(() => { - nav.sidenav.clickNavLink(['Observe', 'Metrics']); - commonPages.titleShouldHaveText('Metrics'); - cy.changeNamespace('All Projects'); - }); - - // Run tests in Administrator perspective - testMetricsRegression2(CustomerPerspectiveName.CorePlatform); -}); - -// Test suite for Administrator perspective -describe( - 'Regression: Monitoring - Metrics Namespaced (Administrator)', - { tags: ['@metrics'] }, - () => { - before(() => { - cy.ensureMonitoringPlugin(CLUSTER_MONITORING_OPERATOR); - }); - - beforeEach(() => { - nav.sidenav.clickNavLink(['Observe', 'Metrics']); - commonPages.titleShouldHaveText('Metrics'); - cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); - }); - - // Run tests in Administrator perspective - testMetricsRegressionNamespace2(CustomerPerspectiveName.CorePlatform); - }, -); diff --git a/web/cypress/e2e/coo/03.coo_lightspeed_show_timeseries.cy.ts b/web/cypress/e2e/perses-dashboards/lightspeed_integration.cy.ts similarity index 100% rename from web/cypress/e2e/coo/03.coo_lightspeed_show_timeseries.cy.ts rename to web/cypress/e2e/perses-dashboards/lightspeed_integration.cy.ts diff --git a/web/cypress/e2e/perses/00.coo_bvt_perses_admin.cy.ts b/web/cypress/e2e/perses-dashboards/perses_dashboards_bvt.cy.ts similarity index 100% rename from web/cypress/e2e/perses/00.coo_bvt_perses_admin.cy.ts rename to web/cypress/e2e/perses-dashboards/perses_dashboards_bvt.cy.ts diff --git a/web/cypress/e2e/perses/03.coo_create_perses_admin.cy.ts b/web/cypress/e2e/perses-dashboards/perses_dashboards_create.cy.ts similarity index 100% rename from web/cypress/e2e/perses/03.coo_create_perses_admin.cy.ts rename to web/cypress/e2e/perses-dashboards/perses_dashboards_create.cy.ts diff --git a/web/cypress/e2e/perses/05.coo_tempo_loki_admin.cy.ts b/web/cypress/e2e/perses-dashboards/perses_dashboards_datasources.cy.ts similarity index 100% rename from web/cypress/e2e/perses/05.coo_tempo_loki_admin.cy.ts rename to web/cypress/e2e/perses-dashboards/perses_dashboards_datasources.cy.ts diff --git a/web/cypress/e2e/perses/02.coo_edit_perses_admin.cy.ts b/web/cypress/e2e/perses-dashboards/perses_dashboards_edit.cy.ts similarity index 100% rename from web/cypress/e2e/perses/02.coo_edit_perses_admin.cy.ts rename to web/cypress/e2e/perses-dashboards/perses_dashboards_edit.cy.ts diff --git a/web/cypress/e2e/perses/04.coo_import_perses_admin.cy.ts b/web/cypress/e2e/perses-dashboards/perses_dashboards_import.cy.ts similarity index 100% rename from web/cypress/e2e/perses/04.coo_import_perses_admin.cy.ts rename to web/cypress/e2e/perses-dashboards/perses_dashboards_import.cy.ts diff --git a/web/cypress/e2e/perses/01.coo_list_perses_admin.cy.ts b/web/cypress/e2e/perses-dashboards/perses_dashboards_list.cy.ts similarity index 100% rename from web/cypress/e2e/perses/01.coo_list_perses_admin.cy.ts rename to web/cypress/e2e/perses-dashboards/perses_dashboards_list.cy.ts diff --git a/web/cypress/e2e/virtualization/04.coo_ivt_perses.cy.ts b/web/cypress/e2e/perses-dashboards/perses_dashboards_virtualization_ivt.cy.ts similarity index 65% rename from web/cypress/e2e/virtualization/04.coo_ivt_perses.cy.ts rename to web/cypress/e2e/perses-dashboards/perses_dashboards_virtualization_ivt.cy.ts index 809a8589f..b78328a60 100644 --- a/web/cypress/e2e/virtualization/04.coo_ivt_perses.cy.ts +++ b/web/cypress/e2e/perses-dashboards/perses_dashboards_virtualization_ivt.cy.ts @@ -16,30 +16,12 @@ describe( () => { before(() => { cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); - }); - - it('1. Installation: COO and setting up Monitoring Plugin', () => { cy.log('Installation: COO and setting up Monitoring Plugin'); + cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); + cy.log('Virtualization perspective - Observe Menu and verify all submenus'); + cy.switchPerspective('Virtualization', 'Fleet virtualization'); + guidedTour.closeKubevirtTour(); }); - }, -); - -describe('Installation: Virtualization', { tags: ['@virtualization', '@slow'] }, () => { - before(() => { - cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); - }); - - it('1. Installation: Virtualization', () => { - cy.log('Installation: Virtualization'); - cy.switchPerspective('Virtualization', 'Fleet virtualization'); - guidedTour.closeKubevirtTour(); - }); -}); - -describe( - 'IVT: COO - Dashboards (Perses) - Virtualization perspective', - { tags: ['@perses-dashboards', '@coo', '@virtualization', '@slow'] }, - () => { beforeEach(() => { cy.visit('/'); guidedTour.close(); diff --git a/web/cypress/e2e/perses/99.coo_rbac_perses_user1.cy.ts b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user1.cy.ts similarity index 91% rename from web/cypress/e2e/perses/99.coo_rbac_perses_user1.cy.ts rename to web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user1.cy.ts index a8573957d..9a29151d9 100644 --- a/web/cypress/e2e/perses/99.coo_rbac_perses_user1.cy.ts +++ b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user1.cy.ts @@ -1,10 +1,10 @@ import { CustomerPerspectiveName } from '@/shared/constants/perspective'; -import { nav } from '../../views/nav'; -import { testCOORBACPersesTestsDevUser1 } from '../../support/perses/99.coo_rbac_perses_user1.cy'; +import { nav } from '../../../views/nav'; +import { testCOORBACPersesTestsDevUser1 } from '../../../support/perses/99.coo_rbac_perses_user1.cy'; import { CLUSTER_MONITORING_OPERATOR, CLUSTER_OBSERVABILITY_OPERATOR, -} from '../../support/operators'; +} from '../../../support/operators'; describe( 'RBAC User1: COO - Dashboards (Perses) - Administrator perspective', diff --git a/web/cypress/e2e/perses/99.coo_rbac_perses_user2.cy.ts b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user2.cy.ts similarity index 92% rename from web/cypress/e2e/perses/99.coo_rbac_perses_user2.cy.ts rename to web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user2.cy.ts index c81d6a492..fa08bd2e7 100644 --- a/web/cypress/e2e/perses/99.coo_rbac_perses_user2.cy.ts +++ b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user2.cy.ts @@ -1,7 +1,7 @@ import { CustomerPerspectiveName } from '@/shared/constants/perspective'; -import { nav } from '../../views/nav'; -import { testCOORBACPersesTestsDevUser2 } from '../../support/perses/99.coo_rbac_perses_user2.cy'; -import { operatorAuthUtils } from '../../support/commands/auth-commands'; +import { nav } from '../../../views/nav'; +import { testCOORBACPersesTestsDevUser2 } from '../../../support/perses/99.coo_rbac_perses_user2.cy'; +import { operatorAuthUtils } from '../../../support/commands/auth-commands'; describe( 'RBAC User2: COO - Dashboards (Perses) - Administrator perspective', diff --git a/web/cypress/e2e/perses/99.coo_rbac_perses_user3.cy.ts b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user3.cy.ts similarity index 92% rename from web/cypress/e2e/perses/99.coo_rbac_perses_user3.cy.ts rename to web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user3.cy.ts index 2816015a9..066c14baa 100644 --- a/web/cypress/e2e/perses/99.coo_rbac_perses_user3.cy.ts +++ b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user3.cy.ts @@ -1,7 +1,7 @@ import { CustomerPerspectiveName } from '@/shared/constants/perspective'; -import { nav } from '../../views/nav'; -import { testCOORBACPersesTestsDevUser3 } from '../../support/perses/99.coo_rbac_perses_user3.cy'; -import { operatorAuthUtils } from '../../support/commands/auth-commands'; +import { nav } from '../../../views/nav'; +import { testCOORBACPersesTestsDevUser3 } from '../../../support/perses/99.coo_rbac_perses_user3.cy'; +import { operatorAuthUtils } from '../../../support/commands/auth-commands'; describe( 'RBAC User3: COO - Dashboards (Perses) - Administrator perspective', diff --git a/web/cypress/e2e/perses/99.coo_rbac_perses_user4.cy.ts b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user4.cy.ts similarity index 92% rename from web/cypress/e2e/perses/99.coo_rbac_perses_user4.cy.ts rename to web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user4.cy.ts index cfb344fc8..b8ff0b60b 100644 --- a/web/cypress/e2e/perses/99.coo_rbac_perses_user4.cy.ts +++ b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user4.cy.ts @@ -1,7 +1,7 @@ import { CustomerPerspectiveName } from '@/shared/constants/perspective'; -import { nav } from '../../views/nav'; -import { testCOORBACPersesTestsDevUser4 } from '../../support/perses/99.coo_rbac_perses_user4.cy'; -import { operatorAuthUtils } from '../../support/commands/auth-commands'; +import { nav } from '../../../views/nav'; +import { testCOORBACPersesTestsDevUser4 } from '../../../support/perses/99.coo_rbac_perses_user4.cy'; +import { operatorAuthUtils } from '../../../support/commands/auth-commands'; describe( 'RBAC User4: COO - Dashboards (Perses) - Administrator perspective', diff --git a/web/cypress/e2e/perses/99.coo_rbac_perses_user5.cy.ts b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user5.cy.ts similarity index 92% rename from web/cypress/e2e/perses/99.coo_rbac_perses_user5.cy.ts rename to web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user5.cy.ts index 0fedf98f2..51be1b0cb 100644 --- a/web/cypress/e2e/perses/99.coo_rbac_perses_user5.cy.ts +++ b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user5.cy.ts @@ -1,7 +1,7 @@ import { CustomerPerspectiveName } from '@/shared/constants/perspective'; -import { nav } from '../../views/nav'; -import { testCOORBACPersesTestsDevUser5 } from '../../support/perses/99.coo_rbac_perses_user5.cy'; -import { operatorAuthUtils } from '../../support/commands/auth-commands'; +import { nav } from '../../../views/nav'; +import { testCOORBACPersesTestsDevUser5 } from '../../../support/perses/99.coo_rbac_perses_user5.cy'; +import { operatorAuthUtils } from '../../../support/commands/auth-commands'; describe( 'RBAC User5: COO - Dashboards (Perses) - Administrator perspective', diff --git a/web/cypress/e2e/perses/99.coo_rbac_perses_user6.cy.ts b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user6.cy.ts similarity index 92% rename from web/cypress/e2e/perses/99.coo_rbac_perses_user6.cy.ts rename to web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user6.cy.ts index 259dd57e2..8042fbb18 100644 --- a/web/cypress/e2e/perses/99.coo_rbac_perses_user6.cy.ts +++ b/web/cypress/e2e/perses-dashboards/rbac/perses_dashboards_user6.cy.ts @@ -1,7 +1,7 @@ import { CustomerPerspectiveName } from '@/shared/constants/perspective'; -import { nav } from '../../views/nav'; -import { testCOORBACPersesTestsDevUser6 } from '../../support/perses/99.coo_rbac_perses_user6.cy'; -import { operatorAuthUtils } from '../../support/commands/auth-commands'; +import { nav } from '../../../views/nav'; +import { testCOORBACPersesTestsDevUser6 } from '../../../support/perses/99.coo_rbac_perses_user6.cy'; +import { operatorAuthUtils } from '../../../support/commands/auth-commands'; describe( 'RBAC User6: COO - Dashboards (Perses) - Administrator perspective', diff --git a/web/cypress/e2e/monitoring/00.bvt_admin.cy.ts b/web/cypress/e2e/shared/admin_perspective_bvt.cy.ts similarity index 100% rename from web/cypress/e2e/monitoring/00.bvt_admin.cy.ts rename to web/cypress/e2e/shared/admin_perspective_bvt.cy.ts diff --git a/web/cypress/e2e/shared/coo_submenus.cy.ts b/web/cypress/e2e/shared/coo_submenus.cy.ts new file mode 100644 index 000000000..a28da7f61 --- /dev/null +++ b/web/cypress/e2e/shared/coo_submenus.cy.ts @@ -0,0 +1,45 @@ +import { + CLUSTER_MONITORING_OPERATOR, + CLUSTER_OBSERVABILITY_OPERATOR, +} from '../../support/operators'; +import { commonPages } from '../../views/common'; +import { nav } from '../../views/nav'; +import { troubleshootingPanelPage } from '../../views/troubleshooting-panel'; + +describe( + 'BVT: COO', + { + tags: [ + '@alerting', + '@cluster-health-analyzer', + '@legacy-dashboards', + '@perses-dashboards', + '@coo', + ], + }, + () => { + before(() => { + cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); + }); + + it('1. Admin perspective - Observe Menu', () => { + cy.log('Admin perspective - Observe Menu and verify all submenus'); + cy.reload(true); + cy.wait(10000); + nav.sidenav.clickNavLink(['Observe', 'Alerting']); + commonPages.titleShouldHaveText('Alerting'); + nav.tabs.switchTab('Silences'); + nav.tabs.switchTab('Alerting rules'); + nav.tabs.switchTab('Incidents'); + nav.sidenav.clickNavLink(['Observe', 'Dashboards (Perses)']); + commonPages.titleShouldHaveText('Dashboards'); + nav.sidenav.clickNavLink(['Observe', 'Alerting']); + troubleshootingPanelPage.openSignalCorrelation(); + troubleshootingPanelPage.troubleshootingPanelPageShouldBeLoadedEnabled(); + }); + + /** + * TODO: To be replaced by COO validation such as Dashboards (Perses) scenarios + */ + }, +); diff --git a/web/cypress/e2e/virtualization/02.coo_ivt_metrics_1.cy.ts b/web/cypress/e2e/virtualization/02.coo_ivt_metrics_1.cy.ts deleted file mode 100644 index 7470194ec..000000000 --- a/web/cypress/e2e/virtualization/02.coo_ivt_metrics_1.cy.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { - CLUSTER_MONITORING_OPERATOR, - CLUSTER_OBSERVABILITY_OPERATOR, - KUBEVIRT_HYPERCONVERGED_OPERATOR, -} from '../../support/operators'; -import { alerts } from '../../fixtures/monitoring/alert'; -import { testMetricsRegression1 } from '../../support/monitoring/02.reg_metrics_1.cy'; -import { testMetricsRegressionNamespace1 } from '../../support/monitoring/05.reg_metrics_namespace_1.cy'; -import { commonPages } from '../../views/common'; -import { nav } from '../../views/nav'; -import { guidedTour } from '../../views/tour'; -import { CustomerPerspectiveName } from '@/shared/constants/perspective'; - -describe( - 'Regression: Monitoring - Metrics (Virtualization)', - { tags: ['@metrics', '@coo', '@virtualization', '@slow'] }, - () => { - before(() => { - cy.beforeBlockCOO(CLUSTER_OBSERVABILITY_OPERATOR, CLUSTER_MONITORING_OPERATOR); - }); - - it('1. Installation: COO and setting up Monitoring Plugin', () => { - cy.log('Installation: COO and setting up Monitoring Plugin'); - }); - }, -); - -describe( - 'IVT: Monitoring UIPlugin + Virtualization', - { tags: ['@coo', '@virtualization', '@slow'] }, - () => { - before(() => { - cy.beforeBlockVirtualization(KUBEVIRT_HYPERCONVERGED_OPERATOR); - }); - - it('1. Virtualization perspective - Observe Menu', () => { - cy.log('Virtualization perspective - Observe Menu and verify all submenus'); - cy.switchPerspective('Virtualization', 'Fleet virtualization'); - guidedTour.closeKubevirtTour(); - }); - }, -); - -describe( - 'Regression: Monitoring - Metrics (Virtualization)', - { tags: ['@metrics', '@coo', '@virtualization', '@slow'] }, - () => { - beforeEach(() => { - cy.visit('/'); - cy.validateLogin(); - cy.switchPerspective('Virtualization', 'Fleet virtualization'); - guidedTour.closeKubevirtTour(); - alerts.interceptWatchdogAlert(); - nav.sidenav.clickNavLink(['Observe', 'Metrics']); - commonPages.titleShouldHaveText('Metrics'); - cy.changeNamespace('All Projects'); - alerts.interceptWatchdogAlert(); - }); - - testMetricsRegression1(CustomerPerspectiveName.Virtualization); - }, -); - -describe( - 'Regression: Monitoring - Metrics Namespaced (Virtualization)', - { tags: ['@metrics', '@coo', '@virtualization', '@slow'] }, - () => { - beforeEach(() => { - cy.visit('/'); - cy.validateLogin(); - cy.switchPerspective('Virtualization', 'Fleet virtualization'); - guidedTour.closeKubevirtTour(); - alerts.interceptWatchdogAlert(); - nav.sidenav.clickNavLink(['Observe', 'Metrics']); - commonPages.titleShouldHaveText('Metrics'); - cy.changeNamespace(CLUSTER_MONITORING_OPERATOR.namespace); - alerts.interceptWatchdogAlert(); - }); - - testMetricsRegressionNamespace1(CustomerPerspectiveName.Virtualization); - }, -);