forked from Azure/node-sqlserver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconnect.js
More file actions
109 lines (79 loc) · 2.84 KB
/
Copy pathconnect.js
File metadata and controls
109 lines (79 loc) · 2.84 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
//---------------------------------------------------------------------------------------------------------------------------------
// File: connect.js
// Contents: test suite for connections
//
// Copyright Microsoft Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
//
// You may obtain a copy of the License at:
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//---------------------------------------------------------------------------------------------------------------------------------
var sql = require('../');
var assert = require( 'assert' );
var config = require( './test-config' );
suite( 'open', function() {
test('trusted connection to a server', function( done ) {
sql.open(config.conn_str,
function( err, conn ) {
assert.ifError( err );
assert( typeof conn == 'object');
done();
});
});
test('verify closed connection throws an exception', function( done ) {
sql.open( config.conn_str, function( err, conn ) {
assert.ifError( err );
conn.close();
var thrown = false;
try {
conn.query( "SELECT 1", function( err, results ) {
assert.ifError( err )
});
}
catch( e ) {
assert( e == "Error: [msnodesql] Connection is closed.")
thrown = true;
}
assert( thrown );
done();
});
});
test( 'verify connection is not closed prematurely until a query is complete', function( done ) {
sql.open( config.conn_str, function( err, conn ) {
assert.ifError( err );
var closeCalled = false;
var stmt = conn.queryRaw( "select 1" );
stmt.on( 'meta', function( m ) { });
stmt.on( 'done', function( ) { assert( closeCalled ); done(); });
stmt.on( 'column', function( c, d ) { assert( c == 0 && d == 1 ); });
stmt.on( 'error', function( e ) { assert.ifError( e ); });
stmt.on( 'row', function( r ) { assert( r == 0 ); conn.close(); closeCalled = true; });
});
});
test( 'verify that close immediately flag only accepts booleans', function( done ) {
sql.open( config.conn_str, function( err, conn ) {
assert.ifError( err );
var thrown = false;
try {
conn.close( "SELECT 1", function( err ) {
assert.ifError( err )
});
}
catch( e ) {
assert( e == "Error: [msnodesql] Invalid parameters passed to close.")
thrown = true;
}
conn.close();
assert( thrown );
done();
});
});
});