Build plugin with grafana toolkit (#1539)
* Use grafana toolkit template for building plugin * Fix linter and type errors * Update styles building * Fix sass deprecation warning * Remove empty js files produced by webpack building sass * Fix signing script * Replace classnames with cx * Fix data source config page * Use custom webpack config instead of overriding original one * Use gpx_ prefix for plugin executable * Remove unused configs * Roll back react hooks dependencies usage * Move plugin-specific ts config to root config file * Temporary do not use rst2html for function description tooltip * Remove unused code * remove unused dependencies * update react table dependency * Migrate tests to typescript * remove unused dependencies * Remove old webpack configs * Add sign target to makefile * Add magefile * Update CI test job * Update go packages * Update build instructions * Downgrade go version to 1.18 * Fix go version in ci * Fix metric picker * Add comment to webpack config * remove angular mocks * update bra config * Rename datasource-zabbix to datasource (fix mage build) * Add instructions for building backend with mage * Fix webpack targets * Fix ci backend tests * Add initial e2e tests * Fix e2e ci tests * Update docker compose for cypress tests * build grafana docker image * Fix docker stop task * CI: add Grafana compatibility check
This commit is contained in:
@@ -4,22 +4,9 @@
|
||||
import { JSDOM } from 'jsdom';
|
||||
import { PanelCtrl, MetricsPanelCtrl } from './panelStub';
|
||||
|
||||
// Suppress messages
|
||||
console.log = () => {};
|
||||
|
||||
// Mock Grafana modules that are not available outside of the core project
|
||||
// Required for loading module.js
|
||||
jest.mock('angular', () => {
|
||||
return {
|
||||
module: function() {
|
||||
return {
|
||||
directive: function() {},
|
||||
service: function() {},
|
||||
factory: function() {}
|
||||
};
|
||||
}
|
||||
};
|
||||
}, {virtual: true});
|
||||
|
||||
jest.mock('grafana/app/features/templating/template_srv', () => {
|
||||
return {};
|
||||
}, {virtual: true});
|
||||
@@ -33,6 +20,9 @@ jest.mock('@grafana/runtime', () => {
|
||||
getBackendSrv: () => ({
|
||||
datasourceRequest: jest.fn().mockResolvedValue(),
|
||||
}),
|
||||
getTemplateSrv: () => ({
|
||||
replace: jest.fn().mockImplementation(query => query),
|
||||
}),
|
||||
};
|
||||
}, {virtual: true});
|
||||
|
||||
@@ -101,13 +91,8 @@ jest.mock('grafana/app/core/utils/kbn', () => {
|
||||
};
|
||||
}, {virtual: true});
|
||||
|
||||
// jest.mock('@grafana/ui', () => {
|
||||
// return {};
|
||||
// }, {virtual: true});
|
||||
|
||||
// Required for loading angularjs
|
||||
let dom = new JSDOM('<html><head><script></script></head><body></body></html>');
|
||||
// Setup jsdom
|
||||
let dom = new JSDOM('<html><head><script></script></head><body></body></html>');
|
||||
global.window = dom.window;
|
||||
global.document = global.window.document;
|
||||
global.Node = window.Node;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
export let templateSrvMock = {
|
||||
replace: jest.fn().mockImplementation(query => query)
|
||||
};
|
||||
|
||||
export let backendSrvMock = {
|
||||
datasourceRequest: jest.fn()
|
||||
};
|
||||
|
||||
export let datasourceSrvMock = {
|
||||
loadDatasource: jest.fn(),
|
||||
getAll: jest.fn()
|
||||
};
|
||||
|
||||
export let timeSrvMock = {
|
||||
timeRange: jest.fn().mockReturnValue({ from: '', to: '' })
|
||||
};
|
||||
|
||||
const defaultExports = {
|
||||
templateSrvMock,
|
||||
backendSrvMock,
|
||||
datasourceSrvMock,
|
||||
timeSrvMock,
|
||||
};
|
||||
|
||||
export default defaultExports;
|
||||
25
src/test-setup/mocks.ts
Normal file
25
src/test-setup/mocks.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
export const templateSrvMock = {
|
||||
replace: jest.fn().mockImplementation((query) => query),
|
||||
};
|
||||
|
||||
export const backendSrvMock = {
|
||||
datasourceRequest: jest.fn(),
|
||||
};
|
||||
|
||||
export const datasourceSrvMock = {
|
||||
loadDatasource: jest.fn(),
|
||||
getAll: jest.fn(),
|
||||
};
|
||||
|
||||
export const timeSrvMock = {
|
||||
timeRange: jest.fn().mockReturnValue({ from: '', to: '' }),
|
||||
};
|
||||
|
||||
const defaultExports = {
|
||||
templateSrvMock,
|
||||
backendSrvMock,
|
||||
datasourceSrvMock,
|
||||
timeSrvMock,
|
||||
};
|
||||
|
||||
export default defaultExports;
|
||||
Reference in New Issue
Block a user