1 | import test from 'ava';
|
2 | import keyvTestSuite from 'keyv-test-suite';
|
3 | import Keyv from 'keyv';
|
4 | import KeyvSql from 'this';
|
5 |
|
6 | import sqlite3 from 'sqlite3';
|
7 | import pify from 'pify';
|
8 |
|
9 | class TestSqlite extends KeyvSql {
|
10 | constructor() {
|
11 | const opts = {
|
12 | dialect: 'sqlite',
|
13 | db: 'test/testdb.sqlite'
|
14 | };
|
15 |
|
16 | opts.connect = () => new Promise((resolve, reject) => {
|
17 | const db = new sqlite3.Database(opts.db, err => {
|
18 | if (err) {
|
19 | reject(err);
|
20 | } else {
|
21 | db.configure('busyTimeout', 30000);
|
22 | resolve(db);
|
23 | }
|
24 | });
|
25 | })
|
26 | .then(db => pify(db.all).bind(db));
|
27 |
|
28 | super(opts);
|
29 | }
|
30 | }
|
31 |
|
32 | const store = () => new TestSqlite();
|
33 | keyvTestSuite(test, Keyv, store);
|