fh-fhc
Version:
A Command Line Interface for FeedHenry
156 lines (151 loc) • 4.92 kB
JavaScript
var genericCommand = require('genericCommand');
var assert = require('assert');
var userCommand = {
list: genericCommand(require('cmd/fh3/keys/user/list')),
delete: genericCommand(require('cmd/fh3/keys/user/delete')),
update: genericCommand(require('cmd/fh3/keys/user/update')),
read: genericCommand(require('cmd/fh3/keys/user/read')),
target: genericCommand(require('cmd/fh3/keys/user/target')),
add: genericCommand(require('cmd/fh3/keys/user/add'))
};
var nock = require('nock');
var userList = {
"list": [
{
"key": "ad351414f0769fdf443203e8ed07534711457f5d",
"keyReference": "i4ze7ruomd27wnohth22to4v",
"keyType": "user",
"label": "FH_MBAAS_API_KEY",
"revoked": null,
"revokedBy": null,
"revokedEmail": null
}
],
"status": "ok"
};
var key = {
"apiKey": {
"key": "ad351414f0769fdf443203e8ed07534711457f5d",
"keyReference": "i4ze7ruomd27wnohth22to4v",
"keyType": "user",
"label": "FH_MBAAS_API_KEY",
"revoked": null,
"revokedBy": null,
"revokedEmail": null
},
"status": "ok"
};
module.exports = nock('https://apps.feedhenry.com')
.post('/box/srv/1.1/ide/apps/api/list')
.times(9)
.reply(200, userList)
.post('/box/srv/1.1/ide/apps/api/delete')
.times(2)
.reply(200, key)
.post('/box/srv/1.1/ide/apps/api/create')
.times(2)
.reply(200, key)
.post('/box/srv/1.1/ide/apps/api/update')
.times(2)
.reply(200, key);
module.exports = {
'test fhc keys user list' : function(cb) {
userCommand.list({}, function(err, list) {
assert.equal(err, null);
assert(list);
var table = list._table;
assert.equal(table['0'][0], 'FH_MBAAS_API_KEY');
assert.equal(table['0'][1], 'ad351414f0769fdf443203e8ed07534711457f5d');
return cb();
});
},
'test fhc keys user list --json' : function(cb) {
userCommand.list({json:true}, function(err, list) {
assert.equal(err, null);
assert(list);
assert.equal(list._table, null);
return cb();
});
},
'fhc keys user read --label' : function(cb) {
userCommand.read({ label:"FH_MBAAS_API_KEY"}, function(err, list) {
assert.equal(err, null);
assert(list);
var table = list._table;
assert.equal(table['0'][0], 'FH_MBAAS_API_KEY');
assert.equal(table['0'][1], 'ad351414f0769fdf443203e8ed07534711457f5d');
return cb();
});
},
'fhc keys user read --label --json' : function(cb) {
userCommand.read({ label:"FH_MBAAS_API_KEY", json:true}, function(err, list) {
assert.equal(err, null);
assert(list);
assert.equal(list._table, null);
return cb();
});
},
'fhc keys user target --label' : function(cb) {
userCommand.target({ label:"FH_MBAAS_API_KEY"}, function(err) {
assert.equal(err, null);
return cb();
});
},
'fhc keys user update --label --value' : function(cb) {
userCommand.update({label:"FH_MBAAS_API_KEY", value:"FH_MBAAS_API_KEY2"}, function(err, data) {
assert.equal(err, null);
assert(data);
var table = data._table;
assert.equal(table['0'][0], 'FH_MBAAS_API_KEY');
assert.equal(table['0'][1], 'ad351414f0769fdf443203e8ed07534711457f5d');
return cb();
});
},
'fhc keys user update --label --value --json' : function(cb) {
userCommand.update({label:"FH_MBAAS_API_KEY", value:"FH_MBAAS_API_KEY2", json:true}, function(err, data) {
assert.equal(err, null);
assert(data);
assert.equal(data._table, null);
assert.equal(data.status, "ok");
return cb();
});
},
'fhc keys user delete --label' : function(cb) {
userCommand.delete({label:"FH_MBAAS_API_KEY"}, function(err, data) {
assert.equal(err, null);
assert(data);
var table = data._table;
assert.equal(table['0'][0], 'FH_MBAAS_API_KEY');
assert.equal(table['0'][1], 'ad351414f0769fdf443203e8ed07534711457f5d');
return cb();
});
},
'fhc keys user delete --label --json' : function(cb) {
userCommand.delete({label:"FH_MBAAS_API_KEY", json:true}, function(err, data) {
assert.equal(err, null);
assert(data);
assert.equal(data._table, null);
assert.equal(data.status, "ok");
return cb();
});
},
'fhc keys user add --label' : function(cb) {
userCommand.add({label:"FH_MBAAS_API_KEY"}, function(err, data) {
assert.equal(err, null);
assert(data);
var table = data._table;
assert.equal(table['0'][0], 'FH_MBAAS_API_KEY');
assert.equal(table['0'][1], 'ad351414f0769fdf443203e8ed07534711457f5d');
return cb();
});
},
'fhc keys user add --label --json' : function(cb) {
userCommand.add({label:"FH_MBAAS_API_KEY", json:true}, function(err, data) {
assert.equal(err, null);
assert(data);
assert.equal(data._table, null);
assert.equal(data.status, "ok");
return cb();
});
}
};