├── .gitignore ├── Dockerfile ├── app.js ├── package.json └── spec └── helloWorld-spec.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/* 2 | package-lock.json 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | EXPOSE 3000 4 | 5 | WORKDIR /app 6 | 7 | COPY . /app 8 | 9 | CMD ["node", "app.js"] 10 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | const express = require('express') 2 | const app = express() 3 | 4 | app.get('/', (req, res) => res.send('Hello World!')) 5 | 6 | var server = app.listen(3000, () => { 7 | console.log("Listening on port " + server.address().port + "..."); 8 | }); 9 | 10 | module.exports = server; 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "app.js", 6 | "scripts": { 7 | "test": "jasmine-node spec" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "express": "^4.16.3", 13 | "request": "^2.85.0" 14 | }, 15 | "devDependencies": { 16 | "jasmine-node": "^1.14.5" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /spec/helloWorld-spec.js: -------------------------------------------------------------------------------- 1 | var request = require("request"); 2 | var base_url = "http://localhost:3000/"; 3 | var server = require("../app.js"); 4 | 5 | describe("Hello World Server", function() { 6 | describe("GET /", function() { 7 | it("returns status code 200", function(done) { 8 | request.get(base_url, function(error, response, body) { 9 | expect(response.statusCode).toBe(200); 10 | done(); 11 | }); 12 | }); 13 | 14 | it("returns Hello World", function(done) { 15 | request.get(base_url, function(error, response, body) { 16 | expect(body).toBe("Hello World!"); 17 | done(); 18 | 19 | server.close(); 20 | }); 21 | }); 22 | }); 23 | }); 24 | --------------------------------------------------------------------------------