Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion web/cypress/e2e/coo/01.coo_ivt.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ describe('IVT: Monitoring UIPlugin + Virtualization', { tags: ['@smoke', '@coo']

it('1. Virtualization perspective - Observe Menu', () => {
cy.log('Virtualization perspective - Observe Menu and verify all submenus');
cy.switchPerspective('Virtualization');
cy.switchPerspective('Virtualization', 'Fleet virtualization');
guidedTour.closeKubevirtTour();
troubleshootingPanelPage.signalCorrelationShouldNotBeVisible();
cy.switchPerspective('Core platform', 'Administrator');
Expand Down
38 changes: 28 additions & 10 deletions web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ import '../../support/commands/auth-commands';
import { commonPages } from '../../views/common';
import { nav } from '../../views/nav';
import { acmAlertingPage } from '../../views/acm-alerting-page';
import { troubleshootingPanelPage } from 'cypress/views/troubleshooting-panel';
import { incidentsPage } from 'cypress/views/incidents-page';
import { runAllRegressionFleetManagementAlertsTests } from 'cypress/support/monitoring/01.reg_alerts.cy';
import { listPage } from 'cypress/views/list-page';

const MCP = {
namespace: Cypress.env('COO_NAMESPACE'),
Expand All @@ -25,29 +29,24 @@ describe('ACM Alerting UI', { tags: ['@coo', '@alerts'] }, () => {
cy.beforeBlockACM(MCP, MP);
});

it('Navigate to Fleet Management > local-cluster > Observe > Alerting', () => {
it('Navigate to Fleet Management > Observe > Alerting', () => {
// check monitoring-plugin UI is not been affected
cy.switchPerspective('Core platform');
nav.sidenav.clickNavLink(['Observe', 'Alerting']);
commonPages.titleShouldHaveText('Alerting');
nav.tabs.switchTab('Incidents');
nav.sidenav.clickNavLink(['Observe', 'Metrics']);
commonPages.titleShouldHaveText('Metrics');
// switch to Fleet Management page
cy.switchPerspective('Fleet Management');
cy.switchPerspective('Fleet management');
// close pop-up window
cy.closeOnboardingModalIfPresent();
// click “local-cluster” when visible
cy.log('Waiting for local-cluster link to appear...');
cy.contains('local-cluster', { timeout: 120000 })
.should('exist')
.should('be.visible')
.then(($el) => {
cy.wrap($el).click({ force: true });
});
commonPages.titleShouldHaveText('Clusters');
// click side menu -> Observe -> Alerting
nav.sidenav.clickNavLink(['Observe', 'Alerting']);
// confirm Alerting page loading completed
acmAlertingPage.shouldBeLoaded();
listPage.filter.clearAllFilters();
// check test alerts exist
expectedAlerts.forEach((alert) => {
cy.contains('a[data-test-id="alert-resource-link"]', alert, { timeout: 120000 }).should(
Expand All @@ -57,4 +56,23 @@ describe('ACM Alerting UI', { tags: ['@coo', '@alerts'] }, () => {
cy.log('Verified all expected alerts are visible on the Alerting page');
cy.log('ACM Alerting UI test completed successfully');
});

it('Visual validation for features that should not be displayed under Fleet management perspective', () => {
// check Incidents page is not displayed under Fleet management perspective
cy.log('Incidents page should not be displayed under Fleet management perspective');
cy.switchPerspective('Fleet management');
nav.sidenav.clickNavLink(['Observe', 'Alerting']);
commonPages.titleShouldHaveText('Alerting');
incidentsPage.incidentsPageShouldNotBeVisible();

// check Signal correlation option is not displayed under Fleet management perspective
cy.log('Signal correlation option should not be displayed under Fleet management perspective');
troubleshootingPanelPage.signalCorrelationShouldNotBeVisible();
});
Comment thread
coderabbitai[bot] marked this conversation as resolved.

runAllRegressionFleetManagementAlertsTests({
name: 'Fleet management',
alertName: 'Watchdog-spoke',
alertNamespace: `${MP.namespace}`,
});
});
37 changes: 37 additions & 0 deletions web/cypress/e2e/coo/02.acm_perses.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// 02.acm_perses.cy.ts
// E2E test for validating ACM Perses integration with Cluster Observability Operator (COO)
import { nav } from 'cypress/views/nav';
import '../../support/commands/auth-commands';
import { runBVTCOOPersesTests1 } from 'cypress/support/perses/00.coo_bvt_perses_admin.cy';

const MCP = {
namespace: Cypress.env('COO_NAMESPACE'),
packageName: 'cluster-observability-operator',
operatorName: 'Cluster Observability Operator',
config: {
kind: 'UIPlugin',
name: 'monitoring',
},
};
const MP = {
namespace: 'openshift-monitoring',
operatorName: 'Cluster Monitoring Operator',
};

describe('ACM - Perses', { tags: ['@coo', '@perses'] }, () => {
before(() => {
cy.beforeBlockACM(MCP, MP);
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
});

beforeEach(() => {
cy.switchPerspective('Fleet management');
nav.sidenav.clickNavLink(['Observe', 'Dashboards']);
});
Comment thread
coderabbitai[bot] marked this conversation as resolved.

runBVTCOOPersesTests1({
name: 'Fleet management',
dashboardsPageName: 'Dashboards',
});
});
13 changes: 7 additions & 6 deletions web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { alerts } from '../../../fixtures/monitoring/alert';
import { runAllRegressionAlertsTests } from '../../../support/monitoring/01.reg_alerts.cy';
import { runAllRegressionCorePlatformAlertsTests } from '../../../support/monitoring/01.reg_alerts.cy';
import { commonPages } from '../../../views/common';
import { nav } from '../../../views/nav';

Expand All @@ -8,13 +8,14 @@ const MP = {
operatorName: 'Cluster Monitoring Operator',
};

// Test suite for Administrator perspective
// Test suite for Core platform perspective
describe(
'Regression: Monitoring - Alerts (Administrator)',
'Regression: Monitoring - Alerts (Core platform)',
{ tags: ['@monitoring', '@alerts'] },
() => {
before(() => {
cy.beforeBlock(MP);
cy.switchPerspective('Core platform');
Comment thread
coderabbitai[bot] marked this conversation as resolved.
});

beforeEach(() => {
Expand All @@ -27,9 +28,9 @@ describe(
alerts.getWatchdogAlert();
});

// Run tests in Administrator perspective
runAllRegressionAlertsTests({
name: 'Administrator',
// Run tests in Core platform perspective
runAllRegressionCorePlatformAlertsTests({
name: 'Core platform',
});
},
);
5 changes: 3 additions & 2 deletions web/cypress/e2e/perses/00.coo_bvt_perses_admin.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ const MP = {

//TODO: change tag to @smoke, @dashboards, @perses when customizable-dashboards gets merged
describe(
'BVT: COO - Dashboards (Perses) - Administrator perspective',
'BVT: COO - Dashboards (Perses) - Core platform perspective',
{ tags: ['@smoke', '@dashboards', '@perses'] },
() => {
before(() => {
cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
});

Expand All @@ -34,7 +35,7 @@ describe(

//TODO: rename after customizable-dashboards gets merged
runBVTCOOPersesTests1({
name: 'Administrator',
name: 'Core platform',
Comment thread
coderabbitai[bot] marked this conversation as resolved.
});
},
);
8 changes: 5 additions & 3 deletions web/cypress/e2e/perses/01.coo_list_perses_admin.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ describe(
() => {
before(() => {
cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
});

Expand All @@ -38,11 +39,11 @@ describe(
});

runCOOListPersesTests({
name: 'Administrator',
name: 'Core platform',
});

runCOOListPersesDuplicateDashboardTests({
name: 'Administrator',
name: 'Core platform',
});
},
);
Expand All @@ -54,6 +55,7 @@ describe(
() => {
before(() => {
cy.beforeBlockCOO(MCP, MP);
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
});

Expand All @@ -64,7 +66,7 @@ describe(
});

runCOOListPersesTestsNamespace({
name: 'Administrator',
name: 'Core platform',
});
},
);
7 changes: 4 additions & 3 deletions web/cypress/e2e/perses/02.coo_edit_perses_admin.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ describe(
{ tags: ['@perses', '@dashboards'] },
() => {
before(() => {
operatorAuthUtils.loginAndAuth();
// cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
operatorAuthUtils.loginAndAuth();
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
});

Expand All @@ -37,11 +38,11 @@ describe(
});

runCOOEditPersesTests({
name: 'Administrator',
name: 'Core platform',
});

runCOOEditPersesTests1({
name: 'Administrator',
name: 'Core platform',
});
},
);
3 changes: 2 additions & 1 deletion web/cypress/e2e/perses/03.coo_create_perses_admin.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ describe(
before(() => {
// cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
operatorAuthUtils.loginAndAuth();
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
cy.setupPersesRBACandExtraDashboards();
});
Expand All @@ -41,7 +42,7 @@ describe(
});

runCOOCreatePersesTests({
name: 'Administrator',
name: 'Core platform',
});
},
);
3 changes: 2 additions & 1 deletion web/cypress/e2e/perses/04.coo_import_perses_admin.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ describe(
before(() => {
// cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
operatorAuthUtils.loginAndAuth();
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
cy.setupPersesRBACandExtraDashboards();
});
Expand All @@ -43,7 +44,7 @@ describe(
});

runCOOImportPersesTests({
name: 'Administrator',
name: 'Core platform',
});
},
);
1 change: 1 addition & 0 deletions web/cypress/e2e/perses/99.coo_rbac_perses_user1.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ describe(
before(() => {
// Setup COO and Perses dashboards (requires admin privileges)
cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
cy.setupPersesRBACandExtraDashboards();

Expand Down
1 change: 1 addition & 0 deletions web/cypress/e2e/perses/99.coo_rbac_perses_user2.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ describe(
// Step 2: Setup COO and Perses dashboards (requires admin privileges)
// cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
operatorAuthUtils.loginAndAuth();
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
cy.setupPersesRBACandExtraDashboards();

Expand Down
1 change: 1 addition & 0 deletions web/cypress/e2e/perses/99.coo_rbac_perses_user3.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ describe(
// Step 2: Setup COO and Perses dashboards (requires admin privileges)
// cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
operatorAuthUtils.loginAndAuth();
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
cy.setupPersesRBACandExtraDashboards();

Expand Down
1 change: 1 addition & 0 deletions web/cypress/e2e/perses/99.coo_rbac_perses_user4.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ describe(
// Step 2: Setup COO and Perses dashboards (requires admin privileges)
// cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
operatorAuthUtils.loginAndAuth();
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
cy.setupPersesRBACandExtraDashboards();

Expand Down
1 change: 1 addition & 0 deletions web/cypress/e2e/perses/99.coo_rbac_perses_user5.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ describe(
// Step 2: Setup COO and Perses dashboards (requires admin privileges)
// cy.beforeBlockCOO(MCP, MP, { dashboards: true, troubleshootingPanel: false });
operatorAuthUtils.loginAndAuth();
cy.switchPerspective('Core platform');
cy.cleanupPersesTestDashboardsBeforeTests();
cy.setupPersesRBACandExtraDashboards();

Expand Down
1 change: 1 addition & 0 deletions web/cypress/fixtures/coo/acm-alerrule-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ data:
cluster: "spoke"
clusterID: "22222222"
severity: warn
namespace: openshift-monitoring
- name: cluster-health
rules:
- alert: ClusterCPUHealth-jb
Expand Down
5 changes: 5 additions & 0 deletions web/cypress/fixtures/coo/acm-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,10 @@ metadata:
name: monitoring
spec:
monitoring:
incidents:
enabled: true
perses:
enabled: true
acm:
enabled: true
alertmanager:
Expand Down Expand Up @@ -233,6 +237,7 @@ data:
cluster: "spoke"
clusterID: "22222222"
severity: warn
namespace: openshift-monitoring
- name: cluster-health
rules:
- alert: ClusterCPUHealth-jb
Expand Down
4 changes: 4 additions & 0 deletions web/cypress/fixtures/coo/acm-uiplugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ metadata:
name: monitoring
spec:
monitoring:
incidents:
enabled: true
perses:
enabled: true
acm:
enabled: true
alertmanager:
Expand Down
Loading