14 lines
1001 B
JavaScript
14 lines
1001 B
JavaScript
import { test } from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { validateMariaDbBrowserConnection as validate } from './mariadb-browser-connection.mjs';
|
|
const database = 'jt_it_' + 'a'.repeat(32);
|
|
const connection = `Server=127.0.0.1;Port=33308;Database=${database};User ID=root;Password=jt-integration-only;SslMode=None`;
|
|
test('accepts the explicit disposable connection', () => assert.equal(validate(connection, '33308'), database));
|
|
for (const invalid of [connection + ';Database=existing_dev', connection + ';Server=remote',
|
|
connection + ';Host=remote', connection.replace('127.0.0.1', 'remote'),
|
|
connection.replace(database, 'existing_dev'), connection.replace('33308', '65536'),
|
|
connection.replace('33308', '0'), connection + ';ConnectionProtocol=Pipe']) {
|
|
test(`rejects unsafe connection ${invalid}`, () => assert.throws(() => validate(invalid, '33308')));
|
|
}
|
|
test('rejects independent-reader port mismatch', () => assert.throws(() => validate(connection, '33309')));
|