UNPKG

2.74 kBJavaScriptView Raw
1var mocha = require('mocha');
2var assert = require('assert');
3var nconf = require('nconf');
4var testingKeys = nconf.env().file({
5 file: __dirname + '/testing_keys.json'
6});
7var util = require('util');
8var merge = require('merge');
9
10var postmark = require('../lib/postmark/index.js');
11
12describe('admin client signature management', function() {
13 this.timeout(4000);
14 var prefix = "node-js-tests";
15
16 var _client = null;
17 var _email = null
18
19 beforeEach(function() {
20
21 _email = testingKeys.get('WRITE_TEST_SENDER_SIGNATURE_PROTOTYPE')
22 .replace(/\[TOKEN]/i, prefix + new Date().valueOf());
23 _client = new postmark.AdminClient(testingKeys.get('WRITE_ACCOUNT_TOKEN'));
24 });
25
26 after(function() {
27 var rulePrefixTester = new RegExp(prefix);
28 var c = new postmark.AdminClient(testingKeys.get('WRITE_ACCOUNT_TOKEN'));
29 c.listSenderSignatures(function(err, resp) {
30 if (!err) {
31 for (var i = 0; i < resp.SenderSignatures.length; i++) {
32 var signature = resp.SenderSignatures[i];
33 if (rulePrefixTester.test(signature.Name)) {
34 c.deleteSenderSignature(signature.ID);
35 }
36 }
37 }
38 });
39 });
40
41 it("can list signatures", function(done) {
42 _client.listSenderSignatures(done);
43 });
44
45 it("can get a signature", function(done) {
46 _client.createSenderSignature({
47 Name: _email,
48 FromEmail: _email
49 }, function(err, signature) {
50 _client.getSenderSignature(signature.ID, done);
51 });
52 });
53
54 it("can create a signature", function(done) {
55 _client.createSenderSignature({
56 Name: _email,
57 FromEmail: _email
58 }, done);
59 });
60
61 it("can edit a signature", function(done) {
62 _client.createSenderSignature({
63 Name: _email,
64 FromEmail: _email
65 }, function(err, signature) {
66 _client.editSenderSignature(signature.ID, {
67 Name: _email + "-updated"
68 }, done);
69 });
70 });
71
72 it("can delete a signature", function(done) {
73 _client.createSenderSignature({
74 Name: _email,
75 FromEmail: _email
76 }, function(err, signature) {
77 _client.deleteSenderSignature(signature.ID, done);
78 });
79 });
80
81 it("can resend confirmation for signature", function(done) {
82 _client.createSenderSignature({
83 Name: _email,
84 FromEmail: _email
85 }, function(err, signature) {
86 _client.resendSenderSignatureConfirmation(signature.ID, done);
87 });
88 });
89
90 it("can verify SPF for signature", function(done) {
91 _client.createSenderSignature({
92 Name: _email,
93 FromEmail: _email
94 }, function(err, signature) {
95 _client.verifySenderSignatureSPF(signature.ID, done);
96 });
97 });
98
99 // testing cannot easily verify DKIM requests.
100 // requestNewDKIMForSenderSignature
101
102});
\No newline at end of file