diff options
Diffstat (limited to 'dgbuilder/test/red/ui_spec.js')
-rw-r--r-- | dgbuilder/test/red/ui_spec.js | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/dgbuilder/test/red/ui_spec.js b/dgbuilder/test/red/ui_spec.js deleted file mode 100644 index b9de7bff..00000000 --- a/dgbuilder/test/red/ui_spec.js +++ /dev/null @@ -1,177 +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 request = require("supertest"); -var express = require("express"); -var redUI = require("../../red/ui"); - - -describe("red/ui icon handler", function() { - it('returns the default icon when getting an unknown icon', function(done) { - var app = express(); - redUI({},app); - request(app) - .get("/icons/youwonthaveme.png") - .expect('Content-Type', /image\/png/) - .expect(200) - .end(function(err, res){ - if (err){ - return done(err); - } - done(); - }); - }); - - it('returns an icon from disk', function(done) { - var app = express(); - redUI({},app); - request(app) - .get("/icons/arduino.png") - .expect('Content-Type', /image\/png/) - .expect(200) - .end(function(err, res){ - if (err){ - return done(err); - } - done(); - }); - }); -}); - -describe("icon cache handler", function() { - var fs = require('fs-extra'); - var path = require('path'); - var events = require("../../red/events"); - - var tempDir = path.join(__dirname,".tmp/"); - var cachedFakePNG = tempDir + "cacheMe.png"; - - - beforeEach(function(done) { - fs.remove(tempDir,function(err) { - fs.mkdirSync(tempDir); - fs.writeFileSync(cachedFakePNG, "Hello PNG\n"); - done(); - }); - }); - afterEach(function(done) { - fs.exists(cachedFakePNG, function(exists) { - if(exists) { - fs.unlinkSync(cachedFakePNG); - } - fs.remove(tempDir,done); - }) - }); - - /* - * This test case test that: - * 1) any directory can be added to the path lookup (such as /tmp) by - * calling the right event - * 2) that a file we know exists gets cached so that the lookup/verification - * of actual existence doesn't occur again when a subsequent request comes in - * - * The second point verifies that the cache works. If the cache wouldn't work - * the default PNG would be served - */ - it('returns an icon using icon cache', function(done) { - var app = express(); - redUI({},app); - events.emit("node-icon-dir", tempDir); - request(app) - .get("/icons/cacheMe.png") - .expect('Content-Type', /image\/png/) - .expect(200) - .end(function(err, res){ - if (err){ - return done(err); - } - fs.unlink(cachedFakePNG, function(err) { - if(err) { - return done(err); - } - request(app) - .get("/icons/cacheMe.png") - .expect('Content-Type', /text\/html/) - .expect(404) - .end(function(err, res){ - if (err){ - return done(err); - } - done(); - }); - }); - }); - }); -}); - -describe("red/ui settings handler", function() { - it('returns the provided settings', function(done) { - var settings = { - httpNodeRoot: "testHttpNodeRoot", - version: "testVersion", - }; - var app = express(); - redUI(settings,app); - request(app) - .get("/settings") - .expect('Content-Type', /application\/json/) - .expect(200, "{\n \"httpNodeRoot\": \"testHttpNodeRoot\",\n \"version\": \"testVersion\"\n}") - .end(function(err, res){ - if (err){ - return done(err); - } - done(); - }); - - }); -}); - -describe("red/ui root handler", function() { - it('server up the main page', function(done) { - var app = express(); - redUI({},app); - - request(app) - .get("/") - .expect('Content-Type', /text\/html/) - .expect(200) - .end(function(err, res){ - if (err){ - return done(err); - } - done(); - }); - - }); - - it('redirects to path ending with /', function(done) { - var rapp = express(); - redUI({},rapp); - - var app = express().use('/root', rapp); - - request(app) - .get("/root") - .expect('Content-Type', /text\/plain/) - .expect(302) - .end(function(err, res){ - if (err){ - return done(err); - } - done(); - }); - - }); -}); |