UNPKG

1.23 kBJavaScriptView Raw
1// Copyright IBM Corp. 2016,2019. All Rights Reserved.
2// Node module: loopback-datasource-juggler
3// This file is licensed under the MIT License.
4// License text available at https://opensource.org/licenses/MIT
5
6'use strict';
7
8const debug = require('debug')('test');
9const extend = require('util')._extend;
10const fs = require('fs');
11const path = require('path');
12
13module.exports = function(dataSourceFactory, connectorCapabilities) {
14 connectorCapabilities = extend({
15 // Even when the backend supports millisecond precision,
16 // it's better to use intervals at least 10ms long in the tests
17 ttlPrecision: 10,
18 }, connectorCapabilities);
19
20 describe('KeyValue API', function loadAllTestFiles() {
21 const testRoot = path.resolve(__dirname, 'kvao');
22 let testFiles = fs.readdirSync(testRoot);
23 testFiles = testFiles.filter(function(it) {
24 return !!require.extensions[path.extname(it).toLowerCase()] &&
25 /\.suite\.[^.]+$/.test(it);
26 });
27
28 for (const ix in testFiles) {
29 const name = testFiles[ix];
30 const fullPath = path.resolve(testRoot, name);
31 debug('Loading test suite %s (%s)', name, fullPath);
32 require(fullPath)(dataSourceFactory, connectorCapabilities);
33 }
34 });
35};