mysql-client-tests/node: Add docs tests

This commit is contained in:
Taylor Bantle
2023-03-08 14:05:35 -08:00
parent de2b6ccb1f
commit 3d5d3bba46
2 changed files with 98 additions and 1 deletions

View File

@@ -0,0 +1,89 @@
const readmeText = `# README
## My List
- Item 1
- Item 2
`;
export const docsTests = [
{
q: "select * from dolt_docs",
expectedErr: "table not found: dolt_docs",
},
{
q: `CREATE TABLE IF NOT EXISTS \`dolt_docs\` (
\`doc_name\` varchar(16383) NOT NULL,
\`doc_text\` varchar(16383),
PRIMARY KEY (\`doc_name\`)
)`,
res: {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
info: "",
serverStatus: 2,
warningStatus: 0,
},
},
{
q: "select * from dolt_docs",
res: [],
},
{
q: `CREATE TABLE IF NOT EXISTS \`dolt_docs\` (
\`doc_name\` varchar(16383) NOT NULL,
\`doc_text\` varchar(16383),
PRIMARY KEY (\`doc_name\`)
)`,
res: {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
info: "",
serverStatus: 2,
warningStatus: 0,
},
},
{
q: "INSERT INTO dolt_docs VALUES (:docName, :docText) ON DUPLICATE KEY UPDATE doc_text=:docText",
p: {
docName: "README.md",
docText: readmeText,
},
res: {
fieldCount: 0,
affectedRows: 1,
insertId: 0,
info: "",
serverStatus: 2,
warningStatus: 0,
},
},
{
q: `select * from dolt_docs where doc_name=:docName`,
p: { docName: "README.md" },
res: [{ doc_name: "README.md", doc_text: readmeText }],
},
{
q: "DELETE FROM dolt_docs WHERE doc_name=:docName",
p: { docName: "README.md" },
res: {
fieldCount: 0,
affectedRows: 1,
insertId: 0,
info: "",
serverStatus: 2,
warningStatus: 0,
},
},
{
q: `select * from dolt_docs where doc_name=:docName`,
p: { docName: "README.md" },
res: [],
},
{
q: `CALL DOLT_COMMIT("-A", "-m", :commitMsg)`,
p: { commitMsg: "Add dolt_docs table" },
res: [{ hash: "" }],
},
];

View File

@@ -7,6 +7,7 @@ import {
assertQueryResult,
getQueryWithEscapedParameters,
} from "../helpers.js";
import { docsTests } from "./docs.js";
export default async function runWorkbenchTests(database) {
await runTests(database, databaseTests);
@@ -14,9 +15,9 @@ export default async function runWorkbenchTests(database) {
await runTests(database, logTests);
await runTests(database, mergeTests);
await runTests(database, tableTests);
await runTests(database, docsTests);
// TODO:
// Diffs
// Docs
// Views
// Tags
}
@@ -43,6 +44,13 @@ async function runTests(database, tests) {
}
})
.catch((err) => {
if (test.expectedErr) {
if (err.message.includes(test.expectedErr)) {
return;
} else {
console.log("Query error did not match expected:", test.q);
}
}
console.error(err);
process.exit(1);
});