UNPKG

decentralized-internet

Version:

An NPM library of programs to create decentralized web and distributed computing projects

1 lines 2.21 kB
var request=require("request"),fs=require("fs"),Promise=require("bluebird"),path=require("path");const Joi=require("@hapi/joi"),Lab=require("lab"),lab=exports.lab=Lab.script(),clustermodel=require("clusterpost-model"),clusterpost=require("clusterpost-lib"),getConfigFile=function(e,r){try{return require(r+"/conf.my."+e+".json")}catch(t){return require(r+"/conf."+e+".json")}};var env=process.env.NODE_ENV;if(!env)throw"Please set NODE_ENV variable.";var conf=getConfigFile(env,"./"),agentOptions={};conf.tls&&conf.tls.cert&&(agentOptions.ca=fs.readFileSync(conf.tls.cert));var getClusterPostServer=function(){return conf.uri};clusterpost.setClusterPostServer(conf.uri);var joiokres=Joi.object().keys({ok:Joi.boolean().valid(!0),id:Joi.string(),rev:Joi.string()});lab.experiment("Test clusterpost auth jwt",function(){var e={email:"algiedi85@gmail.com",name:"Alpha Capricorni",password:"Some808Password!"};lab.test("returns true when new user is created.",function(){return clusterpost.createUser(e).then(function(e){Joi.assert(e.token,Joi.string().required())})}),lab.test("returns true if same user fails to be created.",function(){return clusterpost.createUser(e).then(function(e){Joi.assert(e.token,Joi.object().keys({statusCode:Joi.number().valid(409),error:Joi.string(),message:Joi.string()}))})});lab.test("returns true when user is login.",function(){return clusterpost.userLogin({email:"algiedi85@gmail.com",password:"Some808Password!"}).then(function(e){Joi.assert(e.token,Joi.string().required()),"Bearer "+e.token})}),lab.test("returns true when unauthorized user access api.",function(){return clusterpost.getExecutionServers().then(function(e){Joi.assert(e,Joi.object().keys({statusCode:Joi.number().valid(403),error:Joi.string(),message:Joi.string()}))})}),lab.test("returns true when unauthorized user access api.",function(){return clusterpost.getUser().then(function(e){Joi.assert(e,Joi.object().keys({_id:Joi.string(),_rev:Joi.string(),name:Joi.string(),email:Joi.string().email(),type:Joi.string(),scope:Joi.array().items(Joi.string())}))})}),lab.test("returns true when valid user deletes itself.",function(){return clusterpost.deleteUser().then(function(e){Joi.assert(e,joiokres)})})});