mongodb-expressions
Version:
MongoDB expressions for fire.js
89 lines (86 loc) • 2.55 kB
JavaScript
var vows = require('vows')
var assert = require('assert')
var Configurator = require('../lib/Configurator.js')
vows.describe('Mongo Configurator').addBatch({
"When I run the configurator in a generic environment": {
topic: function() {
return new Configurator({
"generic": {
"db": "local_development",
"port": 1111,
"host": "127.0.0.1",
"username": "foo",
"password": "secure",
},
"foo": {
"type": "example",
"service": "ddd*"
},
"example": {
"type": "foo",
"instance": "SPM_URL"
}
}, {
/*No special env*/
}).getConfig()
},
"it should return the generic configuration": function(config) {
assert.isNotNull(config)
assert.strictEqual(config.db, "local_development")
assert.strictEqual(config.host, '127.0.0.1')
assert.strictEqual(config.port, 1111)
assert.strictEqual(config.username, "foo")
assert.strictEqual(config.password, "secure")
assert.strictEqual(config['$provider'], "generic")
assert.strictEqual(config['$name'], "generic")
}
},
"When I run the configurator in a VCAP environment": {
topic: function() {
return new Configurator({
"generic": {
"db": "local_development",
"port": 1111,
"host": "127.0.0.1",
"username": "foo",
"password": "secure",
},
"VCAP": {
"type": "VCAP",
"service": "mongodb*",
"instance": "mongodb*"
}
}, {
VCAP_SERVICES: JSON.stringify({ // This... is.... Cloudfoundryyyy!!! =)
"mongodb-1.8":[
{
"name": "mongodb2",
"label": "mongodb-1.8",
"plan": "free",
"tags": ["mongodb","mongodb-1.8","nosql"],
"credentials":{
"hostname":"172.00.48.00",
"host":"00.30.48.73",
"port":3444,
"username":"3d536880-8a10-4abe-xxxx-bb036b984aee",
"password":"aaaaaaaa-aaa-4a8c-2222-2a9b0f6faa91",
"name":"555555-abd4-4bbc-b7da-hhhhhh",
"db":"cfdb"
}
}
]
})
}).getConfig()
},
"it should return the generic configuration": function(config) {
assert.isNotNull(config)
assert.strictEqual(config.db, "cfdb")
assert.strictEqual(config.host, '00.30.48.73')
assert.strictEqual(config.port, 3444)
assert.strictEqual(config.username, "3d536880-8a10-4abe-xxxx-bb036b984aee")
assert.strictEqual(config.password, "aaaaaaaa-aaa-4a8c-2222-2a9b0f6faa91")
assert.strictEqual(config['$name'], "VCAP")
assert.strictEqual(config['$provider'], "VCAP")
}
}
}).export(module);