mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-30 20:26:49 +00:00
test: cypress pg test suite- base files
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com>
This commit is contained in:
@@ -21,40 +21,48 @@ const readXlsx = require("./read-xlsx");
|
||||
*/
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
module.exports = (on, config) => {
|
||||
// `on` is used to hook into various events Cypress emits
|
||||
// `config` is the resolved Cypress config
|
||||
// `on` is used to hook into various events Cypress emits
|
||||
// `config` is the resolved Cypress config
|
||||
|
||||
// register utility tasks to read and parse Excel files
|
||||
on("task", {
|
||||
deleteFolder(folderName) {
|
||||
console.log("deleting folder %s", folderName);
|
||||
// register utility tasks to read and parse Excel files
|
||||
on("task", {
|
||||
deleteFolder(folderName) {
|
||||
console.log("deleting folder %s", folderName);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
rmdir(folderName, { maxRetries: 10, recursive: true }, (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return new Promise((resolve, reject) => {
|
||||
rmdir(
|
||||
folderName,
|
||||
{ maxRetries: 10, recursive: true },
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
|
||||
return reject(err);
|
||||
}
|
||||
return reject(err);
|
||||
}
|
||||
|
||||
resolve(null);
|
||||
});
|
||||
});
|
||||
},
|
||||
readXlsx: readXlsx.read,
|
||||
readSheetList: readXlsx.sheetList,
|
||||
log(message) {
|
||||
console.log(`##Cypress>> ${message}`);
|
||||
return null;
|
||||
},
|
||||
queryDb: (query) => {
|
||||
return queryTestDb(query, config);
|
||||
},
|
||||
sqliteExec: (query) => {
|
||||
_sqliteExec(query);
|
||||
return null;
|
||||
},
|
||||
});
|
||||
resolve(null);
|
||||
}
|
||||
);
|
||||
});
|
||||
},
|
||||
readXlsx: readXlsx.read,
|
||||
readSheetList: readXlsx.sheetList,
|
||||
log(message) {
|
||||
console.log(`##Cypress>> ${message}`);
|
||||
return null;
|
||||
},
|
||||
queryDb: (query) => {
|
||||
return queryTestDb(query, config);
|
||||
},
|
||||
sqliteExec: (query) => {
|
||||
_sqliteExec(query);
|
||||
return null;
|
||||
},
|
||||
pgExec: (query) => {
|
||||
_pgExec(query);
|
||||
return null;
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
// mysql connection
|
||||
@@ -62,49 +70,70 @@ module.exports = (on, config) => {
|
||||
|
||||
const mysql = require("mysql2");
|
||||
function queryTestDb(query, config) {
|
||||
// creates a new mysql connection using credentials from cypress.json env's
|
||||
const connection = mysql.createConnection(config.env.db);
|
||||
// start connection to db
|
||||
connection.connect();
|
||||
// exec query + disconnect to db as a Promise
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(query, (error, results) => {
|
||||
if (error) reject(error);
|
||||
else {
|
||||
connection.end();
|
||||
// console.log(results)
|
||||
return resolve(results);
|
||||
}
|
||||
// creates a new mysql connection using credentials from cypress.json env's
|
||||
const connection = mysql.createConnection(config.env.db);
|
||||
// start connection to db
|
||||
connection.connect();
|
||||
// exec query + disconnect to db as a Promise
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(query, (error, results) => {
|
||||
if (error) reject(error);
|
||||
else {
|
||||
connection.end();
|
||||
// console.log(results)
|
||||
return resolve(results);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// sqlite connection
|
||||
const sqlite3 = require("sqlite3").verbose();
|
||||
function _sqliteExec(query) {
|
||||
// open the database
|
||||
console.log("Current directory: " + process.cwd());
|
||||
let db = new sqlite3.Database(
|
||||
"./scripts/cypress/fixtures/sqlite-sakila/sakila.db",
|
||||
sqlite3.OPEN_READWRITE,
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
} else {
|
||||
console.log("Connected to the noco xcdb database.");
|
||||
}
|
||||
}
|
||||
);
|
||||
// open the database
|
||||
console.log("Current directory: " + process.cwd());
|
||||
let db = new sqlite3.Database(
|
||||
"./scripts/cypress/fixtures/sqlite-sakila/sakila.db",
|
||||
sqlite3.OPEN_READWRITE,
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
} else {
|
||||
console.log("Connected to the noco xcdb database.");
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
db.serialize(() => {
|
||||
db.run(query);
|
||||
});
|
||||
db.serialize(() => {
|
||||
db.run(query);
|
||||
});
|
||||
|
||||
db.close((err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
} else {
|
||||
console.log("Close the database connection.");
|
||||
}
|
||||
});
|
||||
db.close((err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
} else {
|
||||
console.log("Close the database connection.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// pg connection
|
||||
const { Pool, Client } = require("pg");
|
||||
const pg_credentials = {
|
||||
user: "postgres",
|
||||
host: "localhost",
|
||||
database: "postgres",
|
||||
password: "password",
|
||||
port: 5432,
|
||||
};
|
||||
function _pgExec(query) {
|
||||
// open pg client connection
|
||||
const client = new Client(pg_credentials);
|
||||
client.connect();
|
||||
|
||||
// query & terminate
|
||||
client.query(query, (err, res) => {
|
||||
console.log(err, res);
|
||||
client.end();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user