1 | import { expect } from "chai";
|
2 | import "mocha";
|
3 | import { CreateServerRequest, UpdateServerRequest } 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("Servers", () => {
|
10 | const accountToken: string = testingKeys.get("ACCOUNT_TOKEN");
|
11 | const client = new postmark.AccountClient(accountToken);
|
12 | const serverNamePrefix: string = "node-js-test-server";
|
13 |
|
14 | function serverToTest() {
|
15 | return new CreateServerRequest(`${serverNamePrefix}-${Date.now()}`);
|
16 | }
|
17 |
|
18 | async function cleanup() {
|
19 | const servers = await client.getServers();
|
20 |
|
21 | for (const server of servers.Servers) {
|
22 | if (server.Name.includes(serverNamePrefix)) { await client.deleteServer(server.ID); }
|
23 | }
|
24 | }
|
25 |
|
26 | before(cleanup);
|
27 | after(cleanup);
|
28 |
|
29 | it("getServers", async () => {
|
30 | const servers = await client.getServers();
|
31 | expect(servers.TotalCount).to.gte(1);
|
32 | });
|
33 |
|
34 | it("createServer", async () => {
|
35 | const serverOptions = serverToTest();
|
36 | const serverDetails = await client.createServer(serverOptions);
|
37 | expect(serverDetails.Name).to.equal(serverOptions.Name);
|
38 | });
|
39 |
|
40 | it("editServer", async () => {
|
41 | const serverOptions = new UpdateServerRequest(undefined, "red");
|
42 | const updatedServerOptions = new UpdateServerRequest(undefined, "green");
|
43 |
|
44 | const servers = await client.getServers();
|
45 | const server = servers.Servers[0];
|
46 |
|
47 | let result = await client.editServer(server.ID, serverOptions);
|
48 | expect(result.Color).to.eq(serverOptions.Color);
|
49 |
|
50 | result = await client.editServer(server.ID, updatedServerOptions);
|
51 | expect(result.Color).to.eq(updatedServerOptions.Color);
|
52 | });
|
53 |
|
54 | it("deleteServer", async () => {
|
55 | const serverDetails = await client.createServer(serverToTest());
|
56 | const result = await client.deleteServer(serverDetails.ID);
|
57 | expect(result.Message.length).to.gte(1);
|
58 | });
|
59 | });
|