lava-oushudb-dt-sql-parser/test/parser/impala/syntax/dropStatement.test.ts
Hayden 8f72a5af60
Fix/export abstract visitor (#237)
* fix: #236 export AbstractParseTreeVisitor

* build: set isolatedModules true

* feat: import parser about from filters
2023-12-19 19:22:27 +08:00

59 lines
1.7 KiB
TypeScript

import { ImpalaSQL } from '../../../filters';
import { readSQL } from '../../../helper';
const parser = new ImpalaSQL();
const features = {
dbs: readSQL(__dirname, 'drop_db.sql'),
functions: readSQL(__dirname, 'drop_function.sql'),
roles: readSQL(__dirname, 'drop_role.sql'),
stats: readSQL(__dirname, 'drop_stats.sql'),
tables: readSQL(__dirname, 'drop_table.sql'),
views: readSQL(__dirname, 'drop_view.sql'),
};
describe('ImpalaSQL Drop Syntax Tests', () => {
describe('DROP DATABASE', () => {
features.dbs.forEach((db) => {
it(db, () => {
expect(parser.validate(db).length).toBe(0);
});
});
});
describe('DROP FUNCTION', () => {
features.functions.forEach((db) => {
it(db, () => {
expect(parser.validate(db).length).toBe(0);
});
});
});
describe('DROP ROLE', () => {
features.roles.forEach((db) => {
it(db, () => {
expect(parser.validate(db).length).toBe(0);
});
});
});
describe('DROP STATS', () => {
features.stats.forEach((db) => {
it(db, () => {
expect(parser.validate(db).length).toBe(0);
});
});
});
describe('DROP TABLE', () => {
features.tables.forEach((db) => {
it(db, () => {
expect(parser.validate(db).length).toBe(0);
});
});
});
describe('DROP VIEW', () => {
features.views.forEach((db) => {
it(db, () => {
expect(parser.validate(db).length).toBe(0);
});
});
});
});