UNPKG

onem2m_client

Version:

Synctechno's Library for communicating with Mobius on KETI through oneM2M platform

93 lines (79 loc) 2.61 kB
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) }) })