diff --git a/python/codegen/codegen/generated_dataclass.py b/python/codegen/codegen/generated_dataclass.py index ad4f6133aa5..2c36bba1cf8 100644 --- a/python/codegen/codegen/generated_dataclass.py +++ b/python/codegen/codegen/generated_dataclass.py @@ -1,4 +1,4 @@ -from dataclasses import dataclass +from dataclasses import dataclass, replace from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: @@ -65,14 +65,6 @@ class GeneratedField: The type of the field in TypedDict, e.g., GeneratedType(name="TaskParam", ...) """ - create_func_type_name: GeneratedType - """ - Type type of the field in static "create" function, e.g., GeneratedType(name="TaskParam", ...) - - It can be different from param_type_name because lists are made optional in "create" function - to avoid problems with mutable default arguments. - """ - description: Optional[str] """ The description of the field to be included into a docstring. @@ -83,14 +75,6 @@ class GeneratedField: The default value of the field, e.g., "None" """ - create_func_default: Optional[str] - """ - The default value of the field in "create" function. - - It can be different from default because lists are made optional in "create" function - to avoid problems with mutable default arguments. - """ - default_factory: Optional[str] """ Factory method for creating a default value, used for lists and dicts. @@ -151,66 +135,27 @@ def generate_field( field_type = variable_or_type(field_type, is_required=is_required) param_type = variable_or_type(param_type, is_required=is_required) + # Base is the optional-scalar shape (default None). Collections instead use an + # empty-container factory, and required fields carry no default. + field = GeneratedField( + field_name=field_name, + type_name=field_type, + param_type_name=param_type, + description=prop.description, + default="None", + default_factory=None, + experimental=is_experimental_stage(prop.stage), + deprecated=prop.deprecated or False, + ) + if field_type.name == "VariableOrDict": - return GeneratedField( - field_name=field_name, - type_name=field_type, - param_type_name=param_type, - create_func_type_name=optional_type(param_type), - description=prop.description, - default=None, - default_factory="dict", - create_func_default="None", - experimental=is_experimental_stage(prop.stage), - deprecated=prop.deprecated or False, - ) + return replace(field, default=None, default_factory="dict") elif field_type.name == "VariableOrList": - return GeneratedField( - field_name=field_name, - type_name=field_type, - param_type_name=param_type, - create_func_type_name=optional_type(param_type), - description=prop.description, - default=None, - default_factory="list", - create_func_default="None", - experimental=is_experimental_stage(prop.stage), - deprecated=prop.deprecated or False, - ) + return replace(field, default=None, default_factory="list") elif is_required: - return GeneratedField( - field_name=field_name, - type_name=field_type, - param_type_name=param_type, - create_func_type_name=param_type, - description=prop.description, - default=None, - default_factory=None, - create_func_default=None, - experimental=is_experimental_stage(prop.stage), - deprecated=prop.deprecated or False, - ) - else: - return GeneratedField( - field_name=field_name, - type_name=field_type, - param_type_name=param_type, - create_func_type_name=param_type, - description=prop.description, - default="None", - default_factory=None, - create_func_default="None", - experimental=is_experimental_stage(prop.stage), - deprecated=prop.deprecated or False, - ) + return replace(field, default=None) - -def optional_type(generated: GeneratedType) -> GeneratedType: - return GeneratedType( - name="Optional", - package="typing", - parameters=[generated], - ) + return field def str_type() -> GeneratedType: @@ -281,7 +226,12 @@ def generate_type(namespace: str, ref: str, is_param: bool) -> GeneratedType: parameters=[element_type], ) - if ref == "#/$defs/map/string": + if ref.startswith("#/$defs/map/"): + # Only dict[str, str] is modelled today; anything else (e.g. map/int, + # map/) fails loudly instead. + if ref != "#/$defs/map/string": + raise ValueError(f"Unsupported map ref: {ref}") + return dict_type() class_name = packages.get_class_name(ref) diff --git a/python/codegen/codegen/generated_test_cases.py b/python/codegen/codegen/generated_test_cases.py index aa030f5f49e..9cf4e75c9b1 100644 --- a/python/codegen/codegen/generated_test_cases.py +++ b/python/codegen/codegen/generated_test_cases.py @@ -1,8 +1,8 @@ """ -Generates the per-resource TestCase data driving databricks_tests/core/test_resources.py. +Generates the per-resource ResourceTestCase data driving databricks_tests/core/test_resources.py. For every wired resource a file _generated/.py is written (rendered from -test_case.py.tmpl) exposing _test_case() -> (TestCase, _ResourceType). The generated +test_case.py.tmpl) exposing _test_case() -> (ResourceTestCase, _ResourceType). The generated _generated/__init__.py collects them into `test_cases`, which test_resources.py imports and parametrizes its per-resource tests off. @@ -160,8 +160,7 @@ def _synth_ref( schema = schemas[name] class_name = packages.get_class_name(ref) - module = packages.get_package(namespace, ref) - assert module + module = _module_of(namespace, ref) if schema.type == openapi.SchemaType.STRING: value = schema.enum[0] @@ -208,7 +207,7 @@ def _synth_object( continue if ( prop.deprecated - or _STAGE_RANK[prop.stage] + or _STAGE_RANK.get(prop.stage, 0) > _STAGE_RANK[openapi.LaunchStage.PUBLIC_PREVIEW] ): continue diff --git a/python/codegen/codegen/main.py b/python/codegen/codegen/main.py index 924ec269e88..e9ae2047b1e 100644 --- a/python/codegen/codegen/main.py +++ b/python/codegen/codegen/main.py @@ -53,7 +53,7 @@ def main(output: str): # decorators, and the core package __init__). generated_wiring.write_wiring(output) - # Generate the per-resource TestCase data driving test_resources.py. + # Generate the per-resource ResourceTestCase data driving test_resources.py. generated_test_cases.write_test_cases(output, schemas) diff --git a/python/codegen/codegen/test_case.py.tmpl b/python/codegen/codegen/test_case.py.tmpl index 8abe9d1ce5e..87cc49f8e8a 100644 --- a/python/codegen/codegen/test_case.py.tmpl +++ b/python/codegen/codegen/test_case.py.tmpl @@ -1,12 +1,12 @@ from databricks.bundles.core import Resources, ${singular}_mutator from databricks.bundles.core._generated.${plural} import _resource_type -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase $model_imports def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_${singular}, dict_example=$dict_example, dataclass_example=$dataclass_example, diff --git a/python/codegen/codegen_tests/test_generated_dataclass.py b/python/codegen/codegen_tests/test_generated_dataclass.py index 504d05bfa11..93ae26c5205 100644 --- a/python/codegen/codegen_tests/test_generated_dataclass.py +++ b/python/codegen/codegen_tests/test_generated_dataclass.py @@ -60,8 +60,6 @@ def test_generate_dataclass(): extends=[], fields=[ GeneratedField( - create_func_default=None, - create_func_type_name=variable_or_type(str_type(), is_required=True), default=None, default_factory=None, description="task_key description", diff --git a/python/databricks_tests/core/_generated/alerts.py b/python/databricks_tests/core/_generated/alerts.py index ec85f6daeae..2d8e117c99c 100644 --- a/python/databricks_tests/core/_generated/alerts.py +++ b/python/databricks_tests/core/_generated/alerts.py @@ -13,12 +13,12 @@ from databricks.bundles.alerts._models.permission_level import PermissionLevel from databricks.bundles.core import Resources, alert_mutator from databricks.bundles.core._generated.alerts import _resource_type -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_alert, dict_example={ "display_name": "display_name", diff --git a/python/databricks_tests/core/_generated/apps.py b/python/databricks_tests/core/_generated/apps.py index c16a7512893..f549a8a0280 100644 --- a/python/databricks_tests/core/_generated/apps.py +++ b/python/databricks_tests/core/_generated/apps.py @@ -13,12 +13,12 @@ ) from databricks.bundles.core import Resources, app_mutator from databricks.bundles.core._generated.apps import _resource_type -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_app, dict_example={ "compute_size": "MEDIUM", diff --git a/python/databricks_tests/core/_generated/catalogs.py b/python/databricks_tests/core/_generated/catalogs.py index 177ada20428..117d964071c 100644 --- a/python/databricks_tests/core/_generated/catalogs.py +++ b/python/databricks_tests/core/_generated/catalogs.py @@ -6,12 +6,12 @@ from databricks.bundles.catalogs._models.privilege_assignment import PrivilegeAssignment from databricks.bundles.core import Resources, catalog_mutator from databricks.bundles.core._generated.catalogs import _resource_type -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_catalog, dict_example={ "grants": [{}], diff --git a/python/databricks_tests/core/_generated/clusters.py b/python/databricks_tests/core/_generated/clusters.py index d843f6c8f5d..c3de32f3016 100644 --- a/python/databricks_tests/core/_generated/clusters.py +++ b/python/databricks_tests/core/_generated/clusters.py @@ -25,12 +25,12 @@ from databricks.bundles.clusters._models.workload_type import WorkloadType from databricks.bundles.core import Resources, cluster_mutator from databricks.bundles.core._generated.clusters import _resource_type -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_cluster, dict_example={ "autoscale": {}, diff --git a/python/databricks_tests/core/_generated/database_catalogs.py b/python/databricks_tests/core/_generated/database_catalogs.py index 0d774e87268..43919e9c7d9 100644 --- a/python/databricks_tests/core/_generated/database_catalogs.py +++ b/python/databricks_tests/core/_generated/database_catalogs.py @@ -6,12 +6,12 @@ DatabaseCatalog, ) from databricks.bundles.database_catalogs._models.lifecycle import Lifecycle -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_database_catalog, dict_example={ "database_instance_name": "database_instance_name", diff --git a/python/databricks_tests/core/_generated/database_instances.py b/python/databricks_tests/core/_generated/database_instances.py index 62a5c1c8f21..9fb8c2d6962 100644 --- a/python/databricks_tests/core/_generated/database_instances.py +++ b/python/databricks_tests/core/_generated/database_instances.py @@ -13,12 +13,12 @@ from databricks.bundles.database_instances._models.permission_level import ( PermissionLevel, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_database_instance, dict_example={ "lifecycle": {}, diff --git a/python/databricks_tests/core/_generated/experiments.py b/python/databricks_tests/core/_generated/experiments.py index 8a95f46dc28..229dec55646 100644 --- a/python/databricks_tests/core/_generated/experiments.py +++ b/python/databricks_tests/core/_generated/experiments.py @@ -11,12 +11,12 @@ from databricks.bundles.experiments._models.mlflow_experiment_permission import ( MlflowExperimentPermission, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_mlflow_experiment, dict_example={ "lifecycle": {}, diff --git a/python/databricks_tests/core/_generated/external_locations.py b/python/databricks_tests/core/_generated/external_locations.py index 9891fe648f6..d2bb07e0644 100644 --- a/python/databricks_tests/core/_generated/external_locations.py +++ b/python/databricks_tests/core/_generated/external_locations.py @@ -15,12 +15,12 @@ from databricks.bundles.external_locations._models.privilege_assignment import ( PrivilegeAssignment, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_external_location, dict_example={ "credential_name": "credential_name", diff --git a/python/databricks_tests/core/_generated/instance_pools.py b/python/databricks_tests/core/_generated/instance_pools.py index e5328d96ad8..585cdfaec8e 100644 --- a/python/databricks_tests/core/_generated/instance_pools.py +++ b/python/databricks_tests/core/_generated/instance_pools.py @@ -24,12 +24,12 @@ from databricks.bundles.instance_pools._models.node_type_flexibility import ( NodeTypeFlexibility, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_instance_pool, dict_example={ "aws_attributes": {}, diff --git a/python/databricks_tests/core/_generated/job_runs.py b/python/databricks_tests/core/_generated/job_runs.py index e575d69b963..09b1c10f6eb 100644 --- a/python/databricks_tests/core/_generated/job_runs.py +++ b/python/databricks_tests/core/_generated/job_runs.py @@ -7,12 +7,12 @@ from databricks.bundles.job_runs._models.performance_target import PerformanceTarget from databricks.bundles.job_runs._models.pipeline_params import PipelineParams from databricks.bundles.job_runs._models.queue_settings import QueueSettings -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_job_run, dict_example={ "job_id": 0, diff --git a/python/databricks_tests/core/_generated/jobs.py b/python/databricks_tests/core/_generated/jobs.py index 878e916cd69..3ed344b3811 100644 --- a/python/databricks_tests/core/_generated/jobs.py +++ b/python/databricks_tests/core/_generated/jobs.py @@ -28,12 +28,12 @@ from databricks.bundles.jobs._models.task import Task from databricks.bundles.jobs._models.trigger_settings import TriggerSettings from databricks.bundles.jobs._models.webhook_notifications import WebhookNotifications -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_job, dict_example={ "continuous": {}, diff --git a/python/databricks_tests/core/_generated/model_serving_endpoints.py b/python/databricks_tests/core/_generated/model_serving_endpoints.py index 1e21d8bde7a..f658d74e899 100644 --- a/python/databricks_tests/core/_generated/model_serving_endpoints.py +++ b/python/databricks_tests/core/_generated/model_serving_endpoints.py @@ -25,12 +25,12 @@ from databricks.bundles.model_serving_endpoints._models.telemetry_config import ( TelemetryConfig, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_model_serving_endpoint, dict_example={ "ai_gateway": {}, diff --git a/python/databricks_tests/core/_generated/models.py b/python/databricks_tests/core/_generated/models.py index f5a90c5604f..e1c3c16deea 100644 --- a/python/databricks_tests/core/_generated/models.py +++ b/python/databricks_tests/core/_generated/models.py @@ -11,12 +11,12 @@ from databricks.bundles.models._models.registered_model_permission_level import ( RegisteredModelPermissionLevel, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_mlflow_model, dict_example={ "lifecycle": {}, diff --git a/python/databricks_tests/core/_generated/pipelines.py b/python/databricks_tests/core/_generated/pipelines.py index 096a05e6012..46ecc044b1f 100644 --- a/python/databricks_tests/core/_generated/pipelines.py +++ b/python/databricks_tests/core/_generated/pipelines.py @@ -20,12 +20,12 @@ PipelinesEnvironment, ) from databricks.bundles.pipelines._models.run_as import RunAs -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_pipeline, dict_example={ "clusters": [{}], diff --git a/python/databricks_tests/core/_generated/postgres_snapshot_schedules.py b/python/databricks_tests/core/_generated/postgres_snapshot_schedules.py index fae3360cd72..cb177cca5cc 100644 --- a/python/databricks_tests/core/_generated/postgres_snapshot_schedules.py +++ b/python/databricks_tests/core/_generated/postgres_snapshot_schedules.py @@ -11,12 +11,12 @@ from databricks.bundles.postgres_snapshot_schedules._models.schedule_cadence import ( ScheduleCadence, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_postgres_snapshot_schedule, dict_example={ "branch": "branch", diff --git a/python/databricks_tests/core/_generated/quality_monitors.py b/python/databricks_tests/core/_generated/quality_monitors.py index e0688dedaed..4e244d7cdd5 100644 --- a/python/databricks_tests/core/_generated/quality_monitors.py +++ b/python/databricks_tests/core/_generated/quality_monitors.py @@ -24,12 +24,12 @@ MonitorTimeSeries, ) from databricks.bundles.quality_monitors._models.quality_monitor import QualityMonitor -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_quality_monitor, dict_example={ "assets_dir": "assets_dir", diff --git a/python/databricks_tests/core/_generated/registered_models.py b/python/databricks_tests/core/_generated/registered_models.py index 07a59c43f84..81d5f2d7ed4 100644 --- a/python/databricks_tests/core/_generated/registered_models.py +++ b/python/databricks_tests/core/_generated/registered_models.py @@ -12,12 +12,12 @@ from databricks.bundles.registered_models._models.registered_model_alias import ( RegisteredModelAlias, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_registered_model, dict_example={"aliases": [{}], "grants": [{}], "lifecycle": {}}, dataclass_example=RegisteredModel( diff --git a/python/databricks_tests/core/_generated/schemas.py b/python/databricks_tests/core/_generated/schemas.py index 49adceab523..576b0c7d3cd 100644 --- a/python/databricks_tests/core/_generated/schemas.py +++ b/python/databricks_tests/core/_generated/schemas.py @@ -5,12 +5,12 @@ from databricks.bundles.schemas._models.lifecycle import Lifecycle from databricks.bundles.schemas._models.privilege_assignment import PrivilegeAssignment from databricks.bundles.schemas._models.schema import Schema -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_schema, dict_example={ "catalog_name": "catalog_name", diff --git a/python/databricks_tests/core/_generated/secret_scopes.py b/python/databricks_tests/core/_generated/secret_scopes.py index eb299900bcf..8edc6ce6e1b 100644 --- a/python/databricks_tests/core/_generated/secret_scopes.py +++ b/python/databricks_tests/core/_generated/secret_scopes.py @@ -14,12 +14,12 @@ from databricks.bundles.secret_scopes._models.secret_scope_permission_level import ( SecretScopePermissionLevel, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_secret_scope, dict_example={ "backend_type": "DATABRICKS", diff --git a/python/databricks_tests/core/_generated/secrets.py b/python/databricks_tests/core/_generated/secrets.py index 48680153209..65e782459d3 100644 --- a/python/databricks_tests/core/_generated/secrets.py +++ b/python/databricks_tests/core/_generated/secrets.py @@ -5,12 +5,12 @@ from databricks.bundles.secrets._models.lifecycle import Lifecycle from databricks.bundles.secrets._models.privilege_assignment import PrivilegeAssignment from databricks.bundles.secrets._models.secret import Secret -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_secret, dict_example={ "catalog_name": "catalog_name", diff --git a/python/databricks_tests/core/_generated/sql_warehouses.py b/python/databricks_tests/core/_generated/sql_warehouses.py index 42556c6d3c7..e6810ecd57c 100644 --- a/python/databricks_tests/core/_generated/sql_warehouses.py +++ b/python/databricks_tests/core/_generated/sql_warehouses.py @@ -20,12 +20,12 @@ from databricks.bundles.sql_warehouses._models.warehouse_permission_level import ( WarehousePermissionLevel, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_sql_warehouse, dict_example={ "channel": {}, diff --git a/python/databricks_tests/core/_generated/synced_database_tables.py b/python/databricks_tests/core/_generated/synced_database_tables.py index e1effc640a8..dea7172089a 100644 --- a/python/databricks_tests/core/_generated/synced_database_tables.py +++ b/python/databricks_tests/core/_generated/synced_database_tables.py @@ -9,12 +9,12 @@ from databricks.bundles.synced_database_tables._models.synced_table_spec import ( SyncedTableSpec, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_synced_database_table, dict_example={"lifecycle": {}, "name": "name", "spec": {}}, dataclass_example=SyncedDatabaseTable( diff --git a/python/databricks_tests/core/_generated/vector_search_endpoints.py b/python/databricks_tests/core/_generated/vector_search_endpoints.py index b01089ed806..30bdb70e91e 100644 --- a/python/databricks_tests/core/_generated/vector_search_endpoints.py +++ b/python/databricks_tests/core/_generated/vector_search_endpoints.py @@ -15,12 +15,12 @@ from databricks.bundles.vector_search_endpoints._models.vector_search_endpoint_permission_level import ( VectorSearchEndpointPermissionLevel, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_vector_search_endpoint, dict_example={ "endpoint_type": "STORAGE_OPTIMIZED", diff --git a/python/databricks_tests/core/_generated/vector_search_indexes.py b/python/databricks_tests/core/_generated/vector_search_indexes.py index 677cf14303d..d72ed337f55 100644 --- a/python/databricks_tests/core/_generated/vector_search_indexes.py +++ b/python/databricks_tests/core/_generated/vector_search_indexes.py @@ -18,12 +18,12 @@ from databricks.bundles.vector_search_indexes._models.vector_search_index import ( VectorSearchIndex, ) -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_vector_search_index, dict_example={ "delta_sync_index_spec": {}, diff --git a/python/databricks_tests/core/_generated/volumes.py b/python/databricks_tests/core/_generated/volumes.py index bf8b434adec..58d1b9a4459 100644 --- a/python/databricks_tests/core/_generated/volumes.py +++ b/python/databricks_tests/core/_generated/volumes.py @@ -6,12 +6,12 @@ from databricks.bundles.volumes._models.privilege_assignment import PrivilegeAssignment from databricks.bundles.volumes._models.volume import Volume from databricks.bundles.volumes._models.volume_type import VolumeType -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase def _test_case(): return ( - TestCase( + ResourceTestCase( add_resource=Resources.add_volume, dict_example={ "catalog_name": "catalog_name", diff --git a/python/databricks_tests/core/_resource_test_case.py b/python/databricks_tests/core/_resource_test_case.py index a9755e8e95c..2c9c8220f64 100644 --- a/python/databricks_tests/core/_resource_test_case.py +++ b/python/databricks_tests/core/_resource_test_case.py @@ -5,7 +5,7 @@ @dataclass(kw_only=True) -class TestCase: +class ResourceTestCase: add_resource: Callable dict_example: dict dataclass_example: Resource diff --git a/python/databricks_tests/core/test_resources.py b/python/databricks_tests/core/test_resources.py index ed50243d785..83cf911510d 100644 --- a/python/databricks_tests/core/test_resources.py +++ b/python/databricks_tests/core/test_resources.py @@ -8,7 +8,7 @@ from databricks.bundles.core._resource_type import _ResourceType from databricks.bundles.jobs._models.job import Job from databricks_tests.core._generated import test_cases -from databricks_tests.core._resource_test_case import TestCase +from databricks_tests.core._resource_test_case import ResourceTestCase test_case_ids = [tpe.plural_name for _, tpe in test_cases] @@ -37,7 +37,7 @@ def test_add_job(): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_add_resource_type(tc: TestCase, tpe: _ResourceType): +def test_add_resource_type(tc: ResourceTestCase, tpe: _ResourceType): resources = Resources() tc.add_resource( @@ -61,7 +61,7 @@ def test_add_job_dict(): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_add_resource_type_dict(tc: TestCase, tpe: _ResourceType): +def test_add_resource_type_dict(tc: ResourceTestCase, tpe: _ResourceType): resources = Resources() tc.add_resource( @@ -86,7 +86,7 @@ def test_add_job_location(): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_add_resource_type_location(tc: TestCase, tpe: _ResourceType): +def test_add_resource_type_location(tc: ResourceTestCase, tpe: _ResourceType): resources = Resources() location = Location(file="my_file", line=1, column=2) @@ -118,7 +118,7 @@ def test_add_job_location_automatic(): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_add_resource_type_location_automatic(tc: TestCase, tpe: _ResourceType): +def test_add_resource_type_location_automatic(tc: ResourceTestCase, tpe: _ResourceType): resources = Resources() tc.add_resource( @@ -140,7 +140,7 @@ def test_add_resource_type_location_automatic(tc: TestCase, tpe: _ResourceType): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_add_resource(tc: TestCase, tpe: _ResourceType): +def test_add_resource(tc: ResourceTestCase, tpe: _ResourceType): resources = Resources() resources.add_resource("my_resource", tc.dataclass_example) @@ -150,7 +150,7 @@ def test_add_resource(tc: TestCase, tpe: _ResourceType): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_add_resources(tc: TestCase, tpe: _ResourceType): +def test_add_resources(tc: ResourceTestCase, tpe: _ResourceType): resources_1 = Resources() resources_2 = Resources() @@ -162,7 +162,7 @@ def test_add_resources(tc: TestCase, tpe: _ResourceType): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_mutator(tc: TestCase, tpe: _ResourceType): +def test_mutator(tc: ResourceTestCase, tpe: _ResourceType): @tc.mutator def my_func(bundle, resource): return resource @@ -176,7 +176,7 @@ def my_func(bundle, resource): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_mutator_export(tc: TestCase, tpe: _ResourceType): +def test_mutator_export(tc: ResourceTestCase, tpe: _ResourceType): import databricks.bundles.core assert tc.mutator.__name__ in databricks.bundles.core.__all__, ( @@ -185,7 +185,7 @@ def test_mutator_export(tc: TestCase, tpe: _ResourceType): @pytest.mark.parametrize("tc,tpe", test_cases, ids=test_case_ids) -def test_add_duplicate_resource(tc: TestCase, tpe: _ResourceType): +def test_add_duplicate_resource(tc: ResourceTestCase, tpe: _ResourceType): resources = Resources() copy_1 = replace(tc.dataclass_example)