1 | var assert = require('assert');
|
2 | var ok = require('okay');
|
3 | var util = require('util');
|
4 | var query = require('../');
|
5 | var async = require('async');
|
6 |
|
7 | describe('query', function() {
|
8 | describe('with no values', function() {
|
9 | it('works', function(done) {
|
10 | query('SELECT NOW() as when', function(err, rows, result) {
|
11 | if(err) return done(err);
|
12 | assert(util.isArray(rows));
|
13 | assert.equal(rows.length, 1);
|
14 | assert.equal(rows, result.rows);
|
15 | done();
|
16 | });
|
17 | });
|
18 | });
|
19 |
|
20 | describe('with values', function() {
|
21 | it('works', function(done) {
|
22 | query('SELECT $1::text as name', ['brian'], ok(done, function(rows, result) {
|
23 | assert.equal(rows.length, 1);
|
24 | assert.equal(rows[0].name, 'brian');
|
25 | done();
|
26 | }));
|
27 | });
|
28 | });
|
29 |
|
30 | describe('domain binding', function() {
|
31 | it('sticks on proper domain', function(done) {
|
32 | var domain = require('domain').create();
|
33 | domain.run(function() {
|
34 | var existingDomain = process.domain;
|
35 | var runQuery = function(n, next) {
|
36 | query('SELECT NOW()', function(err, rows) {
|
37 | assert.equal(existingDomain, process.domain);
|
38 | next();
|
39 | });
|
40 | };
|
41 | async.times(10, runQuery, function(err) {
|
42 | if(err) return done(err);
|
43 | assert.equal(existingDomain, process.domain);
|
44 | done();
|
45 | });
|
46 | });
|
47 | });
|
48 | });
|
49 | });
|