diff --git a/src/groups.js b/src/groups.js index b8aa5f609..67550e19e 100644 --- a/src/groups.js +++ b/src/groups.js @@ -48,6 +48,8 @@ function validateGroupname(name) { if (name.length <= 2) return new GroupError(GroupError.BAD_NAME, 'name must be atleast 3 chars'); if (name.length >= 200) return new GroupError(GroupError.BAD_NAME, 'name too long'); + if (!/^[A-Za-z0-9_-]*$/.test(name)) return new GroupError(GroupError.BAD_NAME, 'name can only have A-Za-z0-9_-'); + return null; } diff --git a/src/test/group-test.js b/src/test/group-test.js index 3ad60e2dd..dbdaced7f 100644 --- a/src/test/group-test.js +++ b/src/test/group-test.js @@ -46,6 +46,13 @@ describe('Groups', function () { }); }); + it('cannot create group - bad name', function (done) { + groups.create('bad:name', function (error) { + expect(error.reason).to.be(GroupError.BAD_NAME); + done(); + }); + }); + it('can create valid group', function (done) { groups.create(GROUP_NAME, function (error) { expect(error).to.be(null);