This repository has been archived by the owner on Mar 16, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain_test.ts
64 lines (62 loc) · 1.48 KB
/
main_test.ts
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import { assertEquals } from 'std/assert/assert_equals.ts';
import { parseArguments } from './main.ts';
Deno.test('parseArguments should correctly parse CLI arguments', () => {
const tests: { input: string[]; expected: ReturnType<typeof parseArguments> }[] = [
{
input: [
'-h',
],
expected: {
apiKey: undefined,
help: true,
version: false,
lockExpirationInSeconds: undefined,
params: [],
serverUrl: undefined,
serviceId: undefined,
unlockWebhookUrl: undefined,
waitTimeoutInMs: undefined,
},
},
{
input: [
`-i=service`,
`-a=key`,
`-s=url`,
],
expected: {
apiKey: 'key',
help: false,
version: false,
lockExpirationInSeconds: undefined,
params: [],
serverUrl: 'url',
serviceId: 'service',
unlockWebhookUrl: undefined,
waitTimeoutInMs: undefined,
},
},
{
input: [
`-u=unlock`,
`-w=wait`,
`-l=lock`,
],
expected: {
apiKey: undefined,
help: false,
version: false,
lockExpirationInSeconds: undefined,
params: [],
serverUrl: undefined,
serviceId: undefined,
unlockWebhookUrl: 'unlock',
waitTimeoutInMs: undefined,
},
},
];
for (const test of tests) {
const output = parseArguments(test.input);
assertEquals(output, test.expected);
}
});