From 19d3f9b4207b938799ed345b1ab5092f16958fa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Bedi?= Date: Wed, 12 May 2021 14:23:40 +0200 Subject: [PATCH] Check if data source is created --- e2e/suite1/specs/exemplars.spec.ts | 43 +++++++++++++++++++----------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/e2e/suite1/specs/exemplars.spec.ts b/e2e/suite1/specs/exemplars.spec.ts index 917fffdc07f..034d943f1a6 100644 --- a/e2e/suite1/specs/exemplars.spec.ts +++ b/e2e/suite1/specs/exemplars.spec.ts @@ -1,26 +1,37 @@ import { e2e } from '@grafana/e2e'; const dataSourceName = 'PromExemplar'; +const addDataSource = () => { + e2e.flows.addDataSource({ + type: 'Prometheus', + expectedAlertMessage: 'HTTP error Bad Gateway', + name: dataSourceName, + form: () => { + e2e.components.DataSource.Prometheus.configPage.exemplarsAddButton().click(); + e2e.components.DataSource.Prometheus.configPage.internalLinkSwitch().check({ force: true }); + e2e.components.DataSourcePicker.container() + .should('be.visible') + .within(() => { + e2e.components.Select.input().should('be.visible').click({ force: true }); + + e2e().contains('gdev-tempo').scrollIntoView().should('be.visible').click(); + }); + }, + }); +}; describe('Exemplars', () => { - before(() => { + beforeEach(() => { e2e.flows.login('admin', 'admin'); - e2e.flows.addDataSource({ - type: 'Prometheus', - expectedAlertMessage: 'HTTP error Bad Gateway', - name: dataSourceName, - form: () => { - e2e.components.DataSource.Prometheus.configPage.exemplarsAddButton().click(); - e2e.components.DataSource.Prometheus.configPage.internalLinkSwitch().check({ force: true }); - e2e.components.DataSourcePicker.container() - .should('be.visible') - .within(() => { - e2e.components.Select.input().should('be.visible').click({ force: true }); - e2e().contains('gdev-tempo').scrollIntoView().should('be.visible').click(); - }); - }, - }); + e2e() + .request({ url: `/api/datasources/name/${dataSourceName}`, failOnStatusCode: false }) + .then((response) => { + if (response.isOkStatusCode) { + return; + } + addDataSource(); + }); }); it('should be able to navigate to configured data source', () => {