* bump plugin-e2e and fix failing test * do not ignore failures * generate trace on every test * force test to fail for debugging purposes * fix broken test * regenerate drone file
45 lines
2.0 KiB
TypeScript
45 lines
2.0 KiB
TypeScript
import { expect, test } from '@grafana/plugin-e2e';
|
|
|
|
import { formatExpectError } from '../errors';
|
|
|
|
test.describe('test createDataSourceConfigPage fixture, saveAndTest and toBeOK matcher', () => {
|
|
test('invalid credentials should return an error', async ({ createDataSourceConfigPage, page }) => {
|
|
const configPage = await createDataSourceConfigPage({ type: 'prometheus' });
|
|
await page.getByPlaceholder('http://localhost:9090').fill('http://localhost:9090');
|
|
await expect(
|
|
configPage.saveAndTest(),
|
|
formatExpectError('Expected save data source config to fail when Prometheus server is not running')
|
|
).not.toBeOK();
|
|
});
|
|
|
|
test('valid credentials should return a 200 status code', async ({ createDataSourceConfigPage, page }) => {
|
|
const configPage = await createDataSourceConfigPage({ type: 'prometheus' });
|
|
configPage.mockHealthCheckResponse({ status: 200 });
|
|
await page.getByPlaceholder('http://localhost:9090').fill('http://localhost:9090');
|
|
await expect(
|
|
configPage.saveAndTest(),
|
|
formatExpectError('Expected data source config to be successfully saved')
|
|
).toBeOK();
|
|
});
|
|
});
|
|
|
|
test.describe('test data source with frontend only health check', () => {
|
|
test('valid credentials should display a success alert on the page', async ({
|
|
createDataSourceConfigPage,
|
|
page,
|
|
selectors,
|
|
}) => {
|
|
const configPage = await createDataSourceConfigPage({ type: 'zipkin' });
|
|
const healthCheckPath = `${selectors.apis.DataSource.proxy(configPage.datasource.uid)}/api/v2/services`;
|
|
await page.route(healthCheckPath, async (route) => {
|
|
await route.fulfill({ status: 200, body: 'OK' });
|
|
});
|
|
await page.getByPlaceholder('http://localhost:9411').fill('http://localhost:9411');
|
|
await expect(configPage.saveAndTest({ path: healthCheckPath })).toBeOK();
|
|
await expect(
|
|
configPage,
|
|
formatExpectError('Expected data source config to display success alert after save')
|
|
).toHaveAlert('success', { hasNotText: 'Datasource updated' });
|
|
});
|
|
});
|