Skip to content

Commit

Permalink
Move fixtures from model_fixtures.py to manifest_fixtures.py.
Browse files Browse the repository at this point in the history
There was an earlier rename from model -> semantic manifest.
  • Loading branch information
plypaul committed Feb 5, 2024
1 parent 4c370ab commit 7dad28b
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 117 deletions.
1 change: 0 additions & 1 deletion metricflow/test/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from metricflow.test.fixtures.dataflow_fixtures import * # noqa: F401, F403
from metricflow.test.fixtures.id_fixtures import * # noqa: F401, F403
from metricflow.test.fixtures.manifest_fixtures import * # noqa: F401, F403
from metricflow.test.fixtures.model_fixtures import * # noqa: F401, F403
from metricflow.test.fixtures.setup_fixtures import * # noqa: F401, F403
from metricflow.test.fixtures.sql_client_fixtures import * # noqa: F401, F403
from metricflow.test.fixtures.sql_fixtures import * # noqa: F401, F403
Expand Down
101 changes: 100 additions & 1 deletion metricflow/test/fixtures/manifest_fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
SemanticManifestBuildResult,
parse_directory_of_yaml_files_to_semantic_manifest,
)
from dbt_semantic_interfaces.protocols import SemanticModel
from dbt_semantic_interfaces.protocols import SemanticManifest, SemanticModel
from dbt_semantic_interfaces.test_utils import as_datetime
from dbt_semantic_interfaces.validations.semantic_manifest_validator import SemanticManifestValidator

Expand Down Expand Up @@ -198,3 +198,102 @@ def load_semantic_manifest(
def template_mapping(mf_test_session_state: MetricFlowTestSessionState) -> Dict[str, str]:
"""Mapping for template variables in the model YAML files."""
return {"source_schema": mf_test_session_state.mf_source_schema}


@pytest.fixture(scope="session")
def simple_semantic_manifest_lookup_non_ds( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
return mf_engine_test_fixture_mapping[SemanticManifestName.NON_SM_MANIFEST].semantic_manifest_lookup


@pytest.fixture(scope="session")
def simple_semantic_manifest_lookup( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
return mf_engine_test_fixture_mapping[SemanticManifestName.SIMPLE_MANIFEST].semantic_manifest_lookup


@pytest.fixture(scope="session")
def partitioned_multi_hop_join_semantic_manifest_lookup( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
return mf_engine_test_fixture_mapping[
SemanticManifestName.PARTITIONED_MULTI_HOP_JOIN_MANIFEST
].semantic_manifest_lookup


@pytest.fixture(scope="session")
def multi_hop_join_semantic_manifest_lookup( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
return mf_engine_test_fixture_mapping[SemanticManifestName.MULTI_HOP_JOIN_MANIFEST].semantic_manifest_lookup


@pytest.fixture(scope="session")
def simple_semantic_manifest(
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifest:
"""Model used for many tests."""
return mf_engine_test_fixture_mapping[SemanticManifestName.SIMPLE_MANIFEST].semantic_manifest


@pytest.fixture(scope="session")
def extended_date_semantic_manifest_lookup( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
return mf_engine_test_fixture_mapping[SemanticManifestName.EXTENDED_DATE_MANIFEST].semantic_manifest_lookup


@pytest.fixture(scope="session")
def scd_semantic_manifest_lookup(
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
"""Initialize semantic model for SCD tests."""
return mf_engine_test_fixture_mapping[SemanticManifestName.SCD_MANIFEST].semantic_manifest_lookup


@pytest.fixture(scope="session")
def data_warehouse_validation_model(
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifest:
"""Model used for data warehouse validation tests."""
return mf_engine_test_fixture_mapping[SemanticManifestName.DATA_WAREHOUSE_VALIDATION_MANIFEST].semantic_manifest


@pytest.fixture(scope="session")
def cyclic_join_semantic_manifest_lookup(
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
"""Manifest that contains a potential cycle in the join graph (if not handled properly)."""
return mf_engine_test_fixture_mapping[SemanticManifestName.CYCLIC_JOIN_MANIFEST].semantic_manifest_lookup


@pytest.fixture(scope="session")
def ambiguous_resolution_manifest(
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> PydanticSemanticManifest:
"""Manifest used to test ambiguous resolution of group-by-items."""
return mf_engine_test_fixture_mapping[SemanticManifestName.AMBIGUOUS_RESOLUTION_MANIFEST].semantic_manifest


@pytest.fixture(scope="session")
def ambiguous_resolution_manifest_lookup( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
return mf_engine_test_fixture_mapping[SemanticManifestName.AMBIGUOUS_RESOLUTION_MANIFEST].semantic_manifest_lookup


@pytest.fixture(scope="session")
def simple_multi_hop_join_manifest( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> PydanticSemanticManifest:
return mf_engine_test_fixture_mapping[SemanticManifestName.SIMPLE_MULTI_HOP_JOIN_MANIFEST].semantic_manifest


@pytest.fixture(scope="session")
def simple_multi_hop_join_manifest_lookup( # noqa: D
mf_engine_test_fixture_mapping: Mapping[SemanticManifestName, MetricFlowEngineTestFixture]
) -> SemanticManifestLookup:
"""Manifest used to test ambiguous resolution of group-by-items."""
return mf_engine_test_fixture_mapping[SemanticManifestName.SIMPLE_MULTI_HOP_JOIN_MANIFEST].semantic_manifest_lookup
115 changes: 0 additions & 115 deletions metricflow/test/fixtures/model_fixtures.py

This file was deleted.

0 comments on commit 7dad28b

Please sign in to comment.