Skip to content

Commit

Permalink
Tests: Improve closing test to check else
Browse files Browse the repository at this point in the history
  • Loading branch information
Joakim committed Oct 29, 2019
1 parent 640d018 commit c23ad55
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
6 changes: 5 additions & 1 deletion test/helpers/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@ async function createAdapter (useTransaction = false) {
return MongooseAdapter.newAdapter('mongodb://localhost:27017/casbin', MONGOOSE_OPTIONS, false, useTransaction);
};

module.exports = { createEnforcer, createAdapter, model, policy };
async function createDisconnectedAdapter () {
return new MongooseAdapter('mongodb://localhost:27017/casbin', MONGOOSE_OPTIONS);
};

module.exports = { createEnforcer, createAdapter, createDisconnectedAdapter, model, policy };
17 changes: 14 additions & 3 deletions test/integration/adapter.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
// limitations under the License.

const { assert } = require('chai');
const { createEnforcer, createAdapter, model, policy } = require('../helpers/helpers');
const { createEnforcer, createAdapter, createDisconnectedAdapter, model, policy } = require('../helpers/helpers');
const { newEnforcer } = require('casbin');
const CasbinRule = require('../../src/model');

Expand Down Expand Up @@ -220,10 +220,21 @@ describe('MongooseAdapter', () => {
});

it('Should allow you to close the connection', async () => {
// Create mongoAdapter
const enforcer = await createEnforcer();
const adapter = enforcer.getAdapter();
assert.equal(adapter.mongoseInstance.connection.readyState, 1);
assert.equal(adapter.mongoseInstance.connection.readyState, 1, 'Connection should be open');

// Connection should close
await adapter.close();
assert.equal(adapter.mongoseInstance.connection.readyState, 0, 'Connection should be closed');
});

it('Closing a closed/undefined connection should not raise an error', async () => {
// Create mongoAdapter
const adapter = await createDisconnectedAdapter();
// Closing a closed connection should not raise an error
await adapter.close();
assert.equal(adapter.mongoseInstance.connection.readyState, 0);
assert.equal(adapter.mongoseInstance, undefined, 'mongoseInstance should be undefined');
});
});

0 comments on commit c23ad55

Please sign in to comment.