Files
jobtrackingapp/job-tracker-ui/scripts/mariadb-browser-connection.test.mjs
T

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')));