forked from brianc/node-postgres
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprepared-statement-tests.js
More file actions
86 lines (74 loc) · 1.99 KB
/
Copy pathprepared-statement-tests.js
File metadata and controls
86 lines (74 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
var helper = require(__dirname + '/test-helper');
var client = helper.client();
var con = client.connection;
var parseArg = null;
con.parse = function(arg) {
parseArg = arg;
process.nextTick(function() {
con.emit('parseComplete');
});
};
var bindArg = null;
con.bind = function(arg) {
bindArg = arg;
process.nextTick(function(){
con.emit('bindComplete');
});
};
var executeArg = null;
con.execute = function(arg) {
executeArg = arg;
process.nextTick(function() {
con.emit('rowData',{ fields: [] });
con.emit('commandComplete', { text: "" });
});
};
var describeArg = null;
con.describe = function(arg) {
describeArg = arg;
process.nextTick(function() {
con.emit('rowDescription', { fields: [] });
});
};
var syncCalled = false;
con.flush = function() {
};
con.sync = function() {
syncCalled = true;
process.nextTick(function() {
con.emit('readyForQuery');
});
};
test('bound command', function() {
test('simple, unnamed bound command', function() {
assert.ok(client.connection.emit('readyForQuery'));
var query = client.query({
text: 'select * where name = $1',
values: ['hi']
});
assert.emits(query,'end', function() {
test('parse argument', function() {
assert.equal(parseArg.name, null);
assert.equal(parseArg.text, 'select * where name = $1');
assert.equal(parseArg.types, null);
});
test('bind argument', function() {
assert.equal(bindArg.statement, null);
assert.equal(bindArg.portal, null);
assert.lengthIs(bindArg.values, 1);
assert.equal(bindArg.values[0], 'hi')
});
test('describe argument', function() {
assert.equal(describeArg.type, 'P');
assert.equal(describeArg.name, "");
});
test('execute argument', function() {
assert.equal(executeArg.portal, null);
assert.equal(executeArg.rows, null);
});
test('sync called', function() {
assert.ok(syncCalled);
});
});
});
});