diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a9cb5241..4fa6ba80 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -74,7 +74,7 @@ repos: # - id: reorder-python-imports # args: [--application-directories=.:src] - repo: https://github.com/hadialqattan/pycln - rev: v2.1.2 # Possible releases: https://github.com/hadialqattan/pycln/tags + rev: v2.5.0 # Possible releases: https://github.com/hadialqattan/pycln/tags hooks: - id: pycln args: [--config=pyproject.toml] diff --git a/setup.cfg b/setup.cfg index d6af7ec4..8ff46df1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -99,7 +99,7 @@ testing = codespell pre-commit pip-tools>=6.6.0 - pylint>=2.11.1 + pylint==2.15.5 [options.entry_points] # Add here console scripts like: diff --git a/src/preset_cli/cli/superset/sync/dbt/command.py b/src/preset_cli/cli/superset/sync/dbt/command.py index a58eedbc..f137c4ba 100644 --- a/src/preset_cli/cli/superset/sync/dbt/command.py +++ b/src/preset_cli/cli/superset/sync/dbt/command.py @@ -85,12 +85,6 @@ default=False, help="Do not sync models to datasets and only fetch exposures instead", ) -@click.option( - "--preserve-columns", - is_flag=True, - default=False, - help="Preserve column and metric configurations defined in Preset", -) @click.option( "--preserve-metadata", is_flag=True, @@ -124,7 +118,6 @@ def dbt_core( # pylint: disable=too-many-arguments, too-many-branches, too-many disallow_edits: bool = False, external_url_prefix: str = "", exposures_only: bool = False, - preserve_columns: bool = False, preserve_metadata: bool = False, merge_metadata: bool = False, raise_failures: bool = False, @@ -137,15 +130,14 @@ def dbt_core( # pylint: disable=too-many-arguments, too-many-branches, too-many client = SupersetClient(url, auth) deprecation_notice: bool = False - if (preserve_columns or preserve_metadata) and merge_metadata: + if preserve_metadata and merge_metadata: error_message = ( - "``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``\n" + "``--preserve-metadata`` and ``--merge-metadata``\n" "can't be combined. Please include only one to the command." ) raise CLIError(error_message, 1) - reload_columns = not (preserve_columns or preserve_metadata or merge_metadata) - preserve_metadata = preserve_columns if preserve_columns else preserve_metadata + reload_columns = not (preserve_metadata or merge_metadata) if profiles is None: profiles = os.path.expanduser("~/.dbt/profiles.yml") @@ -506,12 +498,6 @@ def fetch_sl_metrics( default=False, help="Do not sync models to datasets and only fetch exposures instead", ) -@click.option( - "--preserve-columns", - is_flag=True, - default=False, - help="Preserve column and metric configurations defined in Preset", -) @click.option( "--preserve-metadata", is_flag=True, @@ -548,7 +534,6 @@ def dbt_cloud( # pylint: disable=too-many-arguments, too-many-locals disallow_edits: bool = False, external_url_prefix: str = "", exposures_only: bool = False, - preserve_columns: bool = False, preserve_metadata: bool = False, merge_metadata: bool = False, access_url: Optional[str] = None, @@ -564,15 +549,14 @@ def dbt_cloud( # pylint: disable=too-many-arguments, too-many-locals dbt_auth = TokenAuth(token) dbt_client = DBTClient(dbt_auth, access_url) - if (preserve_columns or preserve_metadata) and merge_metadata: + if preserve_metadata and merge_metadata: error_message = ( - "``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``\n" + "``--preserve-metadata`` and ``--merge-metadata``\n" "can't be combined. Please include only one to the command." ) raise CLIError(error_message, 1) - reload_columns = not (preserve_columns or preserve_metadata or merge_metadata) - preserve_metadata = preserve_columns if preserve_columns else preserve_metadata + reload_columns = not (preserve_metadata or merge_metadata) try: job = get_job(dbt_client, account_id, project_id, job_id) diff --git a/tests/cli/superset/sync/dbt/command_test.py b/tests/cli/superset/sync/dbt/command_test.py index c02d21e1..c2203f33 100644 --- a/tests/cli/superset/sync/dbt/command_test.py +++ b/tests/cli/superset/sync/dbt/command_test.py @@ -1788,75 +1788,6 @@ def test_dbt_core_preserve_metadata( ) -def test_dbt_core_preserve_columns( - mocker: MockerFixture, - fs: FakeFilesystem, -) -> None: - """ - Test the ``dbt-core`` command with ``--preserve-columns`` flag. - """ - root = Path("/path/to/root") - fs.create_dir(root) - manifest = root / "default/target/manifest.json" - fs.create_file(manifest, contents=manifest_contents) - profiles = root / ".dbt/profiles.yml" - fs.create_file(profiles, contents=profiles_contents) - - SupersetClient = mocker.patch( - "preset_cli.cli.superset.sync.dbt.command.SupersetClient", - ) - client = SupersetClient() - mocker.patch("preset_cli.cli.superset.main.UsernamePasswordAuth") - sync_database = mocker.patch( - "preset_cli.cli.superset.sync.dbt.command.sync_database", - ) - sync_datasets = mocker.patch( - "preset_cli.cli.superset.sync.dbt.command.sync_datasets", - return_value=([], []), - ) - - runner = CliRunner() - result = runner.invoke( - superset_cli, - [ - "https://superset.example.org/", - "sync", - "dbt-core", - str(manifest), - "--profiles", - str(profiles), - "--preserve-columns", - "--project", - "default", - "--target", - "dev", - ], - catch_exceptions=False, - ) - assert result.exit_code == 0 - sync_database.assert_called_with( - client, - profiles, - "default", - "default", - "dev", - False, - False, - "", - ) - - sync_datasets.assert_called_with( - client, - dbt_core_models, - superset_metrics, - sync_database(), - False, - "", - reload_columns=False, - merge_metadata=False, - ) - - def test_dbt_core_merge_metadata( mocker: MockerFixture, fs: FakeFilesystem, @@ -2372,10 +2303,7 @@ def test_dbt_core_preserve_and_merge( catch_exceptions=False, ) assert result.exit_code == 1 - assert ( - "``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``" - in result.output - ) + assert "``--preserve-metadata`` and ``--merge-metadata``" in result.output assert "can't be combined. Please include only one to the command." in result.output @@ -3139,62 +3067,6 @@ def test_dbt_cloud_preserve_metadata(mocker: MockerFixture) -> None: ) -def test_dbt_cloud_preserve_columns(mocker: MockerFixture) -> None: - """ - Test the ``dbt-cloud`` command with the ``--preserve-columns`` flag. - """ - SupersetClient = mocker.patch( - "preset_cli.cli.superset.sync.dbt.command.SupersetClient", - ) - superset_client = SupersetClient() - mocker.patch("preset_cli.cli.superset.main.UsernamePasswordAuth") - DBTClient = mocker.patch( - "preset_cli.cli.superset.sync.dbt.command.DBTClient", - ) - dbt_client = DBTClient() - sync_datasets = mocker.patch( - "preset_cli.cli.superset.sync.dbt.command.sync_datasets", - return_value=([], []), - ) - mocker.patch( - "preset_cli.cli.superset.sync.dbt.command.get_job", - return_value={"id": 123, "name": "My job", "environment_id": 456}, - ) - - dbt_client.get_models.return_value = dbt_cloud_models - dbt_client.get_og_metrics.return_value = dbt_cloud_metrics - database = mocker.MagicMock() - superset_client.get_databases.return_value = [database] - superset_client.get_database.return_value = database - - runner = CliRunner() - result = runner.invoke( - superset_cli, - [ - "https://superset.example.org/", - "sync", - "dbt-cloud", - "XXX", - "1", - "2", - "123", - "--preserve-columns", - ], - catch_exceptions=False, - ) - assert result.exit_code == 0 - sync_datasets.assert_called_with( - superset_client, - dbt_cloud_models, - superset_metrics, - database, - False, - "", - reload_columns=False, - merge_metadata=False, - ) - - def test_dbt_cloud_merge_metadata(mocker: MockerFixture) -> None: """ Test the ``dbt-cloud`` command with the ``--merge-metadata`` flag. @@ -3421,10 +3293,7 @@ def test_dbt_cloud_preserve_and_merge(mocker: MockerFixture) -> None: catch_exceptions=False, ) assert result.exit_code == 1 - assert ( - "``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``" - in result.output - ) + assert "``--preserve-metadata`` and ``--merge-metadata``" in result.output assert "can't be combined. Please include only one to the command." in result.output