diff --git a/e2e/plugin-e2e/azuremonitor/azuremonitor.spec.ts b/e2e/plugin-e2e/azuremonitor/azuremonitor.spec.ts new file mode 100644 index 00000000000..bb1ccee1f72 --- /dev/null +++ b/e2e/plugin-e2e/azuremonitor/azuremonitor.spec.ts @@ -0,0 +1,8 @@ +import { test, expect } from '@grafana/plugin-e2e'; + +test('Smoke test: decoupled frontend plugin loads', async ({ createDataSourceConfigPage, page }) => { + await createDataSourceConfigPage({ type: 'grafana-azure-monitor-datasource' }); + + await expect(await page.getByText('Type: Azure Monitor', { exact: true })).toBeVisible(); + await expect(await page.getByRole('heading', { name: 'Authentication', exact: true })).toBeVisible(); +}); diff --git a/e2e/plugin-e2e/cloudmonitoring/cloudmonitoring.spec.ts b/e2e/plugin-e2e/cloudmonitoring/cloudmonitoring.spec.ts new file mode 100644 index 00000000000..db3ab66e985 --- /dev/null +++ b/e2e/plugin-e2e/cloudmonitoring/cloudmonitoring.spec.ts @@ -0,0 +1,8 @@ +import { test, expect } from '@grafana/plugin-e2e'; + +test('Smoke test: decoupled frontend plugin loads', async ({ createDataSourceConfigPage, page }) => { + await createDataSourceConfigPage({ type: 'stackdriver' }); + + await expect(await page.getByText('Type: Google Cloud Monitoring', { exact: true })).toBeVisible(); + await expect(await page.getByText('Google JWT File', { exact: true })).toBeVisible(); +}); diff --git a/e2e/plugin-e2e/graphite/graphite.spec.ts b/e2e/plugin-e2e/graphite/graphite.spec.ts new file mode 100644 index 00000000000..9bf58625c4b --- /dev/null +++ b/e2e/plugin-e2e/graphite/graphite.spec.ts @@ -0,0 +1,8 @@ +import { test, expect } from '@grafana/plugin-e2e'; + +test('Smoke test: decoupled frontend plugin loads', async ({ createDataSourceConfigPage, page }) => { + await createDataSourceConfigPage({ type: 'graphite' }); + + await expect(await page.getByText('Type: Graphite', { exact: true })).toBeVisible(); + await expect(await page.getByRole('heading', { name: 'HTTP', exact: true })).toBeVisible(); +}); diff --git a/e2e/plugin-e2e/influxdb/influxdb.spec.ts b/e2e/plugin-e2e/influxdb/influxdb.spec.ts new file mode 100644 index 00000000000..1538690c9df --- /dev/null +++ b/e2e/plugin-e2e/influxdb/influxdb.spec.ts @@ -0,0 +1,8 @@ +import { test, expect } from '@grafana/plugin-e2e'; + +test('Smoke test: decoupled frontend plugin loads', async ({ createDataSourceConfigPage, page }) => { + await createDataSourceConfigPage({ type: 'influxdb' }); + + await expect(await page.getByText('Type: InfluxDB', { exact: true })).toBeVisible(); + await expect(await page.getByRole('heading', { name: 'HTTP', exact: true })).toBeVisible(); +}); diff --git a/e2e/plugin-e2e/opentsdb/opentsdb.spec.ts b/e2e/plugin-e2e/opentsdb/opentsdb.spec.ts new file mode 100644 index 00000000000..c5e38fcbd10 --- /dev/null +++ b/e2e/plugin-e2e/opentsdb/opentsdb.spec.ts @@ -0,0 +1,8 @@ +import { test, expect } from '@grafana/plugin-e2e'; + +test('Smoke test: decoupled frontend plugin loads', async ({ createDataSourceConfigPage, page }) => { + await createDataSourceConfigPage({ type: 'opentsdb' }); + + await expect(await page.getByText('Type: OpenTSDB', { exact: true })).toBeVisible(); + await expect(await page.getByRole('heading', { name: 'HTTP', exact: true })).toBeVisible(); +}); diff --git a/playwright.config.ts b/playwright.config.ts index 889fa50f1c0..16e635ff0b6 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -115,5 +115,50 @@ export default defineConfig({ }, dependencies: ['authenticate'], }, + { + name: 'azuremonitor', + testDir: path.join(testDirRoot, '/azuremonitor'), + use: { + ...devices['Desktop Chrome'], + storageState: 'playwright/.auth/admin.json', + }, + dependencies: ['authenticate'], + }, + { + name: 'cloudmonitoring', + testDir: path.join(testDirRoot, '/cloudmonitoring'), + use: { + ...devices['Desktop Chrome'], + storageState: 'playwright/.auth/admin.json', + }, + dependencies: ['authenticate'], + }, + { + name: 'graphite', + testDir: path.join(testDirRoot, '/graphite'), + use: { + ...devices['Desktop Chrome'], + storageState: 'playwright/.auth/admin.json', + }, + dependencies: ['authenticate'], + }, + { + name: 'influxdb', + testDir: path.join(testDirRoot, '/influxdb'), + use: { + ...devices['Desktop Chrome'], + storageState: 'playwright/.auth/admin.json', + }, + dependencies: ['authenticate'], + }, + { + name: 'opentsdb', + testDir: path.join(testDirRoot, '/opentsdb'), + use: { + ...devices['Desktop Chrome'], + storageState: 'playwright/.auth/admin.json', + }, + dependencies: ['authenticate'], + }, ], });