2014-04-03 15:41:51 +00:00
|
|
|
fs = require 'fs'
|
|
|
|
|
path = require 'path'
|
2014-04-04 17:53:42 +00:00
|
|
|
cryptico = require 'my-cryptico'
|
|
|
|
|
|
|
|
|
|
passPhrase = 'UNIT TESTING PASSWORD'
|
|
|
|
|
numBits = 1024
|
|
|
|
|
oPrivateRSAkey = cryptico.generateRSAKey passPhrase, numBits
|
|
|
|
|
strPublicKey = cryptico.publicKeyString oPrivateRSAkey
|
2014-04-03 15:41:51 +00:00
|
|
|
|
|
|
|
|
try
|
2014-04-16 15:42:56 +00:00
|
|
|
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
|
2014-04-03 15:41:51 +00:00
|
|
|
catch err
|
2014-04-16 15:42:56 +00:00
|
|
|
console.log 'Error fetching standard objects file: ' + err.message
|
2014-04-03 15:41:51 +00:00
|
|
|
|
2014-04-05 01:09:40 +00:00
|
|
|
logger = require path.join '..', 'js', 'logging'
|
2014-04-03 15:41:51 +00:00
|
|
|
log = logger.getLogger
|
2014-04-16 15:42:56 +00:00
|
|
|
nolog: true
|
2014-04-03 15:41:51 +00:00
|
|
|
opts =
|
2014-04-16 15:42:56 +00:00
|
|
|
logger: log
|
|
|
|
|
keygen: passPhrase
|
2014-04-04 17:53:42 +00:00
|
|
|
|
2014-04-05 01:09:40 +00:00
|
|
|
db = require path.join '..', 'js', 'persistence'
|
2014-04-04 17:53:42 +00:00
|
|
|
db opts
|
|
|
|
|
|
2014-04-05 01:09:40 +00:00
|
|
|
engine = require path.join '..', 'js', 'engine'
|
2014-04-04 17:53:42 +00:00
|
|
|
engine opts
|
2014-04-03 15:41:51 +00:00
|
|
|
|
2014-04-05 01:09:40 +00:00
|
|
|
dm = require path.join '..', 'js', 'dynamic-modules'
|
2014-04-03 15:41:51 +00:00
|
|
|
dm opts
|
|
|
|
|
|
2014-04-04 17:53:42 +00:00
|
|
|
oUser = objects.users.userOne
|
2014-04-16 15:42:56 +00:00
|
|
|
oRule = objects.rules.ruleThree
|
2014-04-04 17:53:42 +00:00
|
|
|
oAi = objects.ais.aiThree
|
|
|
|
|
|
2014-04-16 21:38:41 +00:00
|
|
|
exports.setUp = ( cb ) ->
|
|
|
|
|
engine.startEngine()
|
|
|
|
|
cb()
|
|
|
|
|
|
2014-04-04 17:53:42 +00:00
|
|
|
exports.tearDown = ( cb ) ->
|
2014-04-16 15:42:56 +00:00
|
|
|
db.deleteRule oRule.id
|
2014-04-21 22:06:22 +00:00
|
|
|
db.actionInvokers.deleteModule oUser.username, oAi.id
|
2014-04-16 21:38:41 +00:00
|
|
|
engine.shutDown()
|
2014-04-16 15:42:56 +00:00
|
|
|
setTimeout cb, 200
|
2014-04-04 17:53:42 +00:00
|
|
|
|
2014-04-03 15:41:51 +00:00
|
|
|
exports.testCompile = ( test ) ->
|
2014-04-16 15:42:56 +00:00
|
|
|
test.expect 5
|
|
|
|
|
|
|
|
|
|
paramOne = 'First Test'
|
|
|
|
|
code = "exports.testFunc = () ->\n\t'#{ paramOne }'"
|
2014-04-22 21:42:31 +00:00
|
|
|
dm.compileString code, 'userOne', 'ruleOne', 'moduleOne', 'CoffeeScript', 'eventpoller', null, ( result ) ->
|
2014-04-16 15:42:56 +00:00
|
|
|
test.strictEqual 200, result.answ.code
|
|
|
|
|
moduleOne = result.module
|
|
|
|
|
test.strictEqual paramOne, moduleOne.testFunc(), "Other result expected"
|
|
|
|
|
|
|
|
|
|
paramTwo = 'Second Test'
|
|
|
|
|
code = "exports.testFunc = () ->\n\t'#{ paramTwo }'"
|
2014-04-22 21:42:31 +00:00
|
|
|
dm.compileString code, 'userOne', 'ruleOne', 'moduleOne', 'CoffeeScript', 'eventpoller', null, ( result ) ->
|
2014-04-16 15:42:56 +00:00
|
|
|
test.strictEqual 200, result.answ.code
|
|
|
|
|
moduleTwo = result.module
|
|
|
|
|
test.strictEqual paramTwo, moduleTwo.testFunc(), "Other result expected"
|
|
|
|
|
test.notStrictEqual paramOne, moduleTwo.testFunc(), "Other result expected"
|
|
|
|
|
setTimeout test.done, 200
|