1 | import {expect} from "chai";
|
2 | import "mocha";
|
3 |
|
4 | import * as nconf from "nconf";
|
5 | import {CreateServerRequest, ServerDeliveryTypes, UpdateServerRequest} from "../../src/client/models";
|
6 | import * as postmark from "../../src/index";
|
7 |
|
8 | const testingKeys = nconf.env().file({ file: __dirname + "/../../testing_keys.json" });
|
9 |
|
10 | describe("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 | });
|