34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
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")
|