webapi-eca/testing/test_engine.coffee
2014-04-03 17:41:51 +02:00

84 lines
No EOL
2.3 KiB
CoffeeScript

fs = require 'fs'
path = require 'path'
try
data = fs.readFileSync path.resolve( 'testing', 'files', 'testObjects.json' ), 'utf8'
try
objects = JSON.parse data
catch err
console.log 'Error parsing standard objects file: ' + err.message
catch err
console.log 'Error fetching standard objects file: ' + err.message
logger = require path.join '..', 'js-coffee', 'logging'
log = logger.getLogger()
# nolog: true
opts =
logger: log
engine = require path.join '..', 'js-coffee', 'engine'
engine opts
db = require path.join '..', 'js-coffee', 'persistence'
db opts
oUser = objects.users.userOne
oRuleOne = objects.rules.ruleOne
oRuleTwo = objects.rules.ruleTwo
oRuleReal = objects.rules.ruleReal
oEpOne = objects.eps.epOne
oEpTwo = objects.eps.epTwo
oAiOne = objects.ais.aiOne
exports.tearDown = ( cb ) ->
db.deleteRule oRuleOne.id
db.deleteRule oRuleTwo.id
db.deleteRule oRuleReal.id
db.actionInvokers.deleteModule oAiOne.id
db.deleteUser oUser.username
setTimeout cb, 100
exports.ruleEvents =
# init: first registration, multiple registration
# actions loaded and added correctly
# new: new actions added
# old actions removed
# delete: all actions removed if not required anymore
testInit: ( test ) ->
db.storeUser oUser
test.done()
strRuleOne = JSON.stringify oRuleOne
strRuleTwo = JSON.stringify oRuleTwo
strRuleReal = JSON.stringify oRuleReal
db.actionInvokers.storeModule oUser.username, oAiOne
db.storeRule oRuleOne.id, strRuleOne
db.linkRule oRuleOne.id, oUser.username
db.activateRule oRuleOne.id, oUser.username
db.storeRule oRuleTwo.id, strRuleTwo
db.linkRule oRuleTwo.id, oUser.username
db.activateRule oRuleTwo.id, oUser.username
db.storeRule oRuleReal.id, strRuleReal
db.linkRule oRuleReal.id, oUser.username
db.activateRule oRuleReal.id, oUser.username
db.getAllActivatedRuleIdsPerUser ( err, obj ) =>
@existingRules = obj
console.log 'existing'
console.log obj
engine.internalEvent
event: 'init'
user: oUser.username
rule: oRuleReal
fCheckRules = () ->
db.getAllActivatedRuleIdsPerUser ( err, obj ) =>
console.log 'after init'
console.log obj
console.log @existingRules is obj
setTimeout fCheckRules, 500