fh-fhc
Version:
A Command Line Interface for FeedHenry
203 lines (197 loc) • 6.98 kB
JavaScript
var assert = require('assert');
var genericCommand = require('genericCommand');
var devicesCmd = {
read: genericCommand(require('cmd/fh3/admin/devices/read')),
list: genericCommand(require('cmd/fh3/admin/devices/list')),
listapps: genericCommand(require('cmd/fh3/admin/devices/listapps')),
listusers: genericCommand(require('cmd/fh3/admin/devices/listusers')),
enable: genericCommand(require('cmd/fh3/admin/devices/enable')),
disable: genericCommand(require('cmd/fh3/admin/devices/disable')),
update: genericCommand(require('cmd/fh3/admin/devices/update')),
purgedata: genericCommand(require('cmd/fh3/admin/devices/purgedata'))
};
var data = {
"fields": {
"blacklisted": false,
"businessObject": "cluster/reseller/customer/domain/admin/app-store/device",
"cuid": "E7F62D22426F4F95983DACF19986E840",
"disabled": true,
"domain": "support",
"name": "Test",
"parentEntity": "AppStoreImpl:teojlet4bcdmmtp3jkanflb2:support~'value",
"sysCreated": "2015-07-31 15:34:40:151",
"sysGroupFlags": 31,
"sysGroupList": "",
"sysModified": "2017-07-14 21:41:32:270",
"sysShardPoint": 3156789750,
"sysVersion": 5
},
"guid": "xqumt5wyw6dipverrrxsefhy",
"status": "ok",
"type": "mam_Devices"
};
var dataList = {
"count": 20,
"list": [
{
"fields": {
"blacklisted": false,
"businessObject": "cluster/reseller/customer/domain/admin/app-store/device",
"cuid": "C7B25DA8EA544A948A5094BC0CF4BDD8",
"disabled": false,
"domain": "support",
"name": "Device Name",
"parentEntity": "AppStoreImpl:teojlet4bcdmmtp3jkanflb2:support~'value",
"sysCreated": "2015-09-29 13:28:58:031",
"sysGroupFlags": 31,
"sysGroupList": "",
"sysModified": "2015-09-29 13:28:58:031",
"sysShardPoint": 3615202457,
"sysVersion": 0
},
"guid": "255zzgikhwkqcfcbckiqm56f",
"type": "mam_Devices"
},
{
"fields": {
"blacklisted": false,
"businessObject": "cluster/reseller/customer/domain/admin/app-store/device",
"cuid": "E0CD8EAF59C148CD8038648D1A0DEBF5",
"disabled": false,
"domain": "support",
"name": "",
"parentEntity": "AppStoreImpl:teojlet4bcdmmtp3jkanflb2:support~'value",
"sysCreated": "2015-07-30 20:20:41:451",
"sysGroupFlags": 31,
"sysGroupList": "",
"sysModified": "2015-07-31 15:30:27:945",
"sysShardPoint": 3642863539,
"sysVersion": 3
},
"guid": "3eq27m2mnvzdpt4u4ri7uxvo",
"type": "mam_Devices"
}
],
"status": "ok"
};
var nock = require('nock');
module.exports = nock('https://apps.feedhenry.com')
.get('/box/srv/1.1/admin/device/list')
.times(2)
.reply(200, dataList)
.post('/box/srv/1.1/admin/device/update')
.times(6)
.reply(200, data)
.post('/box/srv/1.1/admin/device/listapps')
.reply(200, {})
.post('/box/srv/1.1/admin/device/listusers')
.reply(200, {})
.post('/box/srv/1.1/admin/device/read')
.reply(200, data);
module.exports = {
'test fhc admin devices list': function(cb) {
devicesCmd.list({}, function(err, data) {
assert.equal(err, null);
var table = data._table;
assert.equal(table['0'][0], 'C7B25DA8EA544A948A5094BC0CF4BDD8');
assert.equal(table['0'][1], 'Device Name');
assert.equal(table['0'][2], false);
assert.equal(table['0'][3], false);
assert.equal(table['0'][4], 'mam_Devices');
return cb();
});
},
'test fhc admin devices list --json': function(cb) {
devicesCmd.list({json:true}, function(err, data) {
assert.equal(err, null);
assert.equal(data._table,null);
assert.equal(data.status,"ok");
return cb();
});
},
'test fhc admin devices disable --cuid': function(cb) {
devicesCmd.disable({cuid:"E7F62D22426F4F95983DACF19986E840"}, function(err, data) {
assert.equal(err, null);
var table = data._table;
assert.equal(table['0'][0], 'E7F62D22426F4F95983DACF19986E840');
assert.equal(table['0'][1], 'Test');
assert.equal(table['0'][2], false);
assert.equal(table['0'][3], true);
assert.equal(table['0'][4], 'mam_Devices');
return cb();
});
},
'test fhc admin devices disable --cuid --json': function(cb) {
devicesCmd.disable({cuid:"E7F62D22426F4F95983DACF19986E840", json:true}, function(err, data) {
assert.equal(err, null);
assert.equal(data._table,null);
assert.equal(data.status,"ok");
return cb();
});
},
'test fhc admin devices enable --cuid': function(cb) {
devicesCmd.enable({cuid:"E7F62D22426F4F95983DACF19986E840"}, function(err, data) {
assert.equal(err, null);
var table = data._table;
assert.equal(table['0'][0], 'E7F62D22426F4F95983DACF19986E840');
assert.equal(table['0'][1], 'Test');
assert.equal(table['0'][2], false);
assert.equal(table['0'][3], true);
assert.equal(table['0'][4], 'mam_Devices');
return cb();
});
},
'test fhc admin devices enable --cuid --json': function(cb) {
devicesCmd.enable({cuid:"E7F62D22426F4F95983DACF19986E840", json:true}, function(err, data) {
assert.equal(err, null);
assert.equal(data._table,null);
assert.equal(data.status,"ok");
return cb();
});
},
'test fhc admin devices listapps': function(cb) {
devicesCmd.listapps({cuid:"C7B25DA8EA544A948A5094BC0CF4BDD8"}, function(err) {
assert.equal(err, null);
return cb();
});
}
,
'test fhc admin devices listusers': function(cb) {
devicesCmd.listusers({cuid:"C7B25DA8EA544A948A5094BC0CF4BDD8"}, function(err) {
assert.equal(err, null);
return cb();
});
},
'test fhc admin devices purgdata --cuid --backlist --json': function(cb) {
devicesCmd.purgedata({cuid:"E7F62D22426F4F95983DACF19986E840", json:true}, function(err, data) {
assert.equal(err, null);
assert.equal(data._table,null);
assert.equal(data.status,"ok");
return cb();
});
},
'test fhc admin devices read --cuid': function(cb) {
devicesCmd.read({cuid:"E7F62D22426F4F95983DACF19986E840"}, function(err, data) {
assert.equal(err, null);
var table = data._table;
assert.equal(table['0'][0], 'E7F62D22426F4F95983DACF19986E840');
assert.equal(table['0'][1], 'Test');
assert.equal(table['0'][2], false);
assert.equal(table['0'][3], true);
assert.equal(table['0'][4], 'mam_Devices');
return cb();
});
},
'test fhc admin devices update --cuid --name': function(cb) {
devicesCmd.update({cuid:"E7F62D22426F4F95983DACF19986E840", name:"Test"}, function(err, data) {
assert.equal(err, null);
var table = data._table;
assert.equal(table['0'][0], 'E7F62D22426F4F95983DACF19986E840');
assert.equal(table['0'][1], 'Test');
assert.equal(table['0'][2], false);
assert.equal(table['0'][3], true);
assert.equal(table['0'][4], 'mam_Devices');
return cb();
});
}
};