Skip to content

Commit 59d4b42

Browse files
committed
add a test for batch_utils.py
bringing coverage of the file to 100%
1 parent 8307605 commit 59d4b42

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

test/pytests/test_batch_utils.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,24 @@ def test_statements_from_filehandle_yields_invalid_sql_02() -> None:
7878
assert statements == [
7979
('select `column;', 0),
8080
]
81+
82+
83+
def test_statements_from_filehandle_continues_when_tokenizer_returns_no_tokens(monkeypatch) -> None:
84+
tokenize_calls: list[str] = []
85+
original_tokenize = mycli.packages.batch_utils.sqlglot.tokenize
86+
87+
def fake_tokenize(sql: str, read: str):
88+
tokenize_calls.append(sql)
89+
if len(tokenize_calls) == 1:
90+
return []
91+
return original_tokenize(sql, read=read)
92+
93+
monkeypatch.setattr(mycli.packages.batch_utils.sqlglot, 'tokenize', fake_tokenize)
94+
95+
statements = list(statements_from_filehandle(StringIO('select 1;\nselect 2;')))
96+
97+
assert tokenize_calls[0] == 'select 1;\n'
98+
assert statements == [
99+
('select 1;', 0),
100+
('select 2;', 1),
101+
]

0 commit comments

Comments
 (0)