n8n/packages/nodes-base/nodes/Splunk/test/v2/node/alert.test.ts
2024-07-04 16:07:17 +03:00

38 lines
1.2 KiB
TypeScript

import { mock } from 'jest-mock-extended';
import type { IExecuteFunctions } from 'n8n-workflow';
import * as alert from '../../../v2/actions/alert';
import * as transport from '../../../v2/transport';
jest.mock('../../../v2/transport', () => ({
splunkApiJsonRequest: jest.fn(),
}));
describe('Splunk, alert resource', () => {
const response = [{ id: '123' }, { id: '345' }];
beforeEach(() => {
jest.clearAllMocks();
});
test('getMetrics operation', async () => {
const executeFunctions = mock<IExecuteFunctions>();
(transport.splunkApiJsonRequest as jest.Mock).mockReturnValue(response);
const responseData = await alert.getMetrics.execute.call(executeFunctions, 0);
expect(transport.splunkApiJsonRequest).toHaveBeenCalledWith(
'GET',
'/services/alerts/metric_alerts',
);
expect(responseData).toEqual(response);
});
test('getReport operation', async () => {
const executeFunctions = mock<IExecuteFunctions>();
(transport.splunkApiJsonRequest as jest.Mock).mockReturnValue(response);
const responseData = await alert.getReport.execute.call(executeFunctions, 0);
expect(transport.splunkApiJsonRequest).toHaveBeenCalledWith(
'GET',
'/services/alerts/fired_alerts',
);
expect(responseData).toEqual(response);
});
});