From 3f69db7e401987fef4a351edc687cdffd22cde3d Mon Sep 17 00:00:00 2001 From: shouston3 Date: Sun, 5 Jun 2016 13:50:15 +0100 Subject: [PATCH 1/4] Adding an initial travis file, adding dump to gitignore and adding travis badge to the top of the readme --- .gitignore | 1 + .travis.yml | 5 +++++ README.md | 1 + 3 files changed, 7 insertions(+) create mode 100644 .travis.yml diff --git a/.gitignore b/.gitignore index 79e17dd..cadd563 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules npm-debug.log coverage config.env +dump.rdb diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..1a60862 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - "5" +services: + - redis-server diff --git a/README.md b/README.md index b77ed60..aa57b2d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Build Status](https://travis-ci.org/MindAidPrototype/MindAiduser.svg?branch=master)](https://travis-ci.org/MindAidPrototype/MindAiduser) # MindAidUser ## What From 78118851a120b3850419d538f2a80b9b7111cb2e Mon Sep 17 00:00:00 2001 From: shouston3 Date: Sun, 5 Jun 2016 14:41:19 +0100 Subject: [PATCH 2/4] Refactored server so that it does not start redis whenever it is required in, instead the individual endpoints require in the redis client from client.js --- src/redis/client.js | 7 +++++++ src/routes/authenticate.js | 6 ++++-- src/routes/createNewUser.js | 4 +++- src/routes/newStudentInfo.js | 6 ++++-- src/routes/remind.js | 6 ++++-- src/server.js | 10 ++++------ 6 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 src/redis/client.js diff --git a/src/redis/client.js b/src/redis/client.js new file mode 100644 index 0000000..4899567 --- /dev/null +++ b/src/redis/client.js @@ -0,0 +1,7 @@ +const redis = require('redis') + +const redisURL = process.env.REDIS_URL || '//localhost:6379' + +const client = redis.createClient(redisURL) + +module.exports = client diff --git a/src/routes/authenticate.js b/src/routes/authenticate.js index e250822..fa2466c 100644 --- a/src/routes/authenticate.js +++ b/src/routes/authenticate.js @@ -1,4 +1,6 @@ -module.exports = (client) => ({ +const client = require('../redis/client.js') + +module.exports = { method: 'post', path: '/authenticate', handler: (request, reply) => { @@ -17,4 +19,4 @@ module.exports = (client) => ({ } }) } -}) +} diff --git a/src/routes/createNewUser.js b/src/routes/createNewUser.js index e149f21..223bda1 100644 --- a/src/routes/createNewUser.js +++ b/src/routes/createNewUser.js @@ -1,4 +1,6 @@ -module.exports = (client, newUserSecret) => ({ +const client = require('../redis/client.js') + +module.exports = newUserSecret => ({ method: 'post', path: '/createNewUser', handler: (request, reply) => { diff --git a/src/routes/newStudentInfo.js b/src/routes/newStudentInfo.js index 86b5baf..64ed07e 100644 --- a/src/routes/newStudentInfo.js +++ b/src/routes/newStudentInfo.js @@ -1,4 +1,6 @@ -module.exports = (client) => ({ +const client = require('../redis/client.js') + +module.exports = { method: 'post', path: '/newStudentInfo', handler: (request, reply) => { @@ -16,4 +18,4 @@ module.exports = (client) => ({ } }) } -}) +} diff --git a/src/routes/remind.js b/src/routes/remind.js index 4530d5b..ad437e4 100644 --- a/src/routes/remind.js +++ b/src/routes/remind.js @@ -1,4 +1,6 @@ -module.exports = (client) => ({ +const client = require('../redis/client.js') + +module.exports = { method: 'get', path: '/remind', handler: (request, reply) => { @@ -17,4 +19,4 @@ module.exports = (client) => ({ reply.redirect('/login') } } -}) +} diff --git a/src/server.js b/src/server.js index e01dabc..1e4f447 100644 --- a/src/server.js +++ b/src/server.js @@ -2,8 +2,6 @@ const Hapi = require('hapi') const port = process.env.PORT || 3000 const Vision = require('vision') const Inert = require('inert') -const redisURL = process.env.REDIS_URL || '//localhost:6379' -const client = require('redis').createClient(redisURL) require('env2')('./config.env') const views = require('./routes/views.js') @@ -31,12 +29,12 @@ server.register(plugins, err => { require('./routes/listen.js'), require('./routes/screen.js'), require('./routes/refer.js'), - require('./routes/remind.js')(client), + require('./routes/remind.js'), require('./routes/login.js'), require('./routes/logout.js'), - require('./routes/authenticate.js')(client), - require('./routes/newStudentInfo.js')(client), - require('./routes/createNewUser.js')(client, process.env.NEWUSERSECRET), + require('./routes/authenticate.js'), + require('./routes/newStudentInfo.js'), + require('./routes/createNewUser.js')(process.env.NEWUSERSECRET), require('./routes/publicdir.js') ]) }) From e58318aa63b921d978a0bdcb2cb8546804690244 Mon Sep 17 00:00:00 2001 From: shouston3 Date: Sun, 5 Jun 2016 14:42:53 +0100 Subject: [PATCH 3/4] Refactored the server.test.js file so that it requires in the reds client and tears down correctly. Also fixed the broken tests --- src/tests/server.test.js | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/tests/server.test.js b/src/tests/server.test.js index 66efc96..cf791f0 100644 --- a/src/tests/server.test.js +++ b/src/tests/server.test.js @@ -1,15 +1,14 @@ const tape = require('tape') const server = require('../server.js') +const client = require('../redis/client.js') -const endpoints = ['index', 'about', 'learn', 'listen', 'questions', 'refer', 'remind'] +const endpoints = ['index', 'about', 'learn', 'screen', 'refer'] const content = [ - 'id="homeList"', - 'about', - 'learn', - 'listen', - 'questions', - 'refer', - 'remind' + '', + 'L', + 'S', + 'R', ] const combined = endpoints.map((endpoint, i) => ({endpoint, content: content[i]})) @@ -21,13 +20,9 @@ const testEndpoint = endpoint => { url: 'index' === endpoint.endpoint ? '/' : '/' + endpoint.endpoint } server.inject(options, res => { - const actual1 = res.statusCode - const expected1 = 200 - const actual2 = res.payload.indexOf('href="../../public/css/main.css"') > -1 - const actual3 = res.payload.indexOf(endpoint.content) > -1 - t.equal(actual1, expected1, '200 status code') - t.ok(actual2, 'renders the default layout') - t.ok(actual3, 'renders the ' + endpoint.endpoint + ' page') + t.equal(res.statusCode, 200, 'finds the page') + t.ok(res.payload.indexOf('href="../../public/css/main.css"') > -1, 'renders the default layout') + t.ok(res.payload.indexOf(endpoint.content) > -1, 'renders the ' + endpoint.endpoint + ' page') t.end() }) }) @@ -49,3 +44,9 @@ tape('tests params* route to see if it findes the correct public files', t => { t.end() }) }) + +tape('teardown', t => { + server.stop() + client.quit() + t.end() +}) From 52146585b0d4c0c494b12371b07d9f399d4a5d28 Mon Sep 17 00:00:00 2001 From: shouston3 Date: Sun, 5 Jun 2016 14:50:01 +0100 Subject: [PATCH 4/4] adding correct badge for travis --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa57b2d..1bfbcc6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://travis-ci.org/MindAidPrototype/MindAiduser.svg?branch=master)](https://travis-ci.org/MindAidPrototype/MindAiduser) +[![Build Status](https://travis-ci.org/MindAidPrototype/MindAidUser.svg?branch=master)](https://travis-ci.org/MindAidPrototype/MindAidUser) # MindAidUser ## What