diff --git a/core/dbt/artifacts/resources/v1/components.py b/core/dbt/artifacts/resources/v1/components.py index 8eb43f35d8e..5d138c9bfde 100644 --- a/core/dbt/artifacts/resources/v1/components.py +++ b/core/dbt/artifacts/resources/v1/components.py @@ -12,7 +12,7 @@ from dbt_common.dataclass_schema import ExtensibleDbtClassMixin, dbtClassMixin from dbt_semantic_interfaces.type_enums import TimeGranularity -NodeVersion = Union[str, float] +NodeVersion = Union[int, float, str] @dataclass diff --git a/core/dbt/artifacts/resources/v1/source_definition.py b/core/dbt/artifacts/resources/v1/source_definition.py index 9044307563e..96289b13b42 100644 --- a/core/dbt/artifacts/resources/v1/source_definition.py +++ b/core/dbt/artifacts/resources/v1/source_definition.py @@ -40,7 +40,7 @@ class ExternalTable(AdditionalPropertiesAllowed, Mergeable): file_format: Optional[str] = None row_format: Optional[str] = None tbl_properties: Optional[str] = None - partitions: Optional[Union[List[str], List[ExternalPartition]]] = None + partitions: Optional[Union[List[ExternalPartition], List[str]]] = None def __bool__(self): return self.location is not None diff --git a/core/dbt/parser/schemas.py b/core/dbt/parser/schemas.py index 818eb71212c..773108ea57b 100644 --- a/core/dbt/parser/schemas.py +++ b/core/dbt/parser/schemas.py @@ -299,7 +299,7 @@ def _add_yaml_snapshot_nodes_to_manifest( snapshot_node = parser._create_parsetime_node( block, compiled_path, - parser.initial_config(fqn), + parser.initial_config_builder(fqn), fqn, snapshot["name"], ) diff --git a/tests/functional/artifacts/test_serialization.py b/tests/functional/artifacts/test_serialization.py index 1b3ac60df81..9fa6d8a8fcb 100644 --- a/tests/functional/artifacts/test_serialization.py +++ b/tests/functional/artifacts/test_serialization.py @@ -1,12 +1,11 @@ from dataclasses import dataclass, field from typing import Any, Dict, List, Optional, Union -import pytest -from mashumaro.mixins.msgpack import DataClassMessagePackMixin +from dbt_common.dataclass_schema import dbtClassMixin @dataclass -class ExternalPartition(DataClassMessagePackMixin): +class ExternalPartition(dbtClassMixin): name: str = "" description: str = "" data_type: str = "" @@ -14,7 +13,7 @@ class ExternalPartition(DataClassMessagePackMixin): @dataclass -class ExternalTable(DataClassMessagePackMixin): +class ExternalTable(dbtClassMixin): location: Optional[str] = None file_format: Optional[str] = None row_format: Optional[str] = None @@ -22,7 +21,6 @@ class ExternalTable(DataClassMessagePackMixin): partitions: Optional[Union[List[ExternalPartition], List[str]]] = None -@pytest.mark.skip("skip until mashumaro 3.15") def test_partitions_serialization(): part1 = ExternalPartition(