feat: small refactor
This commit is contained in:
35
tests/test_helpers_sql.py
Normal file
35
tests/test_helpers_sql.py
Normal file
@@ -0,0 +1,35 @@
|
||||
"""Tests for data_platform.helpers.sql — render_sql."""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from jinja2 import TemplateNotFound
|
||||
|
||||
from data_platform.helpers import render_sql
|
||||
|
||||
|
||||
_FIXTURES = Path(__file__).parent / "fixtures" / "sql"
|
||||
|
||||
|
||||
class TestRenderSql:
|
||||
def test_renders_plain_sql(self, tmp_path):
|
||||
sql_file = tmp_path / "plain.sql"
|
||||
sql_file.write_text("select 1")
|
||||
result = render_sql(tmp_path, "plain.sql")
|
||||
assert result == "select 1"
|
||||
|
||||
def test_renders_with_variables(self, tmp_path):
|
||||
sql_file = tmp_path / "schema.sql"
|
||||
sql_file.write_text("create schema if not exists {{ schema }}")
|
||||
result = render_sql(tmp_path, "schema.sql", schema="elo")
|
||||
assert result == "create schema if not exists elo"
|
||||
|
||||
def test_missing_template_raises(self, tmp_path):
|
||||
with pytest.raises(TemplateNotFound):
|
||||
render_sql(tmp_path, "nonexistent.sql")
|
||||
|
||||
def test_multiple_variables(self, tmp_path):
|
||||
sql_file = tmp_path / "multi.sql"
|
||||
sql_file.write_text("select * from {{ schema }}.{{ table }}")
|
||||
result = render_sql(tmp_path, "multi.sql", schema="raw", table="events")
|
||||
assert result == "select * from raw.events"
|
||||
Reference in New Issue
Block a user