UNPKG

domotz-remote-pawn

Version:

Domotz Agent

89 lines (70 loc) 1.93 kB
var should = require('should'); var jayson = require('./../../'); var fs = require('fs'); exports.Counter = require('./counter'); exports.server = {}; exports.server.keys = { ca: [fs.readFileSync(__dirname + '/../fixtures/keys/ca1-cert.pem')], key: fs.readFileSync(__dirname + '/../fixtures/keys/agent1-key.pem'), cert: fs.readFileSync(__dirname + '/../fixtures/keys/agent1-cert.pem') }; /* * Methods for the common test server */ exports.server.methods = { error: function(callback) { callback(this.error(-1000, 'An error message')); }, incrementCounterBy: function(counter, value, callback) { if(!(counter instanceof exports.Counter)) { return callback(this.error(-1000, 'Argument not an instance of Counter')); } counter.incrementBy(value); callback(null, counter); }, add: function(a, b, callback) { var result = a + b; callback(null, result); }, add_slow: function(a, b, isSlow, callback) { var result = a + b; if(!isSlow) return callback(null, result); setTimeout(function() { callback(null, result); }, 15); }, empty: function(arg, callback) { callback(); }, no_args: function(callback) { callback(null, true); }, invalidError: function(arg, callback) { callback({invalid: true}); }, delay: function(delay, callback) { setTimeout(function() { callback(null, delay); }, delay); } }; /* * Options for the common test server */ exports.server.options = { reviver: function(key, value) { if(value && value.$class === 'counter') { var obj = new exports.Counter(); for(var prop in value.$props) obj[prop] = value.$props[prop]; return obj; } return value; }, replacer: function(key, value) { if(value instanceof exports.Counter) { return {$class: 'counter', $props: {count: value.count}}; } return value; }, collect: false };