1 | var mocha = require('mocha');
|
2 | var assert = require('assert');
|
3 | var nconf = require('nconf');
|
4 | var testingKeys = nconf.env().file({
|
5 | file: __dirname + '/testing_keys.json'
|
6 | });
|
7 | var util = require('util');
|
8 | var merge = require('merge');
|
9 |
|
10 | var postmark = require('../lib/postmark/index.js');
|
11 |
|
12 | describe('client tag handling', function() {
|
13 | this.timeout(5000);
|
14 | var prefix = "node-js-tests";
|
15 |
|
16 | var _client = null;
|
17 |
|
18 | beforeEach(function() {
|
19 | _client = new postmark.Client(testingKeys.get('WRITE_TEST_SERVER_TOKEN'));
|
20 | });
|
21 |
|
22 | after(function() {
|
23 | var rulePrefixTester = new RegExp(prefix);
|
24 | var c = new postmark.Client(testingKeys.get('WRITE_TEST_SERVER_TOKEN'));
|
25 | c.getInboundRuleTriggers(function(err, trigs) {
|
26 | if (!err) {
|
27 | for (var i = 0; i < trigs.InboundRules.length; i++) {
|
28 | var trigger = trigs.InboundRules[i];
|
29 | if (rulePrefixTester.test(trigger.Rule)) {
|
30 | c.deleteInboundRuleTrigger(trigger.ID);
|
31 | }
|
32 | }
|
33 | }
|
34 | });
|
35 |
|
36 | c.getTagTriggers(function(err, trigs) {
|
37 | if (!err) {
|
38 | for (var i = 0; i < trigs.Tags.length; i++) {
|
39 | var trigger = trigs.Tags[i];
|
40 | if (rulePrefixTester.test(trigger.MatchName)) {
|
41 | c.deleteTagTrigger(trigger.ID);
|
42 | }
|
43 | }
|
44 | }
|
45 | });
|
46 | });
|
47 |
|
48 | it('can create a tag trigger', function(done) {
|
49 | _client.createTagTrigger({
|
50 | MatchName: prefix + "-" + new Date().valueOf(),
|
51 | TrackOpens: true
|
52 | }, done);
|
53 | });
|
54 |
|
55 | it('can edit a tag trigger', function(done) {
|
56 | var name = prefix + "-" + new Date().valueOf();
|
57 | _client.createTagTrigger({
|
58 | MatchName: name,
|
59 | TrackOpens: true
|
60 | }, function(err, trigger) {
|
61 | _client.editTagTrigger(trigger.ID, {
|
62 | MatchName: name + "-updated",
|
63 | TrackOpens: false
|
64 | }, done);
|
65 | });
|
66 |
|
67 | });
|
68 |
|
69 | it('can can delete a tag trigger', function(done) {
|
70 | var name = prefix + "-" + new Date().valueOf();
|
71 | _client.createTagTrigger({
|
72 | MatchName: name,
|
73 | TrackOpens: true
|
74 | }, function(err, trigger) {
|
75 | _client.deleteTagTrigger(trigger.ID, done);
|
76 | });
|
77 | });
|
78 |
|
79 | it('can get a tag trigger', function(done) {
|
80 | var name = prefix + "-" + new Date().valueOf();
|
81 | _client.createTagTrigger({
|
82 | MatchName: name,
|
83 | TrackOpens: true
|
84 | }, function(err, trigger) {
|
85 | _client.getTagTrigger(trigger.ID, done);
|
86 | });
|
87 | });
|
88 |
|
89 | it('can get tag triggers', function(done) {
|
90 | _client.getTagTriggers({
|
91 | count: 1
|
92 | }, done);
|
93 | });
|
94 |
|
95 | it('can get inbound rule triggers', function(done) {
|
96 | _client.getInboundRuleTriggers({
|
97 | count: 1
|
98 | }, done);
|
99 | });
|
100 |
|
101 | it('can create inbound rule triggers', function(done) {
|
102 | _client.createInboundRuleTrigger({
|
103 | Rule: name = prefix + "-" + new Date().valueOf() + "@example.com"
|
104 | }, done);
|
105 | });
|
106 |
|
107 | it('can delete inbound rule triggers', function(done) {
|
108 | _client.createInboundRuleTrigger({
|
109 | Rule: name = prefix + "-" + new Date().valueOf() + "@example.com"
|
110 | }, function(err, trigger) {
|
111 | _client.deleteInboundRuleTrigger(trigger.ID, done);
|
112 | });
|
113 | });
|
114 |
|
115 | }); |
\ | No newline at end of file |