Skip to content

Commit

Permalink
applied new integration tests to existing framework
Browse files Browse the repository at this point in the history
  • Loading branch information
mikealfare committed Jul 14, 2023
1 parent 015c490 commit b2a481d
Show file tree
Hide file tree
Showing 6 changed files with 415 additions and 220 deletions.
31 changes: 30 additions & 1 deletion core/dbt/tests/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
)
from dbt.events.base_types import EventLevel
from dbt.events.types import Note

from dbt.adapters.base.relation import BaseRelation

# =============================================================================
# Test utilities
Expand Down Expand Up @@ -588,3 +588,32 @@ def __eq__(self, other):

def __repr__(self):
return "AnyStringWith<{!r}>".format(self.contains)


def assert_message_in_logs(message: str, logs: str, expected_pass: bool = True):
# if the logs are json strings, then 'jsonify' the message because of things like escape quotes
if os.environ.get("DBT_LOG_FORMAT", "") == "json":
message = message.replace(r'"', r"\"")

if expected_pass:
assert message in logs
else:
assert message not in logs


def get_project_config(project):
file_yaml = read_file(project.project_root, "dbt_project.yml")
return yaml.safe_load(file_yaml)


def set_project_config(project, config):
config_yaml = yaml.safe_dump(config)
write_file(config_yaml, project.project_root, "dbt_project.yml")


def get_model_file(project, relation: BaseRelation) -> str:
return read_file(project.project_root, "models", f"{relation.name}.sql")


def set_model_file(project, relation: BaseRelation, model_sql: str):
write_file(model_sql, project.project_root, "models", f"{relation.name}.sql")
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import pytest

from dbt.contracts.relation import RelationType

from dbt.adapters.postgres.relation import PostgresRelation


@pytest.fixture(scope="class")
def my_materialized_view(project) -> PostgresRelation:
return PostgresRelation.create(
identifier="my_materialized_view",
schema=project.test_schema,
database=project.database,
type=RelationType.MaterializedView,
)


@pytest.fixture(scope="class")
def my_view(project) -> PostgresRelation:
return PostgresRelation.create(
identifier="my_view",
schema=project.test_schema,
database=project.database,
type=RelationType.View,
)


@pytest.fixture(scope="class")
def my_table(project) -> PostgresRelation:
return PostgresRelation.create(
identifier="my_table",
schema=project.test_schema,
database=project.database,
type=RelationType.Table,
)


@pytest.fixture(scope="class")
def my_seed(project) -> PostgresRelation:
return PostgresRelation.create(
identifier="my_seed",
schema=project.test_schema,
database=project.database,
type=RelationType.Table,
)
31 changes: 31 additions & 0 deletions tests/functional/materializations/materialized_view_tests/files.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
MY_SEED = """
id,value
1,100
2,200
3,300
""".strip()


MY_TABLE = """
{{ config(
materialized='table',
) }}
select * from {{ ref('my_seed') }}
"""


MY_VIEW = """
{{ config(
materialized='view',
) }}
select * from {{ ref('my_seed') }}
"""


MY_MATERIALIZED_VIEW = """
{{ config(
materialized='materialized_view',
indexes=[{'columns': ['id']}],
) }}
select * from {{ ref('my_seed') }}
"""

This file was deleted.

Loading

0 comments on commit b2a481d

Please sign in to comment.