UNPKG

fh-fhc

Version:

A Command Line Interface for FeedHenry

210 lines (204 loc) 6.93 kB
var assert = require('assert'); var genericCommand = require('genericCommand'); var policiesCmd = { list: genericCommand(require('cmd/fh3/admin/policies/list')), read: genericCommand(require('cmd/fh3/admin/policies/read')), delete: genericCommand(require('cmd/fh3/admin/policies/delete')), create: genericCommand(require('cmd/fh3/admin/policies/create')), update: genericCommand(require('cmd/fh3/admin/policies/update')), userList: genericCommand(require('cmd/fh3/admin/policies/users/list')), userAdd: genericCommand(require('cmd/fh3/admin/policies/users/add')), userDelete: genericCommand(require('cmd/fh3/admin/policies/users/delete')) }; var nock = require('nock'); var data = { "count": 2, "list": [ { "checkUserApproved": true, "checkUserExists": true, "configurations": { "provider": "FEEDHENRY" }, "guid": "iu5ig63cnt65jzxlntypuwib", "policyId": "FeedHenry", "policyType": "FEEDHENRY", "users": [] }, { "checkUserApproved": false, "checkUserExists": false, "configurations": { "authEndpoint": "/api/wfm/user/auth", "defaultEnvironment": "dev", "mbaas": "n2krmb3ukuwo23fl62sudym5", "provider": "MBAAS" }, "guid": "vugctnmam5nk44h2b5xgxupu", "policyId": "auth-wfm-3152-022017", "policyType": "MBAAS", "users": [ { "email": "testread@redhat.com", "guid": "brxf2jh5sgeirdgch3kol572", "name": "", "userId": "testread@redhat.com" } ] } ], "status": "ok" }; var dataPolicy = { "checkUserApproved": false, "checkUserExists": false, "configurations": { "provider": "FEEDHENRY" }, "guid": "xpzaqtip2ctewg3hudhiyeuv", "policyId": "FeedHenry", "policyType": "FEEDHENRY", "status": "ok", "users": [ { "email": "testread@redhat.com", "guid": "brxf2jh5sgeirdgch3kol572", "name": "", "userId": "testread@redhat.com" }] }; module.exports = nock('https://apps.feedhenry.com') .post('/box/srv/1.1/admin/authpolicy/read') .times(6) .reply(200, dataPolicy) .post('/box/srv/1.1/admin/authpolicy/create') .times(2) .reply(200, dataPolicy) .post('/box/srv/1.1/admin/authpolicy/delete') .times(1) .reply(200, dataPolicy) .get('/box/srv/1.1/admin/authpolicy/list') .times(3) .reply(200, data) .post('/box/srv/1.1/admin/authpolicy/addusers') .reply(200, {}) .post('/box/srv/1.1/admin/authpolicy/removeusers') .reply(200, {}) .post('/box/srv/1.1/admin/authpolicy/update') .times(2) .reply(200, dataPolicy); module.exports = { 'test fhc admin policies list': function(cb) { policiesCmd.list({}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); var table = data._table; assert.equal(table['0'][0], 'iu5ig63cnt65jzxlntypuwib'); assert.equal(table['0'][1], 'FeedHenry'); assert.equal(table['0'][2], 'FEEDHENRY'); assert.equal(table['0'][3], 'Yes'); assert.equal(table['0'][4], 'Yes'); return cb(); }); }, 'test fhc admin policies list --json': function(cb) { policiesCmd.list({json:true}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); assert.equal(data._table, null); return cb(); }); }, 'test fhc admin policies read --id --json': function(cb) { policiesCmd.read({id:"FeedHenry",json:true}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); assert.equal(data._table, null); return cb(); }); }, 'test fhc admin policies read --id ': function(cb) { policiesCmd.read({id:"FeedHenry"}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); var table = data._table; assert.equal(table['0'][0], 'xpzaqtip2ctewg3hudhiyeuv'); assert.equal(table['0'][1], 'FeedHenry'); assert.equal(table['0'][2], 'FEEDHENRY'); return cb(); }); }, 'test fhc admin policies delete --id --json': function(cb) { policiesCmd.delete({id:"FeedHenry",json:true}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); assert.equal(data._table, null); return cb(); }); }, 'test fhc admin policies update --id --type --json': function(cb) { policiesCmd.update({id:"FeedHenry",type:"FEEDHENRY",json:true}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); assert.equal(data._table, null); return cb(); }); }, 'test fhc admin policies update --id --type ': function(cb) { policiesCmd.update({id:"FeedHenry",type:"FEEDHENRY"}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); var table = data._table; assert.equal(table['0'][0], 'xpzaqtip2ctewg3hudhiyeuv'); assert.equal(table['0'][1], 'FeedHenry'); assert.equal(table['0'][2], 'FEEDHENRY'); return cb(); }); }, 'test fhc admin policies users list --id --json': function(cb) { policiesCmd.userList({id:"FeedHenry",json:true}, function(err, data) { assert.equal(err, null); assert.equal(data._table, null); return cb(); }); }, 'test fhc admin policies users list': function(cb) { policiesCmd.userList({id:"FeedHenry"}, function(err, data) { assert.equal(err, null); var table = data._table; assert.equal(table['0'][0], 'brxf2jh5sgeirdgch3kol572'); assert.equal(table['0'][1], 'testread@redhat.com'); return cb(); }); }, 'test fhc admin policies users add --guid --user': function(cb) { policiesCmd.userAdd({guid:"brxf2jh5sgeirdgch3kol572", user:'testread@redhat.com'}, function(err) { assert.equal(err, null); return cb(); }); }, 'test fhc admin policies users delete --guid --user': function(cb) { policiesCmd.userDelete({guid:"brxf2jh5sgeirdgch3kol572", user:'testread@redhat.com'}, function(err) { assert.equal(err, null); return cb(); }); }, 'test fhc admin policies create --id --type --json': function(cb) { policiesCmd.create({id:"FeedHenry",type:"FEEDHENRY", configurations:'{"provider":"FEEDHENRY"}',json:true}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); assert.equal(data._table, null); return cb(); }); }, 'test fhc admin policies create --id --type ': function(cb) { policiesCmd.create({id:"FeedHenry",type:"FEEDHENRY", configurations:'{"provider":"FEEDHENRY"}'}, function(err, data) { assert.equal(err, null); assert.equal(data.status, "ok"); var table = data._table; assert.equal(table['0'][0], 'xpzaqtip2ctewg3hudhiyeuv'); assert.equal(table['0'][1], 'FeedHenry'); assert.equal(table['0'][2], 'FEEDHENRY'); return cb(); }); }, };