const Buffer = require('buffer').Buffer; const util = require('util'); const aliyunIot = require('../../lib'); const Device = require('../../lib/device'); const fixtures = require('../fixtures'); let device; beforeAll(()=> { return new Promise((resolve, reject)=>{ device = aliyunIot.device({ ...fixtures.sdk_device2 }); device.on('connect', () => { resolve(); }); }) },3000) afterAll(() => { device.end(); }); describe('device tags ability test', () => { let tags = [ {"attrKey": "Temperature", "attrValue": "311"}, {"attrKey": "a","attrValue": "avalue"}, {"attrKey": "b","attrValue": "bvalue"}, {"attrKey": "c","attrValue": "bvalue"} ]; test('add tags should be ok', done => { try { device.postTags( tags, (res) => { console.log(`add tag ok res:${res.id}`); done() } ); } catch (e) {console.error(e);} }); test('delete tags should be ok', done => { try { device.deleteTags( ['a'], (res) => { console.log(`tagid:${res.id}^ delete succeed`); done() } ); } catch (e) {console.error(e);} }); }); // 远程配置功能 // remote configuration describe('device remote configuration ability test', () => { test('get remote configuration should be ok', done => { try { // 获取远程配置功能 device.getConfig((res) => { console.log("getConfig:%o,",res.data); done() }); } catch (e) {console.error(e);} }); }); // 远程配置功能 // remote configuration describe('device shadow ability test', () => { const random = Math.random().toString(36).substr(2); test('shadow get should be ok', done => { try { device.onShadow((res) => { // { method: 'reply', // payload:{ status: 'success', // state: { reported: { a: 'avalue11' } },} console.log('@@getShadow:,%o', res); done() }) device.getShadow(); } catch (e) {console.error(e);} }); test('shadow post should be ok', done => { try { device.onShadow((res) => { console.log('@@postShadow,%o', res); done() }) device.postShadow({ a: "random" }); } catch (e) {console.error(e);} }); test('shadow delete should be ok', done => { try { device.onShadow((res) => { console.log('@@deleteShadow,%o', res); done() }) device.deleteShadow("a"); } catch (e) {console.error(e);} }); },5000);