UNPKG

dl

Version:

DreamLab Libs

159 lines (113 loc) 5.34 kB
describe('OpalServer', function () { afterEach(function () { delete require.cache[require.resolve('../../lib/opal/OpalServer.js')]; }); it('require', function () { var OpalServer = null; expect(function () { OpalServer = require('../../lib/opal/OpalServer.js').OpalServer; }).not.toThrow(); expect(OpalServer).toBeTruthy(); }); it('creation', function () { var OpalServer = require('../../lib/opal/OpalServer.js').OpalServer; var YAML = require('core').yaml.YAML; spyOn(YAML, 'parseFileSync').andReturn([{interfaces:{'public':{},'admin':{}}}]); OpalServer.prototype._addMethods = function () { this._methods['public:test'] = {}; this._methods['public:test2'] = {}; }; expect(function () { var opalServer = new OpalServer(); opalServer.stopEventLoopMeasure(); expect(opalServer instanceof OpalServer).toBeTruthy(); }).not.toThrow(); }); it('get methods', function () { var OpalServer = require('../../lib/opal/OpalServer.js').OpalServer; var Request = require('core').http.Request; var YAML = require('core').yaml.YAML; spyOn(YAML, 'parseFileSync').andReturn([{interfaces:{'public':{},'admin':{}}}]); OpalServer.prototype._addMethods = function () { this._methods['public:test'] = {}; this._methods['public:test2'] = {}; }; var opalServer = null; expect(function () { opalServer = new OpalServer(); opalServer.stopEventLoopMeasure(); expect(opalServer.getMethods().list.length).toBe(0); expect(opalServer.getMethods('public').list.length).toBe(2); expect(opalServer.getMethods('something_wrong').list.length).toBe(0); expect(function () { opalServer.getInterface(new Request()); }).toThrow(OpalServer.Errors.NO_INTERFACE_IN_HOST_HEADER); }).not.toThrow(); expect(opalServer instanceof OpalServer).toBeTruthy(); }); it('get interface', function () { var OpalServer = require('../../lib/opal/OpalServer.js').OpalServer; var Request = require('core').http.Request; var YAML = require('core').yaml.YAML; spyOn(YAML, 'parseFileSync').andReturn([{interfaces:{'public':{},'admin':{}}}]); OpalServer.prototype._addMethods = function () { this._methods['public:test'] = {}; this._methods['public:test2'] = {}; }; var opalServer = null; expect(function () { opalServer = new OpalServer(); opalServer.stopEventLoopMeasure(); expect(function () { opalServer.getInterface(new Request()); }).toThrow(OpalServer.Errors.NO_INTERFACE_IN_HOST_HEADER); expect(function () { var req = new Request(); req.setHeader('host', 'public.test.onetapi.onet.pl'); var interfaceName = opalServer.getInterface(req); expect(interfaceName).toEqual('public.test'); }).not.toThrow(); }).not.toThrow(); expect(opalServer instanceof OpalServer).toBeTruthy(); }); it('get method', function () { var OpalServer = require('../../lib/opal/OpalServer.js').OpalServer; var JsonRpcMethod = require('core').jsonrpc.JsonRpcMethod; var Request = require('core').http.Request; var YAML = require('core').yaml.YAML; spyOn(YAML, 'parseFileSync').andReturn([{interfaces:{'public':{},'admin':{}}}]); OpalServer.prototype._addMethods = function () { this._methods['public:test'] = {}; this._methods['public:test2'] = {}; }; var opalServer = null; var req = new Request(); var method = null; req.setHeader('host', 'public.test.onetapi.onet.pl'); opalServer = new OpalServer(); opalServer.stopEventLoopMeasure(); expect(function () { method = opalServer.getMethod('test', req); expect(method instanceof JsonRpcMethod); method = opalServer.getMethod('test!!!!!', req); expect(method).toBe(false); expect(function () { opalServer.getMethod('test', new Request()); }).toThrow(OpalServer.Errors.NO_INTERFACE_IN_HOST_HEADER); }).not.toThrow(); expect(opalServer instanceof OpalServer).toBeTruthy(); }); it('adding methods', function () { require.cache = {}; var OpalServer = require('../../lib/opal/OpalServer.js').OpalServer; var fs = require('fs'); var YAML = require('core').yaml.YAML; spyOn(YAML, 'parseFileSync').andReturn([{interfaces:{'public':{},'admin':{}}}]); spyOn(fs, 'readdirSync').andReturn(['GetFunctionDataMethod.js']); //expect(function () { //var opalServer = new OpalServer(); //}).not.toThrow(); //require = oldRequire; //expect(opalServer instanceof OpalServer).toBeTruthy(); }); });