-
Notifications
You must be signed in to change notification settings - Fork 722
Expand file tree
/
Copy pathindex.test.ts
More file actions
48 lines (42 loc) · 1.15 KB
/
index.test.ts
File metadata and controls
48 lines (42 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { SendMessageCommandInput } from '@aws-sdk/client-sqs';
import { sendActionRequest } from '.';
import { describe, it, expect, afterEach, vi } from 'vitest';
const mockSQS = {
sendMessage: vi.fn(() => {
return {};
}),
};
vi.mock('@aws-sdk/client-sqs', () => ({
SQS: vi.fn().mockImplementation(function () {
return mockSQS;
}),
}));
vi.mock('@aws-github-runner/aws-ssm-util');
describe('Test sending message to SQS.', () => {
const queueUrl = 'https://sqs.eu-west-1.amazonaws.com/123456789/queued-builds';
const message = {
eventType: 'type',
id: 0,
installationId: 0,
repositoryName: 'test',
repositoryOwner: 'owner',
queueId: queueUrl,
queueFifo: false,
repoOwnerType: 'Organization',
};
afterEach(() => {
vi.clearAllMocks();
});
it('no fifo queue', async () => {
// Arrange
const sqsMessage: SendMessageCommandInput = {
QueueUrl: queueUrl,
MessageBody: JSON.stringify(message),
};
// Act
const result = sendActionRequest(message);
// Assert
expect(mockSQS.sendMessage).toHaveBeenCalledWith(sqsMessage);
await expect(result).resolves.not.toThrow();
});
});