onem2m_client
Version:
Synctechno's Library for communicating with Mobius on KETI through oneM2M platform
93 lines (79 loc) • 2.61 kB
JavaScript
var onem2mClient = require('../index')();
var assert = require('assert');
var mobius = 'http://203.253.128.161:7579/Mobius';
var URL = 'http://203.253.128.161:7579';
var cin;
var sub;
var ri;
describe('onem2m-client', function(){
this.timeout(15000);
it('getResource', async () => {
var result = await onem2mClient.Http.getResource(`${mobius}/wlsgur`);
ri = result['m2m:ae']['ri'];
assert.ok(result['m2m:ae'], "??");
})
it('discoverResource', async () => {
var result = await onem2mClient.Http.discoverChildInstance(`${mobius}/wlsgur/ss`, ri, 23, 5, undefined);
console.log(result["m2m:rsp"]);
assert.ok(result['m2m:rsp'], "failed to get children");
})
var ran = false;
it('subscription', (done) => {
var ap = onem2mClient.Model.getAccessPointInfo(`${mobius}/wlsgur/ss`);
var mqttBrokerUrl = `mqtt://${ap.hostname}`;
var sub_name = "test.spec.sub_name";
onem2mClient.Http.subscribeTo(`${mobius}/wlsgur/ss`, sub_name, ri, mqttBrokerUrl, {
exc : 500
})
.then(() => {
onem2mClient.Mqtt.getClient(mqttBrokerUrl, ri)
.on('notification',function(mqttAddress, data){
switch(data.notiEventType){
case onem2mClient.Model.notiEventTypes.CREATED :
console.log(`Receive Notification CREATED ${data.notiEventType} ${JSON.stringify(data)}`);
if(data.resourceTypeCode == onem2mClient.Model.Resource.getTypeCode('cin')){
if(!ran){
done();
ran != ran;
}
}
break;
case onem2mClient.Model.notiEventTypes.DELETED :
break;
}
});
return;
})
.then(() => {
setTimeout(async function(){
var result = await onem2mClient.Http.createResource(`${mobius}/wlsgur/ss`,{
'm2m:cin': {
con: "content"
}
}, ri)
let key = Object.keys(result);
cin = result[key];
}, 1000)
})
})
/*
it('unsubscription', (done) => {
setTimeout(async () => {
var res = await onem2mClient.unsubscribeFrom(`${mobius}/wlsgur/ss`, 'sub_name', 'S');
done();
}, 3000)
})
*/
it('deleteResource', (done) => {
setTimeout(async () => {
try{
console.log(`try delete cin : ${mobius}/wlsgur/ss/${cin.rn}`);
var result = await onem2mClient.Http.deleteResource(`${mobius}/wlsgur/ss/${cin.rn}`, ri);
assert.ok(result["m2m:cin"], "Failed to delete resource");
done();
}catch(err){
done(err);
}
}, 5000)
})
})