Skip to content

Commit 8fa1c45

Browse files
maxbeattymathiasbynens
authored andcommitted
use joi result to populate config
1 parent 5b0d01d commit 8fa1c45

File tree

2 files changed

+46
-22
lines changed

2 files changed

+46
-22
lines changed

config.js

+18-17
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,15 @@ var Confidence = require('confidence');
3939
var _assign = require('lodash.assign');
4040

4141
var criteria = {
42-
scheme: process.env.SCHEME
42+
scheme: result.value.SCHEME
4343
};
4444

4545
var config = {
4646
$meta: 'jsPerf.com',
47-
env: process.env.NODE_ENV,
48-
port: process.env.PORT,
49-
domain: process.env.DOMAIN,
47+
env: result.value.NODE_ENV,
48+
port: result.value.PORT,
49+
domain: result.value.DOMAIN,
50+
scheme: result.value.SCHEME,
5051
auth: {
5152
oauth: {
5253
secure: {
@@ -55,14 +56,14 @@ var config = {
5556
$default: false
5657
},
5758
github: {
58-
secret: process.env.GITHUB_CLIENT_SECRET,
59-
id: process.env.GITHUB_CLIENT_ID,
60-
callback: process.env.GITHUB_CALLBACK
59+
secret: result.value.GITHUB_CLIENT_SECRET,
60+
id: result.value.GITHUB_CLIENT_ID,
61+
callback: result.value.GITHUB_CALLBACK
6162
},
62-
cookiePass: process.env.BELL_COOKIE_PASS
63+
cookiePass: result.value.BELL_COOKIE_PASS
6364
},
6465
session: {
65-
pass: process.env.COOKIE_PASS,
66+
pass: result.value.COOKIE_PASS,
6667
name: 'sid-jsperf',
6768
secure: {
6869
$filter: 'scheme',
@@ -71,17 +72,17 @@ var config = {
7172
}
7273
}
7374
},
74-
browserscope: process.env.BROWSERSCOPE,
75+
browserscope: result.value.BROWSERSCOPE,
7576
mysql: {
76-
host: process.env.MYSQL_HOST,
77-
port: process.env.MYSQL_PORT,
78-
user: process.env.MYSQL_USER,
79-
pass: process.env.MYSQL_PASSWORD,
80-
db: process.env.MYSQL_DATABASE
77+
host: result.value.MYSQL_HOST,
78+
port: result.value.MYSQL_PORT,
79+
user: result.value.MYSQL_USER,
80+
pass: result.value.MYSQL_PASSWORD,
81+
db: result.value.MYSQL_DATABASE
8182
},
8283
loggly: {
83-
token: process.env.LOGGLY_TOKEN,
84-
subdomain: process.env.LOGGLY_SUBDOMAIN
84+
token: result.value.LOGGLY_TOKEN,
85+
subdomain: result.value.LOGGLY_SUBDOMAIN
8586
}
8687
};
8788

test/unit/config.js

+28-5
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@ const Lab = require('lab');
22
const Code = require('code');
33
const Proxyquire = require('proxyquire').noPreserveCache();
44

5-
const Config = Proxyquire('../../config', {
6-
'joi': {
7-
validate: () => ({})
8-
}
9-
});
5+
const Config = require('../../config');
106

117
const lab = exports.lab = Lab.script();
128

@@ -21,6 +17,33 @@ lab.experiment('Config', function () {
2117
done();
2218
});
2319

20+
lab.experiment('defaults', () => {
21+
lab.test('it gets scheme', (done) => {
22+
Code.expect(Config.get('/scheme')).to.equal('http');
23+
done();
24+
});
25+
26+
lab.test('it gets port', (done) => {
27+
Code.expect(Config.get('/port')).to.equal(3000);
28+
done();
29+
});
30+
31+
lab.test('it gets domain', (done) => {
32+
Code.expect(Config.get('/domain')).to.equal('localhost');
33+
done();
34+
});
35+
36+
lab.test('it gets mysql host', (done) => {
37+
Code.expect(Config.get('/mysql/host')).to.equal('localhost');
38+
done();
39+
});
40+
41+
lab.test('it gets mysql port', (done) => {
42+
Code.expect(Config.get('/mysql/port')).to.equal(3306);
43+
done();
44+
});
45+
});
46+
2447
lab.experiment('Cookies', function () {
2548
lab.test('it secures the bell cookie if the scheme is https', function (done) {
2649
Code.expect(Config.get('/auth/oauth/secure', {scheme: 'https'})).to.equal(true);

0 commit comments

Comments
 (0)