Skip to content

Commit 6b7a862

Browse files
committed
Enhance LOB tests
1 parent ad4ab71 commit 6b7a862

File tree

2 files changed

+24
-80
lines changed

2 files changed

+24
-80
lines changed

test/dataTypeBlob.js

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ var should = require('should');
3939
var dbConfig = require('./dbconfig.js');
4040
var assist = require('./dataTypeAssist.js');
4141

42-
var inFileName = './test/fuzzydinosaur.jpg'; // contains the image to be inserted
43-
var outFileName = './test/blobstreamout.jpg';
42+
var inFileName = 'test/fuzzydinosaur.jpg'; // contains the image to be inserted
43+
var outFileName = 'test/blobstreamout.jpg';
4444

45-
describe.skip('41. dataTypeBlob.js', function() {
45+
describe('41. dataTypeBlob.js', function() {
4646

4747
var connection = null;
4848
var tableName = "nodb_myblobs";
@@ -89,12 +89,6 @@ describe.skip('41. dataTypeBlob.js', function() {
8989
async.series([
9090
function blobinsert1(callback) {
9191

92-
var lobFinishEventFired = false;
93-
setTimeout( function() {
94-
lobFinishEventFired.should.equal(true, "lob does not call 'finish' event!");
95-
callback();
96-
}, 2000);
97-
9892
connection.execute(
9993
"INSERT INTO nodb_myblobs (num, content) VALUES (:n, EMPTY_BLOB()) RETURNING content INTO :lobbv",
10094
{ n: 2, lobbv: {type: oracledb.BLOB, dir: oracledb.BIND_OUT} },
@@ -117,24 +111,17 @@ describe.skip('41. dataTypeBlob.js', function() {
117111

118112
inStream.pipe(lob); // pipes the data to the BLOB
119113

120-
lob.on('finish', function() {
121-
lobFinishEventFired = true;
122-
// now commit updates
114+
lob.on('close', function() {
123115
connection.commit(function(err) {
124116
should.not.exist(err);
117+
callback();
125118
});
126119
});
127120

128121
}
129122
);
130123
},
131124
function blobstream1(callback) {
132-
var streamFinishEventFired = false;
133-
setTimeout( function() {
134-
streamFinishEventFired.should.equal(true, "stream does not call 'finish' Event!");
135-
callback();
136-
}, 2000);
137-
138125
connection.execute(
139126
"SELECT content FROM nodb_myblobs WHERE num = :n",
140127
{ n: 2 },
@@ -155,30 +142,23 @@ describe.skip('41. dataTypeBlob.js', function() {
155142
});
156143

157144
lob.pipe(outStream);
158-
outStream.on('finish', function() {
145+
146+
outStream.on('close', function() {
159147
fs.readFile( inFileName, function(err, originalData) {
160148
should.not.exist(err);
161149

162150
fs.readFile( outFileName, function(err, generatedData) {
163151
should.not.exist(err);
164152
originalData.should.eql(generatedData);
165-
166-
streamFinishEventFired = true;
153+
callback();
167154
});
168155
});
169156

170-
}); // finish event
157+
}); // close event
171158
}
172159
);
173160
},
174161
function blobstream2(callback) {
175-
var lobEndEventFired = false;
176-
var lobDataEventFired = false;
177-
setTimeout( function(){
178-
lobDataEventFired.should.equal(true, "lob does not call 'data' event!");
179-
lobEndEventFired.should.equal(true, "lob does not call 'end' event!");
180-
callback();
181-
}, 2000);
182162

183163
connection.execute(
184164
"SELECT content FROM nodb_myblobs WHERE num = :n",
@@ -197,22 +177,18 @@ describe.skip('41. dataTypeBlob.js', function() {
197177
});
198178

199179
lob.on('data', function(chunk) {
200-
// console.log("lob.on 'data' event");
201-
// console.log(' - got %d bytes of data', chunk.length);
202-
lobDataEventFired = true;
203180
blobLength = blobLength + chunk.length;
204181
blob = Buffer.concat([blob, chunk], blobLength);
205182
});
206183

207-
lob.on('end', function() {
184+
lob.on('close', function() {
208185
fs.readFile( inFileName, function(err, data) {
209186
should.not.exist(err);
210-
lobEndEventFired = true;
211-
212187
data.length.should.be.exactly(blob.length);
213188
data.should.eql(blob);
189+
callback();
214190
});
215-
}); // end event
191+
}); // close event
216192

217193
}
218194
);

test/dataTypeClob.js

Lines changed: 12 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ var should = require('should');
4040
var dbConfig = require('./dbconfig.js');
4141
var assist = require('./dataTypeAssist.js');
4242

43-
var inFileName = './test/clobexample.txt'; // the file with text to be inserted into the database
44-
var outFileName = './test/clobstreamout.txt';
43+
var inFileName = 'test/clobexample.txt'; // the file with text to be inserted into the database
44+
var outFileName = 'test/clobstreamout.txt';
4545

46-
describe.skip('40. dataTypeClob.js', function() {
46+
describe('40. dataTypeClob.js', function() {
4747

4848
var connection = null;
4949
var tableName = "nodb_myclobs";
@@ -90,12 +90,6 @@ describe.skip('40. dataTypeClob.js', function() {
9090
async.series([
9191
function clobinsert1(callback) {
9292

93-
var lobFinishEventFired = false;
94-
setTimeout( function() {
95-
lobFinishEventFired.should.equal(true, "lob does not fire 'finish' event!");
96-
callback();
97-
}, 2000);
98-
9993
connection.execute(
10094
"INSERT INTO nodb_myclobs (num, content) VALUES (:n, EMPTY_CLOB()) RETURNING content INTO :lobbv",
10195
{ n: 1, lobbv: {type: oracledb.CLOB, dir: oracledb.BIND_OUT} },
@@ -116,11 +110,11 @@ describe.skip('40. dataTypeClob.js', function() {
116110
should.not.exist(err, "inStream.on 'error' event");
117111
});
118112

119-
lob.on('finish', function() {
120-
lobFinishEventFired = true;
113+
lob.on('close', function() {
121114
// now commit updates
122115
connection.commit( function(err) {
123116
should.not.exist(err);
117+
callback();
124118
});
125119
});
126120

@@ -129,12 +123,6 @@ describe.skip('40. dataTypeClob.js', function() {
129123
);
130124
},
131125
function clobstream1(callback) {
132-
var streamFinishEventFired = false;
133-
setTimeout( function() {
134-
streamFinishEventFired.should.equal(true, "stream does not call 'Finish' Event!");
135-
callback();
136-
}, 2000);
137-
138126
connection.execute(
139127
"SELECT content FROM nodb_myclobs WHERE num = :n",
140128
{ n: 1 },
@@ -156,7 +144,7 @@ describe.skip('40. dataTypeClob.js', function() {
156144

157145
lob.pipe(outStream);
158146

159-
outStream.on('finish', function() {
147+
outStream.on('close', function() {
160148

161149
fs.readFile( inFileName, { encoding: 'utf8' }, function(err, originalData) {
162150
should.not.exist(err);
@@ -165,22 +153,15 @@ describe.skip('40. dataTypeClob.js', function() {
165153
should.not.exist(err);
166154
originalData.should.equal(generatedData);
167155

168-
streamFinishEventFired = true;
156+
callback();
169157
});
170158
});
171159
});
160+
172161
}
173162
);
174163
},
175164
function clobstream2(callback) {
176-
var lobEndEventFired = false;
177-
var lobDataEventFired = false;
178-
setTimeout( function(){
179-
lobDataEventFired.should.equal(true, "lob does not call 'data' event!");
180-
lobEndEventFired.should.equal(true, "lob does not call 'end' event!");
181-
callback();
182-
}, 2000);
183-
184165
connection.execute(
185166
"SELECT content FROM nodb_myclobs WHERE num = :n",
186167
{ n: 1 },
@@ -193,19 +174,15 @@ describe.skip('40. dataTypeClob.js', function() {
193174
lob.setEncoding('utf8'); // set the encoding so we get a 'string' not a 'buffer'
194175

195176
lob.on('data', function(chunk) {
196-
// console.log("lob.on 'data' event");
197-
// console.log(' - got %d bytes of data', chunk.length);
198-
lobDataEventFired = true;
199177
clob += chunk;
200178
});
201179

202-
lob.on('end', function() {
180+
lob.on('close', function() {
203181
fs.readFile( inFileName, { encoding: 'utf8' }, function(err, data) {
204182
should.not.exist(err);
205-
lobEndEventFired = true;
206-
207183
data.length.should.be.exactly(clob.length);
208184
data.should.equal(clob);
185+
callback();
209186
});
210187
});
211188

@@ -216,14 +193,6 @@ describe.skip('40. dataTypeClob.js', function() {
216193
);
217194
},
218195
function objectOutFormat(callback) {
219-
var lobEndEventFired = false;
220-
var lobDataEventFired = false;
221-
setTimeout( function(){
222-
lobDataEventFired.should.equal(true, "lob does not call 'data' event!");
223-
lobEndEventFired.should.equal(true, "lob does not call 'end' event!");
224-
callback();
225-
}, 2000);
226-
227196
connection.execute(
228197
"SELECT content FROM nodb_myclobs WHERE num = :n",
229198
{ n: 1 },
@@ -238,12 +207,11 @@ describe.skip('40. dataTypeClob.js', function() {
238207
lob.setEncoding('utf8');
239208

240209
lob.on('data', function(chunk) {
241-
lobDataEventFired = true;
242210
clob = clob + chunk;
243211
});
244212

245-
lob.on('end', function() {
246-
lobEndEventFired = true;
213+
lob.on('close', function() {
214+
callback();
247215
});
248216

249217
lob.on('error', function(err) {

0 commit comments

Comments
 (0)