30 lines
1.0 KiB
JavaScript
30 lines
1.0 KiB
JavaScript
import assert from 'node:assert/strict';
|
|
import { loadConfig } from '../dist/config.js';
|
|
import { toPoolOptions } from '../dist/db/mysql.js';
|
|
|
|
const config = loadConfig({
|
|
NODE_ENV: 'test',
|
|
QIPAI_MYSQL_HOST: 'db.internal',
|
|
QIPAI_MYSQL_PORT: '3307',
|
|
QIPAI_MYSQL_DATABASE: 'qipai_test',
|
|
QIPAI_MYSQL_USER: 'qipai_test_user',
|
|
QIPAI_MYSQL_PASSWORD: 'test-password',
|
|
QIPAI_MYSQL_CONNECTION_LIMIT: '7',
|
|
QIPAI_MQTT_URL: 'mqtt://127.0.0.1:1883'
|
|
});
|
|
|
|
const poolOptions = toPoolOptions(config);
|
|
|
|
assert.equal(config.mysql.passwordConfigured, true);
|
|
assert.equal(poolOptions.host, 'db.internal');
|
|
assert.equal(poolOptions.port, 3307);
|
|
assert.equal(poolOptions.database, 'qipai_test');
|
|
assert.equal(poolOptions.user, 'qipai_test_user');
|
|
assert.equal(poolOptions.password, 'test-password');
|
|
assert.equal(poolOptions.connectionLimit, 7);
|
|
assert.equal(poolOptions.waitForConnections, true);
|
|
assert.equal(poolOptions.namedPlaceholders, true);
|
|
assert.equal(poolOptions.timezone, 'Z');
|
|
|
|
console.log('PASS: MySQL pool contract is present.');
|