2022-09-21 03:55:54 -05:00
|
|
|
import { getBackendSrv, setBackendSrv } from '@grafana/runtime';
|
|
|
|
import { getTimeSrv } from 'app/features/dashboard/services/TimeSrv';
|
|
|
|
import { TemplateSrv } from 'app/features/templating/template_srv';
|
|
|
|
import { CustomVariableModel } from 'app/features/variables/types';
|
|
|
|
|
2023-01-17 13:27:53 -06:00
|
|
|
import { ResourcesAPI } from '../resources/ResourcesAPI';
|
2022-09-21 03:55:54 -05:00
|
|
|
|
|
|
|
import { CloudWatchSettings, setupMockedTemplateService } from './CloudWatchDataSource';
|
|
|
|
|
2023-01-17 13:27:53 -06:00
|
|
|
export function setupMockedResourcesAPI({
|
2022-09-21 03:55:54 -05:00
|
|
|
variables,
|
|
|
|
response,
|
2022-10-19 01:40:03 -05:00
|
|
|
getMock,
|
2022-09-21 03:55:54 -05:00
|
|
|
}: {
|
2022-10-26 08:59:26 -05:00
|
|
|
getMock?: jest.Mock;
|
2023-09-25 13:19:12 -05:00
|
|
|
response?: unknown;
|
2022-09-21 03:55:54 -05:00
|
|
|
variables?: CustomVariableModel[];
|
|
|
|
mockGetVariableName?: boolean;
|
|
|
|
} = {}) {
|
|
|
|
let templateService = variables ? setupMockedTemplateService(variables) : new TemplateSrv();
|
|
|
|
|
|
|
|
const timeSrv = getTimeSrv();
|
2023-01-17 13:27:53 -06:00
|
|
|
const api = new ResourcesAPI(CloudWatchSettings, templateService);
|
2022-10-26 08:59:26 -05:00
|
|
|
let resourceRequestMock = getMock ? getMock : jest.fn().mockReturnValue(response);
|
2022-09-21 03:55:54 -05:00
|
|
|
setBackendSrv({
|
|
|
|
...getBackendSrv(),
|
|
|
|
get: resourceRequestMock,
|
|
|
|
});
|
|
|
|
|
|
|
|
return { api, resourceRequestMock, templateService, timeSrv };
|
|
|
|
}
|