1 | import { expect } from "chai";
|
2 | import "mocha";
|
3 | import { CreateInboundRuleRequest } from "../../src/client/models";
|
4 | import * as postmark from "../../src/index";
|
5 |
|
6 | import * as nconf from "nconf";
|
7 | const testingKeys = nconf.env().file({ file: __dirname + "/../../testing_keys.json" });
|
8 |
|
9 | describe("Client - Triggers", () => {
|
10 | const serverToken: string = testingKeys.get("SERVER_API_TOKEN");
|
11 | const client = new postmark.ServerClient(serverToken);
|
12 | const triggerName: string = "node-js";
|
13 |
|
14 | function inboundRuleTriggerToTest() {
|
15 | return new CreateInboundRuleRequest(`${triggerName}-${Date.now()}.com`);
|
16 | }
|
17 |
|
18 | async function cleanupInboundRuleTriggers() {
|
19 | const inboundRuleTriggers = await client.getInboundRuleTriggers();
|
20 |
|
21 | for (const inboundRuleTrigger of inboundRuleTriggers.InboundRules) {
|
22 | if (inboundRuleTrigger.Rule.includes(triggerName)) {
|
23 | await client.deleteInboundRuleTrigger(inboundRuleTrigger.ID);
|
24 | }
|
25 | }
|
26 | }
|
27 |
|
28 | async function cleanup() {
|
29 | await cleanupInboundRuleTriggers();
|
30 | }
|
31 |
|
32 | before(cleanup);
|
33 | after(cleanup);
|
34 |
|
35 | it("createInboundRuleTrigger", async () => {
|
36 | const inboundRuleTriggerOptions = inboundRuleTriggerToTest();
|
37 | const result = await client.createInboundRuleTrigger(inboundRuleTriggerOptions);
|
38 | expect(result.Rule).to.equal(inboundRuleTriggerOptions.Rule);
|
39 | });
|
40 |
|
41 | it("getInboundRuleTriggers", async () => {
|
42 | const inboundRules = await client.getInboundRuleTriggers();
|
43 | expect(inboundRules.InboundRules.length).to.gte(0);
|
44 | });
|
45 |
|
46 | it("deleteInboundRuleTrigger", async () => {
|
47 | const inboundRuleTriggerOptions = inboundRuleTriggerToTest();
|
48 | const inboundRule = await client.createInboundRuleTrigger(inboundRuleTriggerOptions);
|
49 |
|
50 | const response = await client.deleteInboundRuleTrigger(inboundRule.ID);
|
51 | expect(response.Message.length).to.above(0);
|
52 | });
|
53 | });
|