diff --git a/src/database.js b/src/database.js index 0e3f6e1eb..c8d870781 100644 --- a/src/database.js +++ b/src/database.js @@ -118,6 +118,7 @@ function clear(callback) { require('./authcodedb.js')._clear, require('./clientdb.js')._clear, require('./tokendb.js')._clear, + require('./groupdb.js')._clear, require('./userdb.js')._clear, require('./settingsdb.js')._clear ], callback); diff --git a/src/groups.js b/src/groups.js index ec1699f4e..0ad72eb4b 100644 --- a/src/groups.js +++ b/src/groups.js @@ -14,7 +14,6 @@ var assert = require('assert'), DatabaseError = require('./databaseerror.js'), groupdb = require('./groupdb.js'), util = require('util'), - uuid = require('node-uuid'), _ = require('underscore'); // http://dustinsenos.com/articles/customErrorsInNode @@ -59,7 +58,7 @@ function create(name, callback) { var error = validateGroupname(name); if (error) return callback(error); - groupdb.add(uuid.v4(), name, function (error) { + groupdb.add(name /* id */, name, function (error) { if (error && error.reason === DatabaseError.ALREADY_EXISTS) return callback(new GroupError(GroupError.ALREADY_EXISTS)); if (error) return callback(new GroupError(GroupError.INTERNAL_ERROR, error)); diff --git a/src/test/group-test.js b/src/test/group-test.js index c1f645b72..6b9eab3b7 100644 --- a/src/test/group-test.js +++ b/src/test/group-test.js @@ -12,12 +12,15 @@ var database = require('../database.js'), groupdb = require('../groupdb.js'), GroupError = groups.GroupError; +var GROUP_NAME = 'administrators', + GROUP_ID = GROUP_NAME; + function setup(done) { // ensure data/config/mount paths database.initialize(function (error) { expect(error).to.be(null); - done(); + database._clear(done); }); } @@ -44,7 +47,36 @@ describe('Groups', function () { }); it('can create valid group', function (done) { - groups.create('administrators', function (error) { + groups.create(GROUP_NAME, function (error) { + expect(error).to.be(null); + done(); + }); + }); + + it('cannot get invalid group', function (done) { + groups.get('sometrandom', function (error) { + expect(error.reason).to.be(GroupError.NOT_FOUND); + done(); + }); + }); + + it('can get valid group', function (done) { + groups.get(GROUP_ID, function (error, group) { + expect(error).to.be(null); + expect(group.name).to.equal(GROUP_NAME); + done(); + }); + }); + + it('cannot delete invalid group', function (done) { + groups.remove('random', function (error) { + expect(error.reason).to.be(GroupError.NOT_FOUND); + done(); + }); + }); + + it('can delete valid group', function (done) { + groups.remove(GROUP_ID, function (error) { expect(error).to.be(null); done(); });