Skip to content

Commit

Permalink
add connection#open tests
Browse files Browse the repository at this point in the history
  • Loading branch information
aheckmann committed Aug 17, 2011
1 parent 248a12f commit 91263d9
Showing 1 changed file with 199 additions and 0 deletions.
199 changes: 199 additions & 0 deletions test/connection.test.js
Expand Up @@ -29,6 +29,205 @@ module.exports = {
});
},

'test connection args': function (beforeExit) {
var db = mongoose.createConnection('mongodb://localhost/fake');
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
should.strictEqual(undefined, db.pass);
should.strictEqual(undefined, db.user);
db.name.should.equal('fake');
db.host.should.equal('localhost');
db.port.should.equal(27017);
db.close();

db = mongoose.createConnection('mongodb://localhost:27000/fake');
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
should.strictEqual(undefined, db.pass);
should.strictEqual(undefined, db.user);
db.name.should.equal('fake');
db.host.should.equal('localhost');
db.port.should.equal('27000');
db.close();

db = mongoose.createConnection('mongodb://aaron:psw@localhost:27000/fake');
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
should.strictEqual('psw', db.pass);
should.strictEqual('aaron', db.user);
db.name.should.equal('fake');
db.host.should.equal('localhost');
db.port.should.equal('27000');
db.close();

db = mongoose.createConnection('mongodb://aaron:psw@localhost:27000/fake', { db: { forceServerObjectId: true }});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.close();

db = mongoose.createConnection('mongodb://aaron:psw@localhost:27000/fake', { server: { auto_reconnect: true }});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.true;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.close();

var called1 = false;
db = mongoose.createConnection('mongodb://aaron:psw@localhost:27000/fake', { server: { auto_reconnect: true }}, function () {
called1 = true;
});
beforeExit(function () {
called1.should.be.true;
});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.true;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.close();

var called2 = false;
db = mongoose.createConnection('mongodb://localhost/fake', function () {
called2 = true;
});
beforeExit(function () {
called2.should.be.true;
});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.name.should.equal('fake');
db.host.should.equal('localhost');
db.port.should.equal(27017);
db.close();

db = mongoose.createConnection('mongodb:///fake', function (err) {
err.message.should.equal('Missing connection hostname.');
});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
should.strictEqual(undefined, db.name);
should.strictEqual(undefined, db.host);
should.strictEqual(undefined, db.port);
db.close();

db = mongoose.createConnection('mongodb://localhost', function (err) {
err.message.should.equal('Missing connection database.');
});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
should.strictEqual(undefined, db.name);
should.strictEqual(undefined, db.host);
should.strictEqual(undefined, db.port);
db.close();

var called3 = false;
db = mongoose.createConnection('127.0.0.1', 'faker', 28000, { server: { auto_reconnect: true }}, function () {
called3 = true;
});
beforeExit(function () {
called3.should.be.true;
});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.true;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.name.should.equal('faker');
db.host.should.equal('127.0.0.1');
db.port.should.equal(28000);
db.close();

var called4 = false;
db = mongoose.createConnection('127.0.0.1', 'faker', 28000, function () {
called4 = true;
});
beforeExit(function () {
called4.should.be.true;
});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.name.should.equal('faker');
db.host.should.equal('127.0.0.1');
db.port.should.equal(28000);
db.close();

db = mongoose.createConnection('127.0.0.1', 'faker', 28000, { server: { auto_reconnect: true }});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.true;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.name.should.equal('faker');
db.host.should.equal('127.0.0.1');
db.port.should.equal(28000);
db.close();

db = mongoose.createConnection('127.0.0.1', 'faker', 28001);
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.name.should.equal('faker');
db.host.should.equal('127.0.0.1');
db.port.should.equal(28001);
db.close();

db = mongoose.createConnection('127.0.0.1', 'faker', { blah: 1 });
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.options.blah.should.equal(1);
db.name.should.equal('faker');
db.host.should.equal('127.0.0.1');
db.port.should.equal(27017);
db.close();

var called5 = false
db = mongoose.createConnection('127.0.0.1', 'faker', function () {
called5 = true;
});
beforeExit(function () {
called5.should.be.true;
});
db.options.should.be.a('object');
db.options.server.should.be.a('object');
db.options.server.auto_reconnect.should.be.false;
db.options.db.should.be.a('object');
db.options.db.forceServerObjectId.should.be.false;
db.name.should.equal('faker');
db.host.should.equal('127.0.0.1');
db.port.should.equal(27017);
db.close();
},

'connection.model allows passing a schema': function () {
var db = start();
var MyModel = db.model('MyModelasdf', new Schema({
Expand Down

0 comments on commit 91263d9

Please sign in to comment.