##install dependencies:
npm install request-promise
##set environment variable:
export TESTOBJECT_USERNAME=your_username
export TESTOBJECT_API_KEY=your_api_key
##run:
node testobject_available_private_devices.js
| var request = require('request-promise'); // npm install request-promise | |
| var options = { | |
| auth: { | |
| username: process.env.TESTOBJECT_USERNAME, // export TESTOBJECT_USERNAME=<your username> | |
| password: process.env.TESTOBJECT_API_KEY // export TESTOBJECT_API_KEY=<your api key> | |
| }, | |
| json: true | |
| }; | |
| request = request.defaults(options); | |
| var all_devices_url = "https://app.testobject.com/api/rest/v2/devices"; | |
| var available_devices_url = "https://app.testobject.com/api/rest/v2/devices/available"; | |
| request(all_devices_url).then(function (data) | |
| { | |
| var privateDevices = data.US.filter( (device) => { return device.isPrivate } ); | |
| // console.log("-----all private devices-----"); | |
| // console.log(privateDevices); | |
| request(available_devices_url).then(function(data) | |
| { | |
| var availableDevices = data.US; | |
| // console.log("-----all available devices-----"); | |
| // console.log(availableDevices); | |
| var devicesInUse = []; | |
| var devicesAvailable = []; | |
| for (device of privateDevices) | |
| { | |
| if (availableDevices.includes(device.id)) | |
| { | |
| console.log(device.id + " is available"); | |
| devicesAvailable.push(device); | |
| } | |
| else | |
| { | |
| console.log(device.id + " is in use"); | |
| devicesInUse.push(device); | |
| } | |
| } | |
| console.log("------available private devices----"); | |
| console.log(devicesAvailable); | |
| console.log("------in use private devices----"); | |
| console.log(devicesInUse); | |
| }) | |
| .catch(function(error) | |
| { | |
| console.error(error); | |
| }); | |
| }) | |
| .catch(function (error) | |
| { | |
| console.error(error); | |
| }); |