UNPKG

2.42 kBPlain TextView Raw
1import {expect} from "chai";
2import "mocha";
3
4import * as nconf from "nconf";
5import {CreateServerRequest, ServerDeliveryTypes, UpdateServerRequest} from "../../src/client/models";
6import * as postmark from "../../src/index";
7
8const testingKeys = nconf.env().file({ file: __dirname + "/../../testing_keys.json" });
9
10describe("Servers", () => {
11 const accountToken: string = testingKeys.get("ACCOUNT_API_TOKEN");
12 const client = new postmark.AccountClient(accountToken);
13 const serverNamePrefix: string = "node-js-test-server";
14
15 function serverToTest() {
16 return new CreateServerRequest(`${serverNamePrefix}-${Date.now()}`);
17 }
18
19 async function cleanup() {
20 const servers = await client.getServers();
21
22 for (const server of servers.Servers) {
23 if (server.Name.includes(serverNamePrefix)) { await client.deleteServer(server.ID); }
24 }
25 }
26
27 before(cleanup);
28 after(cleanup);
29
30 it("getServers", async () => {
31 const servers = await client.getServers();
32 expect(servers.TotalCount).to.gte(1);
33 });
34
35 it("createServer", async () => {
36 const serverOptions = serverToTest();
37 const serverDetails = await client.createServer(serverOptions);
38 expect(serverDetails.Name).to.equal(serverOptions.Name);
39 });
40
41 it("createServer - delivery type - sandbox", async () => {
42 const serverOptions = serverToTest();
43 serverOptions.DeliveryType = ServerDeliveryTypes.Sandbox;
44 const serverDetails = await client.createServer(serverOptions);
45 expect(serverDetails.DeliveryType).to.equal("Sandbox");
46 });
47
48 it("editServer", async () => {
49 const serverOptions = new UpdateServerRequest(undefined, "red");
50 const updatedServerOptions = new UpdateServerRequest(undefined, "green");
51
52 const servers = await client.getServers();
53 const server = servers.Servers[0];
54
55 let result = await client.editServer(server.ID, serverOptions);
56 expect(result.Color).to.eq(serverOptions.Color);
57
58 result = await client.editServer(server.ID, updatedServerOptions);
59 expect(result.Color).to.eq(updatedServerOptions.Color);
60 });
61
62 it("deleteServer", async () => {
63 const serverDetails = await client.createServer(serverToTest());
64 const result = await client.deleteServer(serverDetails.ID);
65 expect(result.Message.length).to.gte(1);
66 });
67});