SYNC: import model+data test

This commit is contained in:
SPRINX0\prochazka
2025-02-24 15:26:47 +01:00
committed by Diflow
parent 963994b1e5
commit 20a1cc89ae
2 changed files with 16 additions and 2 deletions

View File

@@ -5,7 +5,7 @@ const tableWriter = require('dbgate-api/src/shell/tableWriter');
const tableReader = require('dbgate-api/src/shell/tableReader'); const tableReader = require('dbgate-api/src/shell/tableReader');
const copyStream = require('dbgate-api/src/shell/copyStream'); const copyStream = require('dbgate-api/src/shell/copyStream');
const importDatabase = require('dbgate-api/src/shell/importDatabase'); const importDatabase = require('dbgate-api/src/shell/importDatabase');
const fakeObjectReader = require('dbgate-api/src/shell/fakeObjectReader'); const importDbFromFolder = require('dbgate-api/src/shell/importDbFromFolder');
const { runQueryOnDriver, runCommandOnDriver } = require('dbgate-tools'); const { runQueryOnDriver, runCommandOnDriver } = require('dbgate-tools');
function createImportStream() { function createImportStream() {
@@ -181,4 +181,18 @@ describe('DB Import/export', () => {
expect(result).toEqual(data); expect(result).toEqual(data);
}) })
); );
test.each(engines.map(engine => [engine.label, engine]))(
'Import guitar shop - schema + data - %s',
testWrapper(async (conn, driver, engine) => {
await importDbFromFolder({
systemConnection: conn,
driver,
folder: path.join(__dirname, '../../e2e-tests/data/my-guitar-shop'),
});
const res1 = await runQueryOnDriver(conn, driver, dmp => dmp.put(`select count(*) as ~cnt from ~categories`));
expect(res1.rows[0].cnt.toString()).toEqual('4');
})
);
}); });

View File

@@ -57,7 +57,7 @@ async function importDbFromFolder({ connection, systemConnection, driver, folder
if (await fs.exists(fileName)) { if (await fs.exists(fileName)) {
const src = await jsonLinesReader({ fileName }); const src = await jsonLinesReader({ fileName });
const dst = await tableWriter({ const dst = await tableWriter({
connection, systemConnection: dbhan,
pureName: table.pureName, pureName: table.pureName,
}); });
await copyStream(src, dst); await copyStream(src, dst);