@grafana/plugin-e2e 1.11.0 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fixtures/commands/createDataSource.d.ts +3 -2
- package/dist/fixtures/commands/createDataSource.js +8 -15
- package/dist/fixtures/commands/createDataSourceConfigPage.js +2 -2
- package/dist/models/GrafanaAPIClient.d.ts +4 -1
- package/dist/models/GrafanaAPIClient.js +16 -0
- package/package.json +3 -3
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TestFixture } from '@playwright/test';
|
|
2
2
|
import { CreateDataSourceArgs, DataSourceSettings, PlaywrightArgs } from '../../types';
|
|
3
|
+
import { GrafanaAPIClient } from '../../models/GrafanaAPIClient';
|
|
3
4
|
type CreateDataSourceViaAPIFixture = TestFixture<(args: CreateDataSourceArgs) => Promise<DataSourceSettings>, PlaywrightArgs>;
|
|
4
|
-
export declare const createDataSourceViaAPI: (
|
|
5
|
+
export declare const createDataSourceViaAPI: (grafanaAPIClient: GrafanaAPIClient, datasource: CreateDataSourceArgs) => Promise<DataSourceSettings>;
|
|
5
6
|
export declare const createDataSource: CreateDataSourceViaAPIFixture;
|
|
6
7
|
export {};
|
|
@@ -3,24 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createDataSource = exports.createDataSourceViaAPI = void 0;
|
|
4
4
|
const uuid_1 = require("uuid");
|
|
5
5
|
const test_1 = require("@playwright/test");
|
|
6
|
-
const createDataSourceViaAPI = async (
|
|
6
|
+
const createDataSourceViaAPI = async (grafanaAPIClient, datasource) => {
|
|
7
7
|
const { type, name } = datasource;
|
|
8
8
|
const dsName = name ?? `${type}-${(0, uuid_1.v4)()}`;
|
|
9
|
-
const existingDataSource = await
|
|
10
|
-
if (
|
|
9
|
+
const existingDataSource = await grafanaAPIClient.getDataSourceByName(dsName);
|
|
10
|
+
if (existingDataSource.ok()) {
|
|
11
11
|
const json = await existingDataSource.json();
|
|
12
|
-
await
|
|
12
|
+
await grafanaAPIClient.deleteDataSourceByUID(json.uid);
|
|
13
13
|
}
|
|
14
|
-
const createDsReq = await
|
|
15
|
-
data: {
|
|
16
|
-
...datasource,
|
|
17
|
-
name: dsName,
|
|
18
|
-
access: 'proxy',
|
|
19
|
-
isDefault: false,
|
|
20
|
-
},
|
|
21
|
-
});
|
|
14
|
+
const createDsReq = await grafanaAPIClient.createDataSource(datasource, dsName);
|
|
22
15
|
const text = await createDsReq.text();
|
|
23
|
-
const status =
|
|
16
|
+
const status = createDsReq.status();
|
|
24
17
|
if (status === 200) {
|
|
25
18
|
return createDsReq.json().then((r) => r.datasource);
|
|
26
19
|
}
|
|
@@ -28,9 +21,9 @@ const createDataSourceViaAPI = async (request, datasource) => {
|
|
|
28
21
|
return existingDataSource.json();
|
|
29
22
|
};
|
|
30
23
|
exports.createDataSourceViaAPI = createDataSourceViaAPI;
|
|
31
|
-
const createDataSource = async ({
|
|
24
|
+
const createDataSource = async ({ grafanaAPIClient }, use) => {
|
|
32
25
|
await use(async (args) => {
|
|
33
|
-
return (0, exports.createDataSourceViaAPI)(
|
|
26
|
+
return (0, exports.createDataSourceViaAPI)(grafanaAPIClient, args);
|
|
34
27
|
});
|
|
35
28
|
};
|
|
36
29
|
exports.createDataSource = createDataSource;
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createDataSourceConfigPage = void 0;
|
|
4
4
|
const createDataSource_1 = require("./createDataSource");
|
|
5
5
|
const DataSourceConfigPage_1 = require("../../models/pages/DataSourceConfigPage");
|
|
6
|
-
const createDataSourceConfigPage = async ({ request, page, selectors, grafanaVersion }, use, testInfo) => {
|
|
6
|
+
const createDataSourceConfigPage = async ({ request, page, selectors, grafanaVersion, grafanaAPIClient }, use, testInfo) => {
|
|
7
7
|
let datasourceConfigPage;
|
|
8
8
|
let deleteDataSource = true;
|
|
9
9
|
await use(async (args) => {
|
|
10
10
|
deleteDataSource = args.deleteDataSourceAfterTest ?? true;
|
|
11
|
-
const datasource = await (0, createDataSource_1.createDataSourceViaAPI)(
|
|
11
|
+
const datasource = await (0, createDataSource_1.createDataSourceViaAPI)(grafanaAPIClient, args);
|
|
12
12
|
datasourceConfigPage = new DataSourceConfigPage_1.DataSourceConfigPage({ page, selectors, grafanaVersion, request, testInfo }, datasource);
|
|
13
13
|
await datasourceConfigPage.goto();
|
|
14
14
|
return datasourceConfigPage;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { APIRequestContext } from '@playwright/test';
|
|
2
|
-
import { DataSourceSettings, User } from '../types';
|
|
2
|
+
import { CreateDataSourceArgs, DataSourceSettings, User } from '../types';
|
|
3
3
|
export declare class GrafanaAPIClient {
|
|
4
4
|
private request;
|
|
5
5
|
constructor(request: APIRequestContext);
|
|
6
6
|
getUserIdByUsername(userName: string): Promise<any>;
|
|
7
7
|
createUser(user: User): Promise<void>;
|
|
8
8
|
getDataSourceSettingsByUID(uid: string): Promise<DataSourceSettings<{}, {}>>;
|
|
9
|
+
createDataSource(datasource: CreateDataSourceArgs, dsName: string): Promise<import("@playwright/test").APIResponse>;
|
|
10
|
+
getDataSourceByName(name: string): Promise<import("@playwright/test").APIResponse>;
|
|
11
|
+
deleteDataSourceByUID(uid: string): Promise<import("@playwright/test").APIResponse>;
|
|
9
12
|
}
|
|
@@ -48,5 +48,21 @@ class GrafanaAPIClient {
|
|
|
48
48
|
const settings = await response.json();
|
|
49
49
|
return settings;
|
|
50
50
|
}
|
|
51
|
+
async createDataSource(datasource, dsName) {
|
|
52
|
+
return this.request.post('/api/datasources', {
|
|
53
|
+
data: {
|
|
54
|
+
...datasource,
|
|
55
|
+
name: dsName,
|
|
56
|
+
access: 'proxy',
|
|
57
|
+
isDefault: false,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async getDataSourceByName(name) {
|
|
62
|
+
return this.request.get(`/api/datasources/name/${name}`);
|
|
63
|
+
}
|
|
64
|
+
async deleteDataSourceByUID(uid) {
|
|
65
|
+
return this.request.delete(`/api/datasources/uid/${uid}`);
|
|
66
|
+
}
|
|
51
67
|
}
|
|
52
68
|
exports.GrafanaAPIClient = GrafanaAPIClient;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafana/plugin-e2e",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.1",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"dotenv": "^16.3.1"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@grafana/e2e-selectors": "^11.4.0-
|
|
46
|
+
"@grafana/e2e-selectors": "^11.4.0-205417",
|
|
47
47
|
"semver": "^7.5.4",
|
|
48
48
|
"uuid": "^10.0.0",
|
|
49
49
|
"yaml": "^2.3.4"
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"start": "cls || clear"
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "8464893065b24f1b9e076d937ebf21f5c20047b2"
|
|
61
61
|
}
|