const Buffer = require('buffer').Buffer; const util = require('util'); const aliyunIot = require('../../lib'); const Device = require('../../lib/device'); const fixtures = require('../fixtures'); const sub_device1 = fixtures.sub_device1; let gateway; let sub1; beforeAll(() => { return new Promise((resolve, reject) => { gateway = aliyunIot.gateway({ ...fixtures.sdk_gateway2 }); gateway.on('connect', () => { //子设备登录ok sub1 = gateway.login( sub_device1, (res) => { console.log('>>>>>login', res); } ); // 子设备连接状态 sub1.on('connect', () => { console.log(">>>>sub connected!"); resolve(); }); }); }) }, 3000) afterAll(() => { gateway.end(); sub1.end(); }); describe('device test', () => { test('gateway connect linkPlatform should be ok', done => { if (gateway.connected) { done(); } }); test('sub device connect linkPlatform should be ok', done => { if (sub1.connected) { done(); } }); test('sub device post props should be ok', done => { try { // 子设备属性上报 sub1.postProps({ LightSwitch: 0 }, (res) => { console.log(">>>>sub device postProps!"); console.log(res); done(); }); } catch (e) { console.error(e) } }); test('sub device logout should be ok', done => { try { //登出ok gateway.logout( sub_device1, (res) => { console.log('>>>>>logout', res); console.log('>>>>>logout .code', res.code); // 速度太快有时会相应520 subDevice is already in offline status, subDevice must online first // expect('res.code').toBe('200'); done(); } ); } catch (e) { console.error(e) } }) });