Skip to content

Commit d953360

Browse files
authored
improvement: lazy-load sql parser (#12)
1 parent f84b1fd commit d953360

7 files changed

Lines changed: 112 additions & 93 deletions

File tree

src/sql/__tests__/parser.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,59 +5,59 @@ describe("SqlParser", () => {
55
const parser = new SqlParser();
66

77
describe("parse", () => {
8-
it("should parse valid SQL successfully", () => {
8+
it("should parse valid SQL successfully", async () => {
99
const sql = "SELECT * FROM users WHERE id = 1";
10-
const result = parser.parse(sql);
10+
const result = await parser.parse(sql);
1111

1212
expect(result.success).toBe(true);
1313
expect(result.errors).toHaveLength(0);
1414
expect(result.ast).toBeDefined();
1515
});
1616

17-
it("should handle complex queries", () => {
17+
it("should handle complex queries", async () => {
1818
const sql = `
1919
SELECT u.name, p.title
2020
FROM users u
2121
JOIN posts p ON u.id = p.user_id
2222
WHERE u.active = true
2323
ORDER BY p.created_at DESC
2424
`;
25-
const result = parser.parse(sql);
25+
const result = await parser.parse(sql);
2626

2727
expect(result.success).toBe(true);
2828
expect(result.errors).toHaveLength(0);
2929
});
3030

31-
it("should return errors for invalid SQL", () => {
31+
it("should return errors for invalid SQL", async () => {
3232
const sql = "SELECT * FROM";
33-
const result = parser.parse(sql);
33+
const result = await parser.parse(sql);
3434

3535
expect(result.success).toBe(false);
3636
expect(result.errors).toHaveLength(1);
3737
expect(result.errors[0].severity).toBe("error");
3838
expect(result.errors[0].message).toBeTruthy();
3939
});
4040

41-
it("should return errors for syntax errors", () => {
41+
it("should return errors for syntax errors", async () => {
4242
const sql = "SELECT * FORM users";
43-
const result = parser.parse(sql);
43+
const result = await parser.parse(sql);
4444

4545
expect(result.success).toBe(false);
4646
expect(result.errors).toHaveLength(1);
4747
});
4848
});
4949

5050
describe("validateSql", () => {
51-
it("should return empty array for valid SQL", () => {
51+
it("should return empty array for valid SQL", async () => {
5252
const sql = "SELECT 1";
53-
const errors = parser.validateSql(sql);
53+
const errors = await parser.validateSql(sql);
5454

5555
expect(errors).toHaveLength(0);
5656
});
5757

58-
it("should return errors for invalid SQL", () => {
58+
it("should return errors for invalid SQL", async () => {
5959
const sql = "SELECT * FROM WHERE";
60-
const errors = parser.validateSql(sql);
60+
const errors = await parser.validateSql(sql);
6161

6262
expect(errors.length).toBeGreaterThan(0);
6363
expect(errors[0]).toHaveProperty("message");

0 commit comments

Comments
 (0)