Socket
Socket
Sign inDemoInstall

ubivar

Package Overview
Dependencies
1
Maintainers
1
Versions
44
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.3-beta10 to 0.1.3-beta11

1

lib/index.js

@@ -15,4 +15,3 @@ /* Ubivar API client factory

ubivar.log.level("warn")
return ubivar
}

@@ -13,3 +13,2 @@ var _ = require("lodash")

this.ubivar = ubivar
this.log = ubivar.log
}

@@ -16,0 +15,0 @@

3

lib/Ubivar/index.js
var path = require("path")
, fs = require("fs")
, bunyan = require("bunyan")
, _ = require("lodash")

@@ -15,2 +14,3 @@ , RESOURCES = [

, "fx"
, "bins"
, "me"

@@ -51,3 +51,2 @@ ]

this.set("auth", token)
this.log = bunyan.createLogger({ "name": theName})
}

@@ -54,0 +53,0 @@

{
"name": "ubivar",
"version": "0.1.3-beta10",
"version": "0.1.3-beta11",
"description": "API wrapper to Ubivar",

@@ -26,5 +26,4 @@ "main": "lib/index.js",

"dependencies": {
"bunyan": "^1.3.4",
"lodash": "^3.3.1"
}
}

@@ -127,18 +127,6 @@ # Ubivar node.js bindings

+ [list(params)](https://www.ubivar.com/docs/nodejs#list_fx)
```js
ubivar.fx.list({
"cur_from" : "CAD" // default to EUR
, "cur_to" : "GBP" // default to USD
, "date" : "2015-01-01" // default to today
}, function(err, res){
// returns the CAD/GBP FX of the day
})
```
+ [BINs](https://www.ubivar.com/docs/nodejs#bin)
+ [list(params)](https://www.ubivar.com/docs/nodejs#list_bin)
+ [Status](https://www.ubivar.com/docs/nodejs#status)
+ [list(params)](https://www.ubivar.com/docs/nodejs#list_status)
```js
ubivar.status.list(function(err, res){
// returns uptime status of the web and API resources
})
```

@@ -145,0 +133,0 @@ ## Configuration

@@ -13,3 +13,3 @@ "use strict"

, allResources = ubivar.get("resources")
, specialResources = ["me", "fx", "status"]
, specialResources = ["me", "fx", "bins", "status"]
, genericResources = _.difference(allResources, specialResources)

@@ -34,10 +34,2 @@

it("Should have a logger", function() {
_.each(genericResources, function(resource){
_.each(methods, function(method){
expect(ubivar[resource]["log"]).to.exist
})
})
})
it("Should have CRUD(L) methods", function() {

@@ -81,16 +73,13 @@ _.each(genericResources, function(resource){

var ubivar = require("../../lib")(token, "latest")
ubivar.me.retrieve(function(err, res){
var me = res.data[0]
, vrand = ""+Math.random()
me.primary_phone= vrand
ubivar.me.update(me, function(err, res){
if(!err && res.status === 200 && vrand === res.data[0]["primary_phone"]){
done()
} else {
console.log("\n\nError:", err
, "\nResponse:" , res
, "\nVrand:" , vrand)
done(new Error("Should update me"))
}
})
, vrand = ""+Math.random()
ubivar.me.update({"primary_phone": vrand}, function(err, res){
if(!err && res.status === 200 && vrand === res.data[0]["primary_phone"]){
return done()
}
console.log("\n\nError:", err
, "\nResponse:" , res
, "\nVrand:" , vrand)
done(new Error("Should update me"))
})

@@ -137,3 +126,3 @@ })

done(new Error("Returned 'cur_to' does not default to USD"))
} else if((new Date()-new Date(fx.date))/(1000*60*60*24) > 1){
} else if((new Date()-new Date(fx.date))/(1000*60*60*24) > 2){
done(new Error("Latest FX should be less than one day old"))

@@ -202,19 +191,104 @@ } else if(!_.isNumber(fx.rate)) {

ubivar.status.list(function(err, res){
var result = !err && res.data.length > 0 ? res.data[0] : null
, fields = ["id", "timestamp", "url", "status"]
if(err){
done(err)
} else if(res.data.length === 0 ){ done(new Error("Did not return results"))
} else if(!res.data[0].id ){ done(new Error("Should have an id"))
} else if(!res.data[0].timestamp){ done(new Error("Should have a timestamp"))
} else if(!res.data[0].name ){ done(new Error("Should have a name"))
} else if(!res.data[0].url ){ done(new Error("Should have a url"))
} else if(!res.data[0].interval ){ done(new Error("Should have an interval"))
} else if(!res.data[0].status ){ done(new Error("Should have a status"))
} else if(!res.data[0].alltimeuptimeratio){ done(new Error("Should have an all time uptime ratio"))
} else{
done()
}
return done(err)
} else if(res.data.length === 0){
return done(new Error("Did not return results" ))
}
_.each(fields, function(field){
if(!_.has(result, field)){
return done(new Error("Should have a '" + field + "'"))
}
})
done()
})
})
it("Should filter status based on timestamp", function(done){
var begin = "2015-03-30 23:00:00"
, end = "2015-03-30 24:00:00"
ubivar.status.list({"timestamp":{ "gte":begin , "lte":end}}, function(err, res){
var results = !err && res.data.length > 0 ? res.data : null
if(err){
return done(err)
} else if(res.data.length === 0){
return done(new Error("Did not return results" ))
}
begin = new Date(begin)
end = new Date(end)
_.each(results, function(result){
var time = new Date(result.timestamp)
if((time-begin)<0 || (end-time)<0){
return done(new Error("Should return statuses within ["+begin,",",end+"]: ", time))
}
})
done()
})
})
})
describe("Bank Identification Number", function(){
it("Should list a valid set of BINs", function(done){
ubivar.bins.list(function(err, res){
var result = !err && res.data.length > 0 ? res.data[0] : null
, fields = ["id","brand","country_code","country_name","bank","card_type","card_category"]
if(err){ return done(err)
} else if(res.data.length === 0){
return done(new Error("Did not return results" ))
}
_.each(fields, function(field){
if(!_.has(result, field)){
return done(new Error("Should have a '" + field + "'"))
}
})
done()
})
})
it("Should 'start_after' and 'end_before'", function(done){
var begin = 400400
, end = 400500
ubivar.bins.list({"start_after":begin, "end_before":end}, function(err, res){
var results = !err && res.data.length > 0 ? res.data : null
if(err){ return done(err)
} else if(res.data.length === 0){
return done(new Error("Did not return results" ))
}
_.each(results, function(result){
if(result.id <= begin || result.id >= end){
return done(new Error("Not a BIN with ["+begin+","+end+"]: " + result.id))
}
})
done()
})
})
it("Should select only 'visa' brands", function(done){
ubivar.bins.list({"brand":"visa"}, function(err, res){
var results = !err && res.data.length > 0 ? res.data : null
if(err){ return done(err)
} else if(res.data.length === 0){
return done(new Error("Did not return results" ))
}
_.each(results, function(result){
if(result.brand.toLowerCase().indexOf("visa") < 0){
return done(new Error("Not a 'visa' brand: " + result.brand))
}
})
done()
})
})
})
_.each(genericResources, function(resource){

@@ -221,0 +295,0 @@ describe(resource[0].toUpperCase() + resource.slice(1)

@@ -9,3 +9,3 @@ "use strict"

var rootProps = ["log","_api"]
var rootProps = ["_api"]
, subProps = ["auth","protocol","timeout","resources","revokedCerts","headers","request"]

@@ -12,0 +12,0 @@ , methods = ["create", "retrieve", "update", "del", "list"]

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc