test cleanup
This commit is contained in:
33
format_sql_json.py
Normal file
33
format_sql_json.py
Normal file
@ -0,0 +1,33 @@
|
||||
import json
|
||||
import sqlparse
|
||||
|
||||
def reformat_sql(sql_item):
|
||||
if isinstance(sql_item, list):
|
||||
sql_str = " ".join(sql_item)
|
||||
else:
|
||||
sql_str = sql_item
|
||||
|
||||
formatted = sqlparse.format(sql_str, reindent=True, keyword_case='upper')
|
||||
# Filter out empty lines and ensure we return a list of strings
|
||||
return [line.rstrip() for line in formatted.split('\n') if line.strip()]
|
||||
|
||||
def process_file(filename):
|
||||
with open(filename, 'r') as f:
|
||||
data = json.load(f)
|
||||
|
||||
for suite in data:
|
||||
for test in suite.get("tests", []):
|
||||
if "expect" in test and "sql" in test["expect"]:
|
||||
if test["expect"]["sql"] is None:
|
||||
continue
|
||||
new_sql = []
|
||||
for q in test["expect"]["sql"]:
|
||||
new_sql.append(reformat_sql(q))
|
||||
test["expect"]["sql"] = new_sql
|
||||
|
||||
with open(filename, 'w') as f:
|
||||
json.dump(data, f, indent=4)
|
||||
|
||||
if __name__ == "__main__":
|
||||
process_file("fixtures/queryer.json")
|
||||
process_file("fixtures/merger.json")
|
||||
Reference in New Issue
Block a user