UNPKG

1.4 kBJavaScriptView Raw
1/*
2 * helpers.js: Test helpers for nconf.
3 *
4 * (C) 2011, Charlie Robbins
5 *
6 */
7
8var assert = require('assert'),
9 spawn = require('child_process').spawn,
10 nconf = require('../lib/nconf');
11
12exports.assertMerged = function (err, merged) {
13 merged = merged instanceof nconf.Provider
14 ? merged.store.store
15 : merged;
16
17 assert.isNull(err);
18 assert.isObject(merged);
19 assert.isTrue(merged.apples);
20 assert.isTrue(merged.bananas);
21 assert.isObject(merged.candy);
22 assert.isTrue(merged.candy.something1);
23 assert.isTrue(merged.candy.something2);
24 assert.isTrue(merged.candy.something3);
25 assert.isTrue(merged.candy.something4);
26 assert.isTrue(merged.dates);
27 assert.isTrue(merged.elderberries);
28};
29
30exports.assertSystemConf = function (options) {
31 return {
32 topic: function () {
33 var env = null;
34
35 if (options.env) {
36 env = {}
37 Object.keys(process.env).forEach(function (key) {
38 env[key] = process.env[key];
39 });
40
41 Object.keys(options.env).forEach(function (key) {
42 env[key] = options.env[key];
43 });
44 }
45
46 spawn('node', [options.script].concat(options.argv), { env: env })
47 .stdout.once('data', this.callback.bind(this, null));
48 },
49 "should respond with the value passed into the script": function (_, data) {
50 assert.equal(data.toString(), 'foobar');
51 }
52 }
53}
\No newline at end of file