diff options
Diffstat (limited to 'dgbuilder/test/nodes/helper.js')
-rw-r--r-- | dgbuilder/test/nodes/helper.js | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/dgbuilder/test/nodes/helper.js b/dgbuilder/test/nodes/helper.js deleted file mode 100644 index 9b371ca4..00000000 --- a/dgbuilder/test/nodes/helper.js +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Copyright 2014 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var should = require("should"); -var when = require("when"); -var request = require('supertest'); -var nock; -if (!process.version.match(/^v0\.[0-9]\./)) { - // only set nock for node >= 0.10 - try { - nock = require('nock'); - } catch (err) { - // nevermind, will skip nock tests - nock = null; - } -} -var RED = require("../../red/red.js"); -var redNodes = require("../../red/nodes"); -var flows = require("../../red/nodes/flows"); -var credentials = require("../../red/nodes/credentials"); -var comms = require("../../red/comms.js"); - -var http = require('http'); -var express = require('express'); -var app = express(); - -var address = '127.0.0.1'; -var listenPort = 0; // use ephemeral port -var port; -var url; - -var server; - -function helperNode(n) { - RED.nodes.createNode(this, n); -} - -module.exports = { - load: function(testNode, testFlows, testCredentials, cb) { - if (typeof testCredentials === 'function') { - cb = testCredentials; - testCredentials = {}; - } - - var storage = { - getFlows: function() { - var defer = when.defer(); - defer.resolve(testFlows); - return defer.promise; - }, - getCredentials: function() { - var defer = when.defer(); - defer.resolve(testCredentials); - return defer.promise; - }, - saveCredentials: function() { - // do nothing - }, - }; - var settings = { - available: function() { return false; } - }; - - redNodes.init(settings, storage); - credentials.init(storage); - RED.nodes.registerType("helper", helperNode); - testNode(RED); - flows.load().then(function() { - should.deepEqual(testFlows, flows.getFlows()); - cb(); - }); - }, - unload: function() { - // TODO: any other state to remove between tests? - redNodes.clearRegistry(); - return flows.stopFlows(); - }, - - getNode: function(id) { - return flows.get(id); - }, - - credentials: credentials, - - clearFlows: function() { - return flows.clear(); - }, - - request: function() { - return request(RED.httpAdmin); - }, - - startServer: function(done) { - server = http.createServer(function(req,res){app(req,res);}); - RED.init(server, {}); - server.listen(listenPort, address); - server.on('listening', function() { - port = server.address().port; - url = 'http://' + address + ':' + port; - comms.start(); - done(); - }); - }, - //TODO consider saving TCP handshake/server reinit on start/stop/start sequences - stopServer: function(done) { - if(server) { - server.close(done); - } - }, - - url: function() { return url; }, - - nock: nock, - -}; |