Skip to content

Commit 066256e

Browse files
committed
integration test for promise-mysql module
1 parent 148a3c8 commit 066256e

File tree

4 files changed

+94
-9
lines changed

4 files changed

+94
-9
lines changed

package-lock.json

Lines changed: 41 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
},
2323
"license": "MIT",
2424
"funding": {
25-
"type" : "individual",
26-
"url" : "https://degreesofzero.com/donate.html?project=express-mysql-session"
25+
"type": "individual",
26+
"url": "https://degreesofzero.com/donate.html?project=express-mysql-session"
2727
},
2828
"dependencies": {
2929
"debug": "4.1.1",
@@ -39,7 +39,8 @@
3939
"eslint": "6.8.0",
4040
"express": "4.17.1",
4141
"mocha": "7.1.1",
42-
"mysql2": "2.1.0"
42+
"mysql2": "2.1.0",
43+
"promise-mysql": "4.1.3"
4344
},
4445
"readmeFilename": "readme.md",
4546
"bugs": {

test/unit/node-mysql2-module.js renamed to test/integration/mysql2.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ var expect = require('chai').expect;
44
var session = require('express-session');
55
var MySQLStore = require('../..')(session);
66
var manager = require('../manager');
7+
var mysql2 = require('mysql2/promise');
78

8-
describe('node-mysql2-module', function() {
9+
describe('mysql2', function() {
910

1011
// Yes, tear-down only.
1112
before(manager.tearDown);
@@ -18,9 +19,7 @@ describe('node-mysql2-module', function() {
1819

1920
after(manager.tearDown);
2021

21-
it('support promise', function(done) {
22-
23-
var mysql2 = require('mysql2/promise');
22+
it('sanity check', function(done) {
2423
var options = {
2524
endConnectionOnClose: true,
2625
};

test/integration/promise-mysql.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
'use strict';
2+
3+
var expect = require('chai').expect;
4+
var session = require('express-session');
5+
var MySQLStore = require('../..')(session);
6+
var manager = require('../manager');
7+
var mysql = require('promise-mysql');
8+
9+
describe('promise-mysql', function() {
10+
11+
// Yes, tear-down only.
12+
before(manager.tearDown);
13+
14+
var sessionStore;
15+
afterEach(function(done) {
16+
if (!sessionStore) return done();
17+
sessionStore.close(done);
18+
});
19+
20+
after(manager.tearDown);
21+
22+
it('sanity check', function(done) {
23+
var options = {
24+
endConnectionOnClose: true,
25+
};
26+
mysql.createPool(manager.config).then(function(connection) {
27+
sessionStore = new MySQLStore(options, connection, function(error) {
28+
try {
29+
expect(error).to.be.undefined;
30+
expect(sessionStore.connection).to.deep.equal(connection);
31+
} catch (error) {
32+
return done(error);
33+
}
34+
sessionStore.length(function(error, length) {
35+
try {
36+
expect(error).to.equal(null);
37+
expect(length).to.equal(0);
38+
} catch (error) {
39+
return done(error);
40+
}
41+
done();
42+
});
43+
});
44+
}).catch(done);
45+
});
46+
});

0 commit comments

Comments
 (0)