diff options
author | Filipe David Borba Manana <fdmanana@apache.org> | 2010-11-21 14:04:47 +0000 |
---|---|---|
committer | Filipe David Borba Manana <fdmanana@apache.org> | 2010-11-21 14:04:47 +0000 |
commit | 882be279b64b291045701895d947f256309f5743 (patch) | |
tree | 50a2c162c09ba798f20d7e8f3feeddf6b7087d73 /share/www/script/test/users_db.js | |
parent | a281bc40d6545e70e1aae9973e1a8a49aa119fea (diff) |
Merged revision 1037448 from trunk:
Proper verification of the roles property of a user document.
Closes COUCHDB-790. Thanks Gabriel Farrell.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.0.x@1037449 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script/test/users_db.js')
-rw-r--r-- | share/www/script/test/users_db.js | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/share/www/script/test/users_db.js b/share/www/script/test/users_db.js index 667ff3c1..1e13e5d7 100644 --- a/share/www/script/test/users_db.js +++ b/share/www/script/test/users_db.js @@ -90,6 +90,27 @@ couchTests.users_db = function(debug) { T(s.name == null); T(s.roles.indexOf("_admin") !== -1); T(usersDb.deleteDoc(jchrisWithConflict).ok); + + // you can't change doc from type "user" + jchrisUserDoc = usersDb.open(jchrisUserDoc._id); + jchrisUserDoc.type = "not user"; + try { + usersDb.save(jchrisUserDoc); + T(false && "should only allow us to save doc when type == 'user'"); + } catch(e) { + T(e.reason == "doc.type must be user"); + } + jchrisUserDoc.type = "user"; + + // "roles" must be an array + jchrisUserDoc.roles = "not an array"; + try { + usersDb.save(jchrisUserDoc); + T(false && "should only allow us to save doc when roles is an array"); + } catch(e) { + T(e.reason == "doc.roles must be an array"); + } + jchrisUserDoc.roles = []; }; usersDb.deleteDb(); @@ -100,4 +121,4 @@ couchTests.users_db = function(debug) { ); usersDb.deleteDb(); // cleanup -}
\ No newline at end of file +} |