Skip to content

Commit 031ca3c

Browse files
committed
add basic tests
1 parent 4b75da8 commit 031ca3c

File tree

3 files changed

+76
-6
lines changed

3 files changed

+76
-6
lines changed

lib/sipPeer.js

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,19 +78,39 @@ SipPeer.prototype.moveTns = function(numbers, callback){
7878
this.client.makeRequest("post", url, {sipPeerTelephoneNumbers: {fullNumber: numbers}}, callback);
7979
};
8080

81-
SipPeer.prototype.getApplications = function(callback) {
82-
var url = var url = this.client.concatAccountPath(SITE_PATH + "/" + this.siteId + "/" + SIP_PEER_PATH + "/" + this.id + "/" + "products" + "/" + "messaging" + "/" + "applicationSettings");
83-
this.client.makeRequest("get", url, callback)
81+
SipPeer.prototype.listApplications = function(callback) {
82+
var url = this.client.concatAccountPath(SITE_PATH + "/" + this.siteId + "/" + SIP_PEER_PATH + "/" + this.id + "/" + "products" + "/" + "messaging" + "/" + "applicationSettings");
83+
this.client.makeRequest("get", url, function (err, results) {
84+
if (err) {
85+
callback(error);
86+
}
87+
else {
88+
var apps = results.applicationsSettings;
89+
if (!Array.isArray(apps.httpMessagingV2AppId)) {
90+
apps.httpMessagingV2AppId = [apps.httpMessagingV2AppId]
91+
}
92+
callback(null, apps)
93+
}
94+
})
8495
}
8596

8697
SipPeer.prototype.editApplications = function(appData, callback) {
87-
var url = var url = this.client.concatAccountPath(SITE_PATH + "/" + this.siteId + "/" + SIP_PEER_PATH + "/" + this.id + "/" + "products" + "/" + "messaging" + "/" + "applicationSettings");
98+
var url = this.client.concatAccountPath(SITE_PATH + "/" + this.siteId + "/" + SIP_PEER_PATH + "/" + this.id + "/" + "products" + "/" + "messaging" + "/" + "applicationSettings");
8899
const data = {applicationSettings: appData}
89-
this.client.makeRequest("put", url, data, callback);
100+
this.client.makeRequest("put", url, data, function (err, results) {
101+
if (err) {callback(error);}
102+
else {
103+
var apps = results.applicationsSettings;
104+
if (!Array.isArray(apps.httpMessagingV2AppId)) {
105+
apps.httpMessagingV2AppId = [apps.httpMessagingV2AppId]
106+
}
107+
callback(null, apps)
108+
}
109+
});
90110
}
91111

92112
SipPeer.prototype.removeApplications = function(callback) {
93-
var url = var url = this.client.concatAccountPath(SITE_PATH + "/" + this.siteId + "/" + SIP_PEER_PATH + "/" + this.id + "/" + "products" + "/" + "messaging" + "/" + "applicationSettings");
113+
var url = this.client.concatAccountPath(SITE_PATH + "/" + this.siteId + "/" + SIP_PEER_PATH + "/" + this.id + "/" + "products" + "/" + "messaging" + "/" + "applicationSettings");
94114
const data = {applicationSettings: 'REMOVE'}
95115
this.client.makeRequest("put", url, data, callback);
96116
}

test/sipPeer.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,4 +193,53 @@ describe("SipPeer", function(){
193193
peer.moveTns(data, done);
194194
});
195195
});
196+
describe("#listApplications", function() {
197+
it("should list applications", function(done) {
198+
var span = helper.nock().get("/accounts/FakeAccountId/sites/1/sippeers/10/products/messaging/applicationSettings").reply(200, helper.xml.peerApplications, {"Content-Type": "application/xml"});
199+
var peer = new SipPeer();
200+
peer.id = 10;
201+
peer.siteId = 1;
202+
peer.client = helper.createClient();
203+
peer.listApplications(function(err, results) {
204+
if (err) {
205+
done(err);
206+
} else {
207+
results.httpMessagingV2AppId[0].should.equal(100)
208+
done();
209+
}
210+
});
211+
});
212+
});
213+
describe("#editApplications", function() {
214+
it("should edit applications", function(done) {
215+
var appData = {httpMessagingV2AppId: 100}
216+
var span = helper.nock().put("/accounts/FakeAccountId/sites/1/sippeers/10/products/messaging/applicationSettings", helper.buildXml({applicationSettings: appData})).reply(200, helper.xml.peerApplications, {"Content-Type": "application/xml"});
217+
var peer = new SipPeer();
218+
peer.id = 10;
219+
peer.siteId = 1;
220+
peer.client = helper.createClient();
221+
var appData = [{httpMessagingV2AppId: 100}]
222+
peer.editApplications(appData, function(err, results) {
223+
if (err) {
224+
done(err);
225+
} else {
226+
results.httpMessagingV2AppId[0].should.equal(100)
227+
done();
228+
}
229+
});
230+
});
231+
});
232+
describe("#removeApplications", function() {
233+
it("should remove applications", function(done) {
234+
var appData = 'REMOVE';
235+
console.log(helper.buildXml({applicationSettings: appData}))
236+
var span = helper.nock().put("/accounts/FakeAccountId/sites/1/sippeers/10/products/messaging/applicationSettings", helper.buildXml({applicationSettings: appData})).reply(200, helper.xml.peerApplications, {"Content-Type": "application/xml"});
237+
var peer = new SipPeer();
238+
peer.id = 10;
239+
peer.siteId = 1;
240+
peer.client = helper.createClient();
241+
peer.removeApplications(done);
242+
});
243+
});
244+
196245
});

test/xml.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"peerApplications": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ApplicationsSettingsResponse><ApplicationsSettings><HttpMessagingV2AppId>100</HttpMessagingV2AppId></ApplicationsSettings></ApplicationsSettingsResponse>",
23
"application": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ApplicationProvisioningResponse><Application><ApplicationId>1</ApplicationId><ServiceType>Messaging-V2</ServiceType><AppName>Test Application</AppName><MsgCallbackUrl>http://a.com</MsgCallbackUrl></Application></ApplicationProvisioningResponse>",
34
"voiceApplication": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ApplicationProvisioningResponse><Application><ApplicationId>2</ApplicationId><AppName>Test Application 2</AppName><ServiceType>Voice-V2</ServiceType><CallInitiatedCallbackUrl>http://b.com</CallInitiatedCallbackUrl></Application></ApplicationProvisioningResponse>",
45
"applications": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ApplicationProvisioningResponse><ApplicationList><Application><ApplicationId>1</ApplicationId><ServiceType>Messaging-V2</ServiceType><AppName>Test Application</AppName><MsgCallbackUrl>http://a.com</MsgCallbackUrl></Application><Application><ApplicationId>2</ApplicationId><AppName>Test Application 2</AppName><ServiceType>Voice-V2</ServiceType><CallInitiatedCallbackUrl>http://b.com</CallInitiatedCallbackUrl></Application></ApplicationList></ApplicationProvisioningResponse>",

0 commit comments

Comments
 (0)