Skip to content

Commit b0c0d8f

Browse files
authored
Merge pull request #4 from mayank23/master
fixed race-warmup-stategy to always resolve on first success, update/…
2 parents 300f045 + 6ffc58b commit b0c0d8f

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@
8787
"src/**/*.test.js"
8888
],
8989
"roots": [
90-
"src/"
90+
"src/",
91+
"test"
9192
]
9293
},
9394
"eslintConfig": {

src/race-warmup-strategy.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ export default function raceWarmupStrategy(dsns, connectionPoolFactory, onCreati
3131
// and resolve if we haven't already done so
3232
(pool) => {
3333
numberProcessed += 1;
34-
debug(`warmup: pool ${numberProcessed} created ${(pool.warmupError && 'with error') || ''}`);
34+
debug(`warmup: pool ${numberProcessed} created ${(pool.error && 'with error') || ''}`);
3535
onCreation(pool);
3636
// we only want to resolve once
37-
if (!resolved && !pool.warmupError) {
37+
if (!resolved && !pool.error) {
3838
resolved = true;
3939
debug('warmup: resolved');
4040
resolve();

test/promise-execute-TVP-writes.test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import * as sql from '../src';
2+
import delay from './delay';
23

34
let connection;
45

56
describe('execute TVP write using promise interface', () => {
67
let originalTimeout;
78
beforeAll(() => {
89
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
9-
jasmine.DEFAULT_TIMEOUT_INTERVAL = 15000;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;
1011
});
1112
beforeEach(() => {
1213
connection = new sql.ConnectionPoolParty({
@@ -28,7 +29,6 @@ describe('execute TVP write using promise interface', () => {
2829
// need to give mssql ample time to clear the table so tests
2930
// don't step on eachother
3031
setTimeout(done, 5000);
31-
done();
3232
}),
3333
);
3434
it('execute proc with TVP containing 10000 rows',
@@ -53,6 +53,7 @@ describe('execute TVP write using promise interface', () => {
5353
.then((results) => {
5454
expect(results.returnValue).toEqual(0);
5555
})
56+
.then(delay(5000)) // allow all writes to be flushed from the buffer.
5657
.then(() => connection.request().query('SELECT * FROM PoolParty.dbo.PoolToys'))
5758
.then((results) => {
5859
expect(results.recordset.length).toEqual(10000);

test/promise-execute-many-writes.test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import * as sql from '../src';
2+
import delay from './delay';
23

34
let connection;
45

56
describe('execute many writes tests using promise interface', () => {
67
let originalTimeout;
78
beforeAll(() => {
89
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
9-
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;
1011
});
1112
beforeEach(() => {
1213
connection = new sql.ConnectionPoolParty({
@@ -30,7 +31,6 @@ describe('execute many writes tests using promise interface', () => {
3031
// need to give mssql ample time to clear the table so tests
3132
// don't step on eachother
3233
setTimeout(done, 2000);
33-
done();
3434
}),
3535
);
3636
it('perform 10000 writes',
@@ -54,6 +54,7 @@ describe('execute many writes tests using promise interface', () => {
5454
.then((results) => {
5555
expect(results.every(result => result.returnValue === 0)).toEqual(true);
5656
})
57+
.then(delay(5000)) // allow all writes to be flushed from the buffer.
5758
.then(() => connection.request().query('SELECT * FROM PoolParty.dbo.PoolToys'))
5859
.then((results) => {
5960
expect(results.recordset.length).toEqual(10000);

0 commit comments

Comments
 (0)