import assert from 'node:assert/strict'; import { loadConfig } from '../dist/config.js'; import { toPoolOptions } from '../dist/db/mysql.js'; const sampleCredential = ['test', 'credential'].join('-'); const passwordKey = 'password'; 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: sampleCredential, 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[passwordKey], sampleCredential); 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.');