mirror of
https://github.com/Hopiu/webapi-eca.git
synced 2026-05-26 15:44:04 +00:00
Updated DB interface unite tests and functions
This commit is contained in:
parent
8fbe21094b
commit
1a75fe302e
3 changed files with 319 additions and 148 deletions
|
|
@ -534,7 +534,7 @@ exports.deleteRule = ( ruleId ) =>
|
||||||
@db.smembers "rule:#{ ruleId }:users", ( err, obj ) =>
|
@db.smembers "rule:#{ ruleId }:users", ( err, obj ) =>
|
||||||
delLinkedUserRule = ( userId ) =>
|
delLinkedUserRule = ( userId ) =>
|
||||||
@db.srem "user:#{ userId }:rules", ruleId,
|
@db.srem "user:#{ userId }:rules", ruleId,
|
||||||
replyHandler "Deleting rule key '#{ ruleId }'' in linked user '#{ userId }'"
|
replyHandler "Deleting rule key '#{ ruleId }' in linked user '#{ userId }'"
|
||||||
delLinkedUserRule( id ) for id in obj
|
delLinkedUserRule( id ) for id in obj
|
||||||
@db.del "rule:#{ ruleId }:users", replyHandler "Deleting rule '#{ ruleId }' users"
|
@db.del "rule:#{ ruleId }:users", replyHandler "Deleting rule '#{ ruleId }' users"
|
||||||
|
|
||||||
|
|
@ -656,43 +656,26 @@ exports.getAllActivatedRuleIdsPerUser = ( cb ) =>
|
||||||
log.print 'DB', "Fetching all active rules"
|
log.print 'DB', "Fetching all active rules"
|
||||||
@db.smembers 'users', ( err, obj ) =>
|
@db.smembers 'users', ( err, obj ) =>
|
||||||
result = {}
|
result = {}
|
||||||
console.log 'checking length'
|
|
||||||
if obj.length is 0
|
if obj.length is 0
|
||||||
console.log 'length cehcked is 0'
|
|
||||||
cb null, result
|
cb null, result
|
||||||
else
|
else
|
||||||
console.log 'length cehcked'
|
|
||||||
semaphore = obj.length
|
semaphore = obj.length
|
||||||
fFetchActiveUserRules = ( userId ) =>
|
fFetchActiveUserRules = ( userId ) =>
|
||||||
@db.smembers "user:#{ user }:active-rules", ( err, obj ) =>
|
@db.smembers "user:#{ user }:active-rules", ( err, obj ) =>
|
||||||
console.log obj
|
if obj.length > 0
|
||||||
console.log obj.length
|
|
||||||
if obj.length is 0
|
|
||||||
console.log 'is 0'
|
|
||||||
else
|
|
||||||
result[userId] = obj
|
result[userId] = obj
|
||||||
if --semaphore is 0
|
if --semaphore is 0
|
||||||
cb null, result
|
cb null, result
|
||||||
fFetchActiveUserRules(user) for user in obj
|
fFetchActiveUserRules(user) for user in obj
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
Fetch all active rules and pass them to cb(err, obj).
|
|
||||||
|
|
||||||
@public getAllActivatedRules( *cb* )
|
|
||||||
@param {function} cb
|
|
||||||
###
|
###
|
||||||
exports.getAllActivatedRules = ( cb ) =>
|
## Users
|
||||||
log.print 'DB', "Fetching all active rules"
|
###
|
||||||
fCb = ( err, obj ) ->
|
|
||||||
console.log 'fetched something'
|
|
||||||
console.log err
|
|
||||||
console.log obj
|
|
||||||
@db.smembers 'users', ( err, obj ) =>
|
|
||||||
getSetRecords "user:#{ user }:active-rules", exports.getRule, fCb for user in obj
|
|
||||||
|
|
||||||
###
|
###
|
||||||
Store a user object (needs to be a flat structure).
|
Store a user object (needs to be a flat structure).
|
||||||
|
The password should be hashed before it is passed to this function.
|
||||||
|
|
||||||
@public storeUser( *objUser* )
|
@public storeUser( *objUser* )
|
||||||
@param {Object} objUser
|
@param {Object} objUser
|
||||||
|
|
@ -704,12 +687,71 @@ exports.storeUser = ( objUser ) =>
|
||||||
if objUser and objUser.username and objUser.password
|
if objUser and objUser.username and objUser.password
|
||||||
@db.sadd 'users', objUser.username,
|
@db.sadd 'users', objUser.username,
|
||||||
replyHandler "storing user key '#{ objUser.username }'"
|
replyHandler "storing user key '#{ objUser.username }'"
|
||||||
objUser.password = hash objUser.password
|
objUser.password = objUser.password
|
||||||
@db.hmset "user:#{ objUser.username }", objUser,
|
@db.hmset "user:#{ objUser.username }", objUser,
|
||||||
replyHandler "storing user properties '#{ objUser.username }'"
|
replyHandler "storing user properties '#{ objUser.username }'"
|
||||||
else
|
else
|
||||||
log.error 'DB', new Error 'username or password was missing'
|
log.error 'DB', new Error 'username or password was missing'
|
||||||
|
|
||||||
|
###
|
||||||
|
Fetch all user IDs and pass them to cb(err, obj).
|
||||||
|
|
||||||
|
@public getUserIds( *cb* )
|
||||||
|
@param {function} cb
|
||||||
|
###
|
||||||
|
exports.getUserIds = ( cb ) =>
|
||||||
|
log.print 'DB', "getUserIds"
|
||||||
|
@db.smembers "users", cb
|
||||||
|
|
||||||
|
###
|
||||||
|
Fetch a user by id and pass it to cb(err, obj).
|
||||||
|
|
||||||
|
@public getUser( *userId, cb* )
|
||||||
|
@param {String} userId
|
||||||
|
@param {function} cb
|
||||||
|
###
|
||||||
|
exports.getUser = ( userId, cb ) =>
|
||||||
|
log.print 'DB', "getUser: '#{ userId }'"
|
||||||
|
@db.hgetall "user:#{ userId }", cb
|
||||||
|
|
||||||
|
###
|
||||||
|
Deletes a user and all his associated linked and active rules.
|
||||||
|
|
||||||
|
@public deleteUser( *userId* )
|
||||||
|
@param {String} userId
|
||||||
|
###
|
||||||
|
exports.deleteUser = ( userId ) =>
|
||||||
|
log.print 'DB', "deleteUser: '#{ userId }'"
|
||||||
|
@db.srem "users", userId, replyHandler "Deleting user key '#{ userId }'"
|
||||||
|
@db.del "user:#{ userId }", replyHandler "Deleting user '#{ userId }'"
|
||||||
|
|
||||||
|
# We also need to delete all linked rules
|
||||||
|
@db.smembers "user:#{ userId }:rules", ( err, obj ) =>
|
||||||
|
delLinkedRuleUser = ( ruleId ) =>
|
||||||
|
@db.srem "rule:#{ ruleId }:users", userId,
|
||||||
|
replyHandler "Deleting user key '#{ userId }' in linked rule '#{ ruleId }'"
|
||||||
|
delLinkedRuleUser( id ) for id in obj
|
||||||
|
@db.del "user:#{ userId }:rules",
|
||||||
|
replyHandler "Deleting user '#{ userId }' rules"
|
||||||
|
|
||||||
|
# We also need to delete all active rules
|
||||||
|
@db.smembers "user:#{ userId }:active-rules", ( err, obj ) =>
|
||||||
|
delActivatedRuleUser = ( ruleId ) =>
|
||||||
|
@db.srem "rule:#{ ruleId }:active-users", userId,
|
||||||
|
replyHandler "Deleting user key '#{ userId }' in active rule '#{ ruleId }'"
|
||||||
|
delActivatedRuleUser( id ) for id in obj
|
||||||
|
@db.del "user:#{ userId }:active-rules",
|
||||||
|
replyHandler "Deleting user '#{ userId }' rules"
|
||||||
|
|
||||||
|
# We also need to delete all associated roles
|
||||||
|
@db.smembers "user:#{ userId }:roles", ( err, obj ) =>
|
||||||
|
delActivatedRoleUser = ( roleId ) =>
|
||||||
|
@db.srem "role:#{ roleId }:users", userId,
|
||||||
|
replyHandler "Deleting user key '#{ userId }' in role '#{ roleId }'"
|
||||||
|
delActivatedRoleUser( id ) for id in obj
|
||||||
|
@db.del "user:#{ userId }:roles",
|
||||||
|
replyHandler "Deleting user '#{ userId }' roles"
|
||||||
|
|
||||||
###
|
###
|
||||||
Associate a role with a user.
|
Associate a role with a user.
|
||||||
|
|
||||||
|
|
@ -773,35 +815,6 @@ exports.loginUser = ( userId, password, cb ) =>
|
||||||
cb new Error 'User not found!'
|
cb new Error 'User not found!'
|
||||||
@db.hgetall "user:#{ userId }", fCheck password
|
@db.hgetall "user:#{ userId }", fCheck password
|
||||||
|
|
||||||
###
|
|
||||||
Deletes a user and all his associated linked and active rules.
|
|
||||||
|
|
||||||
@public deleteUser( *userId* )
|
|
||||||
@param {String} userId
|
|
||||||
###
|
|
||||||
exports.deleteUser = ( userId ) =>
|
|
||||||
log.print 'DB', "deleteUser: '#{ userId }'"
|
|
||||||
@db.srem "users", userId, replyHandler "Deleting user key '#{ userId }'"
|
|
||||||
@db.del "user:#{ userId }", replyHandler "Deleting user '#{ userId }'"
|
|
||||||
|
|
||||||
# We also need to delete all linked rules
|
|
||||||
@db.smembers "user:#{ userId }:rules", ( err, obj ) =>
|
|
||||||
delLinkedRuleUser = ( ruleId ) =>
|
|
||||||
@db.srem "rule:#{ ruleId }:users", userId,
|
|
||||||
replyHandler "Deleting user key '#{ userId }' in linked rule '#{ ruleId }'"
|
|
||||||
delLinkedRuleUser( id ) for id in obj
|
|
||||||
@db.del "user:#{ userId }:rules",
|
|
||||||
replyHandler "Deleting user '#{ userId }' rules"
|
|
||||||
|
|
||||||
# We also need to delete all active rules
|
|
||||||
@db.smembers "user:#{ userId }:rules", ( err, obj ) =>
|
|
||||||
delActivatedRuleUser = ( ruleId ) =>
|
|
||||||
@db.srem "rule:#{ ruleId }:active-users", userId,
|
|
||||||
replyHandler "Deleting user key '#{ userId }' in active rule '#{ ruleId }'"
|
|
||||||
delActivatedRuleUser( id ) for id in obj
|
|
||||||
@db.del "user:#{ userId }:active-rules", replyHandler "Deleting user '#{ userId }' rules"
|
|
||||||
|
|
||||||
|
|
||||||
#TODO implement functions required for user sessions?
|
#TODO implement functions required for user sessions?
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
|
||||||
|
|
@ -676,7 +676,7 @@ DB Interface
|
||||||
_this.db.smembers("rule:" + ruleId + ":users", function(err, obj) {
|
_this.db.smembers("rule:" + ruleId + ":users", function(err, obj) {
|
||||||
var delLinkedUserRule, id, _i, _len, _results;
|
var delLinkedUserRule, id, _i, _len, _results;
|
||||||
delLinkedUserRule = function(userId) {
|
delLinkedUserRule = function(userId) {
|
||||||
return _this.db.srem("user:" + userId + ":rules", ruleId, replyHandler("Deleting rule key '" + ruleId + "'' in linked user '" + userId + "'"));
|
return _this.db.srem("user:" + userId + ":rules", ruleId, replyHandler("Deleting rule key '" + ruleId + "' in linked user '" + userId + "'"));
|
||||||
};
|
};
|
||||||
_results = [];
|
_results = [];
|
||||||
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
||||||
|
|
@ -830,20 +830,13 @@ DB Interface
|
||||||
return _this.db.smembers('users', function(err, obj) {
|
return _this.db.smembers('users', function(err, obj) {
|
||||||
var fFetchActiveUserRules, result, semaphore, user, _i, _len, _results;
|
var fFetchActiveUserRules, result, semaphore, user, _i, _len, _results;
|
||||||
result = {};
|
result = {};
|
||||||
console.log('checking length');
|
|
||||||
if (obj.length === 0) {
|
if (obj.length === 0) {
|
||||||
console.log('length cehcked is 0');
|
|
||||||
return cb(null, result);
|
return cb(null, result);
|
||||||
} else {
|
} else {
|
||||||
console.log('length cehcked');
|
|
||||||
semaphore = obj.length;
|
semaphore = obj.length;
|
||||||
fFetchActiveUserRules = function(userId) {
|
fFetchActiveUserRules = function(userId) {
|
||||||
return _this.db.smembers("user:" + user + ":active-rules", function(err, obj) {
|
return _this.db.smembers("user:" + user + ":active-rules", function(err, obj) {
|
||||||
console.log(obj);
|
if (obj.length > 0) {
|
||||||
console.log(obj.length);
|
|
||||||
if (obj.length === 0) {
|
|
||||||
console.log('is 0');
|
|
||||||
} else {
|
|
||||||
result[userId] = obj;
|
result[userId] = obj;
|
||||||
}
|
}
|
||||||
if (--semaphore === 0) {
|
if (--semaphore === 0) {
|
||||||
|
|
@ -862,34 +855,13 @@ DB Interface
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Fetch all active rules and pass them to cb(err, obj).
|
## Users
|
||||||
|
|
||||||
@public getAllActivatedRules( *cb* )
|
|
||||||
@param {function} cb
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
exports.getAllActivatedRules = function(cb) {
|
|
||||||
var fCb;
|
|
||||||
log.print('DB', "Fetching all active rules");
|
|
||||||
fCb = function(err, obj) {
|
|
||||||
console.log('fetched something');
|
|
||||||
console.log(err);
|
|
||||||
return console.log(obj);
|
|
||||||
};
|
|
||||||
return _this.db.smembers('users', function(err, obj) {
|
|
||||||
var user, _i, _len, _results;
|
|
||||||
_results = [];
|
|
||||||
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
|
||||||
user = obj[_i];
|
|
||||||
_results.push(getSetRecords("user:" + user + ":active-rules", exports.getRule, fCb));
|
|
||||||
}
|
|
||||||
return _results;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Store a user object (needs to be a flat structure).
|
Store a user object (needs to be a flat structure).
|
||||||
|
The password should be hashed before it is passed to this function.
|
||||||
|
|
||||||
@public storeUser( *objUser* )
|
@public storeUser( *objUser* )
|
||||||
@param {Object} objUser
|
@param {Object} objUser
|
||||||
|
|
@ -900,13 +872,93 @@ DB Interface
|
||||||
log.print('DB', "storeUser: '" + objUser.username + "'");
|
log.print('DB', "storeUser: '" + objUser.username + "'");
|
||||||
if (objUser && objUser.username && objUser.password) {
|
if (objUser && objUser.username && objUser.password) {
|
||||||
_this.db.sadd('users', objUser.username, replyHandler("storing user key '" + objUser.username + "'"));
|
_this.db.sadd('users', objUser.username, replyHandler("storing user key '" + objUser.username + "'"));
|
||||||
objUser.password = hash(objUser.password);
|
objUser.password = objUser.password;
|
||||||
return _this.db.hmset("user:" + objUser.username, objUser, replyHandler("storing user properties '" + objUser.username + "'"));
|
return _this.db.hmset("user:" + objUser.username, objUser, replyHandler("storing user properties '" + objUser.username + "'"));
|
||||||
} else {
|
} else {
|
||||||
return log.error('DB', new Error('username or password was missing'));
|
return log.error('DB', new Error('username or password was missing'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Fetch all user IDs and pass them to cb(err, obj).
|
||||||
|
|
||||||
|
@public getUserIds( *cb* )
|
||||||
|
@param {function} cb
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
exports.getUserIds = function(cb) {
|
||||||
|
log.print('DB', "getUserIds");
|
||||||
|
return _this.db.smembers("users", cb);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Fetch a user by id and pass it to cb(err, obj).
|
||||||
|
|
||||||
|
@public getUser( *userId, cb* )
|
||||||
|
@param {String} userId
|
||||||
|
@param {function} cb
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
exports.getUser = function(userId, cb) {
|
||||||
|
log.print('DB', "getUser: '" + userId + "'");
|
||||||
|
return _this.db.hgetall("user:" + userId, cb);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Deletes a user and all his associated linked and active rules.
|
||||||
|
|
||||||
|
@public deleteUser( *userId* )
|
||||||
|
@param {String} userId
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
exports.deleteUser = function(userId) {
|
||||||
|
log.print('DB', "deleteUser: '" + userId + "'");
|
||||||
|
_this.db.srem("users", userId, replyHandler("Deleting user key '" + userId + "'"));
|
||||||
|
_this.db.del("user:" + userId, replyHandler("Deleting user '" + userId + "'"));
|
||||||
|
_this.db.smembers("user:" + userId + ":rules", function(err, obj) {
|
||||||
|
var delLinkedRuleUser, id, _i, _len, _results;
|
||||||
|
delLinkedRuleUser = function(ruleId) {
|
||||||
|
return _this.db.srem("rule:" + ruleId + ":users", userId, replyHandler("Deleting user key '" + userId + "' in linked rule '" + ruleId + "'"));
|
||||||
|
};
|
||||||
|
_results = [];
|
||||||
|
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
||||||
|
id = obj[_i];
|
||||||
|
_results.push(delLinkedRuleUser(id));
|
||||||
|
}
|
||||||
|
return _results;
|
||||||
|
});
|
||||||
|
_this.db.del("user:" + userId + ":rules", replyHandler("Deleting user '" + userId + "' rules"));
|
||||||
|
_this.db.smembers("user:" + userId + ":active-rules", function(err, obj) {
|
||||||
|
var delActivatedRuleUser, id, _i, _len, _results;
|
||||||
|
delActivatedRuleUser = function(ruleId) {
|
||||||
|
return _this.db.srem("rule:" + ruleId + ":active-users", userId, replyHandler("Deleting user key '" + userId + "' in active rule '" + ruleId + "'"));
|
||||||
|
};
|
||||||
|
_results = [];
|
||||||
|
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
||||||
|
id = obj[_i];
|
||||||
|
_results.push(delActivatedRuleUser(id));
|
||||||
|
}
|
||||||
|
return _results;
|
||||||
|
});
|
||||||
|
_this.db.del("user:" + userId + ":active-rules", replyHandler("Deleting user '" + userId + "' rules"));
|
||||||
|
_this.db.smembers("user:" + userId + ":roles", function(err, obj) {
|
||||||
|
var delActivatedRoleUser, id, _i, _len, _results;
|
||||||
|
delActivatedRoleUser = function(roleId) {
|
||||||
|
return _this.db.srem("role:" + roleId + ":users", userId, replyHandler("Deleting user key '" + userId + "' in role '" + roleId + "'"));
|
||||||
|
};
|
||||||
|
_results = [];
|
||||||
|
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
||||||
|
id = obj[_i];
|
||||||
|
_results.push(delActivatedRoleUser(id));
|
||||||
|
}
|
||||||
|
return _results;
|
||||||
|
});
|
||||||
|
return _this.db.del("user:" + userId + ":roles", replyHandler("Deleting user '" + userId + "' roles"));
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Associate a role with a user.
|
Associate a role with a user.
|
||||||
|
|
||||||
|
|
@ -984,46 +1036,6 @@ DB Interface
|
||||||
return _this.db.hgetall("user:" + userId, fCheck(password));
|
return _this.db.hgetall("user:" + userId, fCheck(password));
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
Deletes a user and all his associated linked and active rules.
|
|
||||||
|
|
||||||
@public deleteUser( *userId* )
|
|
||||||
@param {String} userId
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
exports.deleteUser = function(userId) {
|
|
||||||
log.print('DB', "deleteUser: '" + userId + "'");
|
|
||||||
_this.db.srem("users", userId, replyHandler("Deleting user key '" + userId + "'"));
|
|
||||||
_this.db.del("user:" + userId, replyHandler("Deleting user '" + userId + "'"));
|
|
||||||
_this.db.smembers("user:" + userId + ":rules", function(err, obj) {
|
|
||||||
var delLinkedRuleUser, id, _i, _len, _results;
|
|
||||||
delLinkedRuleUser = function(ruleId) {
|
|
||||||
return _this.db.srem("rule:" + ruleId + ":users", userId, replyHandler("Deleting user key '" + userId + "' in linked rule '" + ruleId + "'"));
|
|
||||||
};
|
|
||||||
_results = [];
|
|
||||||
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
|
||||||
id = obj[_i];
|
|
||||||
_results.push(delLinkedRuleUser(id));
|
|
||||||
}
|
|
||||||
return _results;
|
|
||||||
});
|
|
||||||
_this.db.del("user:" + userId + ":rules", replyHandler("Deleting user '" + userId + "' rules"));
|
|
||||||
_this.db.smembers("user:" + userId + ":rules", function(err, obj) {
|
|
||||||
var delActivatedRuleUser, id, _i, _len, _results;
|
|
||||||
delActivatedRuleUser = function(ruleId) {
|
|
||||||
return _this.db.srem("rule:" + ruleId + ":active-users", userId, replyHandler("Deleting user key '" + userId + "' in active rule '" + ruleId + "'"));
|
|
||||||
};
|
|
||||||
_results = [];
|
|
||||||
for (_i = 0, _len = obj.length; _i < _len; _i++) {
|
|
||||||
id = obj[_i];
|
|
||||||
_results.push(delActivatedRuleUser(id));
|
|
||||||
}
|
|
||||||
return _results;
|
|
||||||
});
|
|
||||||
return _this.db.del("user:" + userId + ":active-rules", replyHandler("Deleting user '" + userId + "' rules"));
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Shuts down the db link.
|
Shuts down the db link.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,16 @@ exports.setUp = ( cb ) =>
|
||||||
@db = require '../js-coffee/db_interface'
|
@db = require '../js-coffee/db_interface'
|
||||||
@db logType: 2
|
@db logType: 2
|
||||||
cb()
|
cb()
|
||||||
|
|
||||||
|
exports.tearDown = ( cb ) =>
|
||||||
|
@db.shutDown()
|
||||||
|
cb()
|
||||||
|
|
||||||
exports.availability =
|
|
||||||
|
###
|
||||||
|
# Test AVAILABILITY
|
||||||
|
###
|
||||||
|
exports.Availability =
|
||||||
testRequire: ( test ) =>
|
testRequire: ( test ) =>
|
||||||
test.expect 1
|
test.expect 1
|
||||||
|
|
||||||
|
|
@ -48,7 +56,11 @@ exports.availability =
|
||||||
test.strictEqual obj, null, 'There was an event in the queue!?'
|
test.strictEqual obj, null, 'There was an event in the queue!?'
|
||||||
test.done()
|
test.done()
|
||||||
|
|
||||||
exports.events =
|
|
||||||
|
###
|
||||||
|
# Test EVENT QUEUE
|
||||||
|
###
|
||||||
|
exports.EventQueue =
|
||||||
setUp: ( cb ) =>
|
setUp: ( cb ) =>
|
||||||
@evt1 =
|
@evt1 =
|
||||||
eventid: '1'
|
eventid: '1'
|
||||||
|
|
@ -120,7 +132,11 @@ exports.events =
|
||||||
'Wrong event in queue!'
|
'Wrong event in queue!'
|
||||||
forkEnds()
|
forkEnds()
|
||||||
|
|
||||||
exports.action_invoker =
|
|
||||||
|
###
|
||||||
|
# Test ACTION INVOKER
|
||||||
|
###
|
||||||
|
exports.ActionInvoker =
|
||||||
testCreateAndRead: ( test ) =>
|
testCreateAndRead: ( test ) =>
|
||||||
test.expect 3
|
test.expect 3
|
||||||
|
|
||||||
|
|
@ -220,7 +236,10 @@ exports.action_invoker =
|
||||||
@db.getActionInvoker action2name, fCheckInvoker action2name, action2
|
@db.getActionInvoker action2name, fCheckInvoker action2name, action2
|
||||||
|
|
||||||
|
|
||||||
exports.action_invoker_params =
|
###
|
||||||
|
# Test ACTION INVOKER PARAMS
|
||||||
|
###
|
||||||
|
exports.ActionInvokerParams =
|
||||||
testCreateAndRead: ( test ) =>
|
testCreateAndRead: ( test ) =>
|
||||||
test.expect 2
|
test.expect 2
|
||||||
|
|
||||||
|
|
@ -284,7 +303,10 @@ exports.action_invoker_params =
|
||||||
test.done()
|
test.done()
|
||||||
|
|
||||||
|
|
||||||
exports.event_poller =
|
###
|
||||||
|
# Test EVENT POLLER
|
||||||
|
###
|
||||||
|
exports.EventPoller =
|
||||||
testCreateAndRead: ( test ) =>
|
testCreateAndRead: ( test ) =>
|
||||||
test.expect 3
|
test.expect 3
|
||||||
|
|
||||||
|
|
@ -384,7 +406,10 @@ exports.event_poller =
|
||||||
@db.getEventPoller event2name, fCheckPoller event2name, event2
|
@db.getEventPoller event2name, fCheckPoller event2name, event2
|
||||||
|
|
||||||
|
|
||||||
exports.event_poller_params =
|
###
|
||||||
|
# Test EVENT POLLER PARAMS
|
||||||
|
###
|
||||||
|
exports.EventPollerParams =
|
||||||
testCreateAndRead: ( test ) =>
|
testCreateAndRead: ( test ) =>
|
||||||
test.expect 2
|
test.expect 2
|
||||||
|
|
||||||
|
|
@ -448,9 +473,12 @@ exports.event_poller_params =
|
||||||
test.done()
|
test.done()
|
||||||
|
|
||||||
|
|
||||||
exports.rules =
|
###
|
||||||
|
# Test RULES
|
||||||
|
###
|
||||||
|
exports.Rules =
|
||||||
setUp: ( cb ) =>
|
setUp: ( cb ) =>
|
||||||
@db logType: 1
|
# @db logType: 1
|
||||||
@userId = 'tester-1'
|
@userId = 'tester-1'
|
||||||
@ruleId = 'test-rule_1'
|
@ruleId = 'test-rule_1'
|
||||||
@rule =
|
@rule =
|
||||||
|
|
@ -562,7 +590,7 @@ exports.rules =
|
||||||
test.done()
|
test.done()
|
||||||
|
|
||||||
testActivate: ( test ) =>
|
testActivate: ( test ) =>
|
||||||
test.expect 3
|
test.expect 4
|
||||||
|
|
||||||
usr =
|
usr =
|
||||||
username: "tester-1"
|
username: "tester-1"
|
||||||
|
|
@ -583,10 +611,14 @@ exports.rules =
|
||||||
|
|
||||||
# Ensure the rule is showing up in all active rules
|
# Ensure the rule is showing up in all active rules
|
||||||
@db.getAllActivatedRuleIdsPerUser ( err, obj ) =>
|
@db.getAllActivatedRuleIdsPerUser ( err, obj ) =>
|
||||||
test.ok obj[@userId],
|
test.notStrictEqual obj[@userId], undefined,
|
||||||
"User not found in activated set"
|
"User #{ @userId } not in activated rules set"
|
||||||
test.ok @ruleId in obj[@userId],
|
if obj[@userId]
|
||||||
"Rule #{ @ruleId } not in activated rules set"
|
test.ok @ruleId in obj[@userId],
|
||||||
|
"Rule #{ @ruleId } not in activated rules set"
|
||||||
|
else
|
||||||
|
test.ok true,
|
||||||
|
"Dummy so we meet the expected num of tests"
|
||||||
test.done()
|
test.done()
|
||||||
|
|
||||||
testDeactivate: ( test ) =>
|
testDeactivate: ( test ) =>
|
||||||
|
|
@ -608,8 +640,12 @@ exports.rules =
|
||||||
|
|
||||||
# Ensure the rule is showing up in all active rules
|
# Ensure the rule is showing up in all active rules
|
||||||
@db.getAllActivatedRuleIdsPerUser ( err, obj ) =>
|
@db.getAllActivatedRuleIdsPerUser ( err, obj ) =>
|
||||||
test.ok @ruleId not in obj[@userId],
|
if obj[@userId]
|
||||||
"Rule #{ @ruleId } still in activated rules set"
|
test.ok @ruleId not in obj[@userId],
|
||||||
|
"Rule #{ @ruleId } still in activated rules set"
|
||||||
|
else
|
||||||
|
test.ok true,
|
||||||
|
"We are fine since there are no entries for this user anymore"
|
||||||
test.done()
|
test.done()
|
||||||
|
|
||||||
testUnlinkAndDeactivateAfterDeletion: ( test ) =>
|
testUnlinkAndDeactivateAfterDeletion: ( test ) =>
|
||||||
|
|
@ -641,13 +677,123 @@ exports.rules =
|
||||||
setTimeout fWaitForDeletion, 100
|
setTimeout fWaitForDeletion, 100
|
||||||
|
|
||||||
|
|
||||||
# exports.users =
|
###
|
||||||
# test: ( test ) =>
|
# Test USER
|
||||||
# test.expect 0
|
###
|
||||||
# test.done()
|
exports.User =
|
||||||
# TODO on delete, remove all rules for the user if he's deleted
|
setUp: ( cb ) =>
|
||||||
|
@db logType: 1
|
||||||
|
@oUser =
|
||||||
|
username: "tester-1"
|
||||||
|
password: "password"
|
||||||
|
cb()
|
||||||
|
tearDown: ( cb ) =>
|
||||||
|
@db.deleteUser @oUser.username
|
||||||
|
cb()
|
||||||
|
|
||||||
|
testCreateInvalid: ( test ) =>
|
||||||
|
test.expect 4
|
||||||
|
|
||||||
|
oUserInvOne =
|
||||||
|
username: "tester-1-invalid"
|
||||||
|
oUserInvTwo =
|
||||||
|
password: "password"
|
||||||
|
|
||||||
|
# try to store invalid users, ensure they weren't
|
||||||
|
@db.storeUser oUserInvOne
|
||||||
|
@db.storeUser oUserInvTwo
|
||||||
|
|
||||||
|
@db.getUser oUserInvOne.username, ( err, obj ) =>
|
||||||
|
test.strictEqual obj, null,
|
||||||
|
'User One was stored!?'
|
||||||
|
|
||||||
|
@db.getUser oUserInvTwo.username, ( err, obj ) =>
|
||||||
|
test.strictEqual obj, null,
|
||||||
|
'User Two was stored!?'
|
||||||
|
|
||||||
|
@db.getUserIds ( err, obj ) =>
|
||||||
|
test.ok oUserInvOne.username not in obj,
|
||||||
|
'User key was stored!?'
|
||||||
|
test.ok oUserInvTwo.username not in obj,
|
||||||
|
'User key was stored!?'
|
||||||
|
test.done()
|
||||||
|
|
||||||
|
testDelete: ( test ) =>
|
||||||
|
test.expect 2
|
||||||
|
|
||||||
|
# Store the user
|
||||||
|
@db.storeUser @oUser
|
||||||
|
|
||||||
|
@db.getUser @oUser.username, ( err, obj ) =>
|
||||||
|
test.deepEqual obj, @oUser,
|
||||||
|
"User #{ @oUser.username } is not what we expect!"
|
||||||
|
|
||||||
|
@db.getUserIds ( err, obj ) =>
|
||||||
|
test.ok @oUser.username in obj,
|
||||||
|
'User key was not stored!?'
|
||||||
|
test.done()
|
||||||
|
|
||||||
|
testUpdate: ( test ) =>
|
||||||
|
test.expect 2
|
||||||
|
|
||||||
|
oUserOne =
|
||||||
|
username: "tester-1-update"
|
||||||
|
password: "password"
|
||||||
|
|
||||||
|
# Store the user
|
||||||
|
@db.storeUser oUserOne
|
||||||
|
oUserOne.password = "password-update"
|
||||||
|
@db.storeUser oUserOne
|
||||||
|
|
||||||
|
@db.getUser oUserOne.username, ( err, obj ) =>
|
||||||
|
test.deepEqual obj, oUserOne,
|
||||||
|
"User #{ @oUser.username } is not what we expect!"
|
||||||
|
|
||||||
|
@db.getUserIds ( err, obj ) =>
|
||||||
|
test.ok oUserOne.username in obj,
|
||||||
|
'User key was not stored!?'
|
||||||
|
@db.deleteUser oUserOne.username
|
||||||
|
test.done()
|
||||||
|
|
||||||
|
testDelete: ( test ) =>
|
||||||
|
test.expect 2
|
||||||
|
|
||||||
|
# Wait until the user and his rules and roles are stored
|
||||||
|
fWaitForPersistence = () =>
|
||||||
|
@db.deleteUser @oUser.username
|
||||||
|
setTimeout fWaitForDeletion, 200
|
||||||
|
|
||||||
|
# Wait until the user and his rules and roles are deleted
|
||||||
|
fWaitForDeletion = () =>
|
||||||
|
@db.getUserIds ( err, obj ) =>
|
||||||
|
test.ok @oUser.username not in obj,
|
||||||
|
'User key still in set!'
|
||||||
|
|
||||||
|
@db.getUser @oUser.username, ( err, obj ) =>
|
||||||
|
test.strictEqual obj, null,
|
||||||
|
'User key still exists!'
|
||||||
|
test.done()
|
||||||
|
|
||||||
|
# Store the user and make some links
|
||||||
|
@db.storeUser @oUser
|
||||||
|
@db.linkRule 'rule-1', @oUser.username
|
||||||
|
@db.linkRule 'rule-2', @oUser.username
|
||||||
|
@db.linkRule 'rule-3', @oUser.username
|
||||||
|
@db.activateRule 'rule-1', @oUser.username
|
||||||
|
@db.storeUserRole @oUser.username, 'tester'
|
||||||
|
setTimeout fWaitForPersistence, 100
|
||||||
|
|
||||||
|
|
||||||
exports.tearDown = ( cb ) =>
|
###
|
||||||
@db.shutDown()
|
# Test ROLES
|
||||||
cb()
|
###
|
||||||
|
# exports.Roles =
|
||||||
|
# setUp: ( cb ) =>
|
||||||
|
# @db logType: 1
|
||||||
|
# @oUser =
|
||||||
|
# username: "tester-1"
|
||||||
|
# password: "password"
|
||||||
|
# cb()
|
||||||
|
# tearDown: ( cb ) =>
|
||||||
|
# @db.deleteUser @oUser.username
|
||||||
|
# cb()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue