Skip to content

Commit 846fb37

Browse files
committed
Begin testing volatility setting of sql functions in dbt-redshift
1 parent be287a7 commit 846fb37

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed
Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
from dbt.artifacts.schemas.results import RunStatus
2-
from dbt.contracts.graph.nodes import FunctionNode
3-
from dbt.tests.util import run_dbt
41
import pytest
52
from dbt.tests.adapter.functions.files import MY_UDF_YML
6-
from dbt.tests.adapter.functions.test_udfs import UDFsBasic
3+
from dbt.tests.adapter.functions.test_udfs import (
4+
UDFsBasic,
5+
DeterministicUDF,
6+
StableUDF,
7+
NonDeterministicUDF,
8+
)
79
from tests.functional.functions.files import MY_UDF_SQL
810

911

@@ -15,3 +17,19 @@ def functions(self):
1517
"price_for_xlarge.sql": MY_UDF_SQL,
1618
"price_for_xlarge.yml": MY_UDF_YML,
1719
}
20+
21+
def check_function_volatility(self, sql: str):
22+
# in redshift, if no volatility is set, we template in VOLATILE
23+
assert "VOLATILE" in sql
24+
25+
26+
class TestRedshiftDeterministicUDFs(DeterministicUDF):
27+
pass
28+
29+
30+
class TestRedshiftStableUDFs(StableUDF):
31+
pass
32+
33+
34+
class TestRedshiftNonDeterministicUDFs(NonDeterministicUDF):
35+
pass

0 commit comments

Comments
 (0)