diff --git a/config/default.json b/config/default.json index 5c3285e..4acd176 100644 --- a/config/default.json +++ b/config/default.json @@ -2,5 +2,6 @@ "host" : "localhost:8000", "login_path" : "localhost:8000/dev_login", "secret" : "secretsecret", - "admin_key" : "adminadmin" + "admin_key" : "adminadmin", + "log_level" : "info" } \ No newline at end of file diff --git a/package.json b/package.json index 01cee96..e553ba5 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "express": "^4.13.3", "jwt-simple": "^0.5.1", "lodash": "^4.17.3", + "loglevel": "^1.4.1", "marked": "^0.3.5", "moment": "^2.11.0", "mongoose": "^4.3.3", diff --git a/server.js b/server.js index 4337acc..73a5ca3 100644 --- a/server.js +++ b/server.js @@ -1,57 +1,35 @@ - -const express = require("express"); -const app = express(); - -app.use(express.static(__dirname + '/build'));'' -app.use(require('body-parser').json({limit: '25mb'})); -app.use(require('cookie-parser')()); - const config = require('nconf') .argv() .env({ lowerCase: true }) .file('environment', { file: `config/${process.env.NODE_ENV}.json` }) .file('defaults', { file: 'config/default.json' }); +const log = require('loglevel'); +log.setLevel(config.get('log_level')); + //DB require('./server/db.js').connect(); -//Middleware -const mw = require('./server/middleware.js'); -app.use(mw.account); -app.use(mw.admin); +//Server +const app = require('./server/app.js'); +/* +app.use((req, res, next) => { + log.debug('---------------------------'); + log.debug(req.method, req.path); -//Routes -app.use(require('./server/brew.api.js')); -app.use(require('./server/interface.routes.js')); + if (req.params) { + log.debug('req params', req.params); + } + if (req.query) { + log.debug('req query', req.query); + } -setTimeout(()=>{ - var test = require('./server/brew.data.js'); - - test.create({text : 'test'}) - .then((brew) => { - console.log(brew); - }) - .catch(console.log); - - test.get({}) - .then((brew) => { - console.log(brew); - }) - .catch(console.log); - - -}, 1000); - - -//app.use(require('./server/admin.api.js')); - - -//Error Handler -app.use(require('./server/error.js').expressHandler); + next(); +}); +*/ const PORT = process.env.PORT || 8000; -app.listen(PORT); -console.log(`server on port:${PORT}`); - -module.exports = app; \ No newline at end of file +const httpServer = app.listen(PORT, () => { + log.info(`server on port:${PORT}`); +}); \ No newline at end of file diff --git a/server/app.js b/server/app.js new file mode 100644 index 0000000..e472f1d --- /dev/null +++ b/server/app.js @@ -0,0 +1,24 @@ +const express = require("express"); +const app = express(); + +app.use(express.static(__dirname + '/build')); +app.use(require('body-parser').json({limit: '25mb'})); +app.use(require('cookie-parser')()); + + +//Middleware +const mw = require('./middleware.js'); +app.use(mw.account); +app.use(mw.admin); + + +//Routes +app.use(require('./brew.api.js')); +app.use(require('./interface.routes.js')); +//app.use(require('./admin.api.js')); + + +//Error Handler +app.use(require('./error.js').expressHandler); + +module.exports = app; \ No newline at end of file diff --git a/server/db.js b/server/db.js index 3e8a17b..095de2c 100644 --- a/server/db.js +++ b/server/db.js @@ -1,3 +1,4 @@ +const log = require('loglevel'); const mongoose = require('mongoose'); mongoose.Promise = Promise; @@ -7,17 +8,17 @@ module.exports = { connect : ()=>{ return new Promise((resolve, reject)=>{ if(mongoose.connection.readyState == 1){ - console.log('already connected'); + log.info('DB already connected'); return resolve(); } mongoose.connect(dbPath, (err) => { if(err){ - console.log('Error : Could not connect to a Mongo Database.'); - console.log(' If you are running locally, make sure mongodb.exe is running.'); + log.info('Error : Could not connect to a Mongo Database.'); + log.info(' If you are running locally, make sure mongodb.exe is running.'); return reject(err); } - console.log('mongo connected.'); + log.info('DB connected.'); return resolve(); } ); diff --git a/test/brew.apitest.js b/test/brew.apitest.js index bcadf0b..4e03048 100644 --- a/test/brew.apitest.js +++ b/test/brew.apitest.js @@ -1,12 +1,16 @@ -const should = require('chai').use(require('chai-as-promised')).should(); +const testing = require('./test.init.js'); const request = require('supertest-as-promised'); -const app = require('../server.js'); + +const app = require('app.js'); +const BrewDB = require('db.js'); -const apiPath = '/api/brew'; +describe('/api/brew', () => { + const apiPath = '/api/brew'; - -describe(apiPath, () => { + before('Await DB', ()=>{ + return BrewDB.connect() + }); describe('POST', () => { it('creates a new brew', () => { @@ -18,7 +22,7 @@ describe(apiPath, () => { .expect(200) .then((res) => { const brew = res.body; - should.exist(brew); + //should.exist(brew); brew.should.have.property('editId').that.is.a('string'); brew.should.have.property('shareId').that.is.a('string'); brew.should.have.property('text').that.is.a('string'); diff --git a/test/brew.datatest.js b/test/brew.datatest.js index cd4b9fc..ad2c205 100644 --- a/test/brew.datatest.js +++ b/test/brew.datatest.js @@ -1,19 +1,19 @@ -const should = require('chai').use(require('chai-as-promised')).should(); +const testing = require('./test.init.js'); -const BrewDB = require('../server/db.js'); -const BrewData = require('../server/brew.data.js'); +const BrewDB = require('db.js'); +const BrewData = require('brew.data.js'); describe('BrewDB', () => { before('Await DB', ()=>{ - return BrewDB.connect().catch() + return BrewDB.connect() }); it('generates ID on save', () => { return BrewData.create({ text : "Brew Text" }).then((brew) => { - should.exist(brew); + //should.exist(brew); brew.should.have.property('editId').that.is.a('string'); brew.should.have.property('shareId').that.is.a('string'); brew.should.have.property('text').that.is.a('string'); diff --git a/test/test.init.js b/test/test.init.js index 4ac4ed0..44f4f3a 100644 --- a/test/test.init.js +++ b/test/test.init.js @@ -1,23 +1,9 @@ require('app-module-path').addPath('./server'); - -// initialize config -const config = require('nconf') - .argv() - .env({ lowerCase: true }) - .file('testing', { file: `./config/testing.json` }) - .file('environment', { file: `../config/${process.env.NODE_ENV}.json` }) - .file('defaults', { file: '../config/default.json' }); - const should = require('chai').use(require('chai-as-promised')).should(); - +const log = require('loglevel'); +log.setLevel('trace'); module.exports = { - config: config, - should: should, - clearCache: () => { - return new Promise((resolve, reject) => { - return resolve(); - }); - }, + should: should };