[v9.5.x] Chore: Update @grafana/e2e (#66880)

Chore: Update @grafana/e2e (#66365)

* Update e2e package

- Ensure health request is monitored for addDatasource flow
- Add custom timeout to configurePanel flow

* Make health check optional

(cherry picked from commit b2e32a70b9)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
This commit is contained in:
Grot (@grafanabot)
2023-04-19 20:44:23 +01:00
committed by GitHub
parent e6eb1df488
commit e9b2eb1607
3 changed files with 16 additions and 1 deletions
@@ -50,6 +50,7 @@ function provisionAzureMonitorDatasources(datasources: AzureMonitorProvision[])
expectedAlertMessage: 'Successfully connected to all Azure Monitor endpoints',
// Reduce the timeout from 30s to error faster when an invalid alert message is presented
timeout: 10000,
awaitHealth: true,
});
}
@@ -14,6 +14,7 @@ export interface AddDataSourceConfig {
skipTlsVerify: boolean;
type: string;
timeout?: number;
awaitHealth?: boolean;
}
// @todo this actually returns type `Cypress.Chainable<AddDaaSourceConfig>`
@@ -40,8 +41,15 @@ export const addDataSource = (config?: Partial<AddDataSourceConfig>) => {
skipTlsVerify,
type,
timeout,
awaitHealth,
} = fullConfig;
if (awaitHealth) {
e2e()
.intercept(/health/)
.as('health');
}
e2e().logToConsole('Adding data source with name:', name);
e2e.pages.AddDataSource.visit();
e2e.pages.AddDataSource.dataSourcePluginsV2(type)
@@ -76,6 +84,10 @@ export const addDataSource = (config?: Partial<AddDataSourceConfig>) => {
e2e.pages.DataSource.saveAndTest().click();
if (awaitHealth) {
e2e().wait('@health', { timeout: timeout ?? e2e.config().defaultCommandTimeout });
}
// use the timeout passed in if it exists, otherwise, continue to use the default
e2e.pages.DataSource.alert()
.should('exist')
@@ -34,6 +34,7 @@ interface ConfigurePanelOptional {
panelTitle?: string;
timeRange?: TimeRangeConfig;
visualizationName?: string;
timeout?: number;
}
interface ConfigurePanelRequired {
@@ -80,6 +81,7 @@ export const configurePanel = (config: PartialAddPanelConfig | PartialEditPanelC
timeRange,
visitDashboardAtStart,
visualizationName,
timeout,
} = fullConfig;
if (visitDashboardAtStart) {
@@ -161,7 +163,7 @@ export const configurePanel = (config: PartialAddPanelConfig | PartialEditPanelC
e2e().wait('@chartData');
// Wait for RxJS
e2e().wait(500);
e2e().wait(timeout ?? e2e.config().defaultCommandTimeout);
if (matchScreenshot) {
let visualization;