Skip to content

Commit 120d377

Browse files
authored
chore: Remove the --preserve-columns flag (#333)
* chore: Remove the --preserve-columns flag * Pinning pylint version * Bumping pycln
1 parent 9b39f89 commit 120d377

File tree

4 files changed

+10
-157
lines changed

4 files changed

+10
-157
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ repos:
7474
# - id: reorder-python-imports
7575
# args: [--application-directories=.:src]
7676
- repo: https://github.com/hadialqattan/pycln
77-
rev: v2.1.2 # Possible releases: https://github.com/hadialqattan/pycln/tags
77+
rev: v2.5.0 # Possible releases: https://github.com/hadialqattan/pycln/tags
7878
hooks:
7979
- id: pycln
8080
args: [--config=pyproject.toml]

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ testing =
9999
codespell
100100
pre-commit
101101
pip-tools>=6.6.0
102-
pylint>=2.11.1
102+
pylint==2.15.5
103103

104104
[options.entry_points]
105105
# Add here console scripts like:

src/preset_cli/cli/superset/sync/dbt/command.py

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,6 @@
8585
default=False,
8686
help="Do not sync models to datasets and only fetch exposures instead",
8787
)
88-
@click.option(
89-
"--preserve-columns",
90-
is_flag=True,
91-
default=False,
92-
help="Preserve column and metric configurations defined in Preset",
93-
)
9488
@click.option(
9589
"--preserve-metadata",
9690
is_flag=True,
@@ -124,7 +118,6 @@ def dbt_core( # pylint: disable=too-many-arguments, too-many-branches, too-many
124118
disallow_edits: bool = False,
125119
external_url_prefix: str = "",
126120
exposures_only: bool = False,
127-
preserve_columns: bool = False,
128121
preserve_metadata: bool = False,
129122
merge_metadata: bool = False,
130123
raise_failures: bool = False,
@@ -137,15 +130,14 @@ def dbt_core( # pylint: disable=too-many-arguments, too-many-branches, too-many
137130
client = SupersetClient(url, auth)
138131
deprecation_notice: bool = False
139132

140-
if (preserve_columns or preserve_metadata) and merge_metadata:
133+
if preserve_metadata and merge_metadata:
141134
error_message = (
142-
"``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``\n"
135+
"``--preserve-metadata`` and ``--merge-metadata``\n"
143136
"can't be combined. Please include only one to the command."
144137
)
145138
raise CLIError(error_message, 1)
146139

147-
reload_columns = not (preserve_columns or preserve_metadata or merge_metadata)
148-
preserve_metadata = preserve_columns if preserve_columns else preserve_metadata
140+
reload_columns = not (preserve_metadata or merge_metadata)
149141

150142
if profiles is None:
151143
profiles = os.path.expanduser("~/.dbt/profiles.yml")
@@ -506,12 +498,6 @@ def fetch_sl_metrics(
506498
default=False,
507499
help="Do not sync models to datasets and only fetch exposures instead",
508500
)
509-
@click.option(
510-
"--preserve-columns",
511-
is_flag=True,
512-
default=False,
513-
help="Preserve column and metric configurations defined in Preset",
514-
)
515501
@click.option(
516502
"--preserve-metadata",
517503
is_flag=True,
@@ -548,7 +534,6 @@ def dbt_cloud( # pylint: disable=too-many-arguments, too-many-locals
548534
disallow_edits: bool = False,
549535
external_url_prefix: str = "",
550536
exposures_only: bool = False,
551-
preserve_columns: bool = False,
552537
preserve_metadata: bool = False,
553538
merge_metadata: bool = False,
554539
access_url: Optional[str] = None,
@@ -564,15 +549,14 @@ def dbt_cloud( # pylint: disable=too-many-arguments, too-many-locals
564549
dbt_auth = TokenAuth(token)
565550
dbt_client = DBTClient(dbt_auth, access_url)
566551

567-
if (preserve_columns or preserve_metadata) and merge_metadata:
552+
if preserve_metadata and merge_metadata:
568553
error_message = (
569-
"``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``\n"
554+
"``--preserve-metadata`` and ``--merge-metadata``\n"
570555
"can't be combined. Please include only one to the command."
571556
)
572557
raise CLIError(error_message, 1)
573558

574-
reload_columns = not (preserve_columns or preserve_metadata or merge_metadata)
575-
preserve_metadata = preserve_columns if preserve_columns else preserve_metadata
559+
reload_columns = not (preserve_metadata or merge_metadata)
576560

577561
try:
578562
job = get_job(dbt_client, account_id, project_id, job_id)

tests/cli/superset/sync/dbt/command_test.py

Lines changed: 2 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1788,75 +1788,6 @@ def test_dbt_core_preserve_metadata(
17881788
)
17891789

17901790

1791-
def test_dbt_core_preserve_columns(
1792-
mocker: MockerFixture,
1793-
fs: FakeFilesystem,
1794-
) -> None:
1795-
"""
1796-
Test the ``dbt-core`` command with ``--preserve-columns`` flag.
1797-
"""
1798-
root = Path("/path/to/root")
1799-
fs.create_dir(root)
1800-
manifest = root / "default/target/manifest.json"
1801-
fs.create_file(manifest, contents=manifest_contents)
1802-
profiles = root / ".dbt/profiles.yml"
1803-
fs.create_file(profiles, contents=profiles_contents)
1804-
1805-
SupersetClient = mocker.patch(
1806-
"preset_cli.cli.superset.sync.dbt.command.SupersetClient",
1807-
)
1808-
client = SupersetClient()
1809-
mocker.patch("preset_cli.cli.superset.main.UsernamePasswordAuth")
1810-
sync_database = mocker.patch(
1811-
"preset_cli.cli.superset.sync.dbt.command.sync_database",
1812-
)
1813-
sync_datasets = mocker.patch(
1814-
"preset_cli.cli.superset.sync.dbt.command.sync_datasets",
1815-
return_value=([], []),
1816-
)
1817-
1818-
runner = CliRunner()
1819-
result = runner.invoke(
1820-
superset_cli,
1821-
[
1822-
"https://superset.example.org/",
1823-
"sync",
1824-
"dbt-core",
1825-
str(manifest),
1826-
"--profiles",
1827-
str(profiles),
1828-
"--preserve-columns",
1829-
"--project",
1830-
"default",
1831-
"--target",
1832-
"dev",
1833-
],
1834-
catch_exceptions=False,
1835-
)
1836-
assert result.exit_code == 0
1837-
sync_database.assert_called_with(
1838-
client,
1839-
profiles,
1840-
"default",
1841-
"default",
1842-
"dev",
1843-
False,
1844-
False,
1845-
"",
1846-
)
1847-
1848-
sync_datasets.assert_called_with(
1849-
client,
1850-
dbt_core_models,
1851-
superset_metrics,
1852-
sync_database(),
1853-
False,
1854-
"",
1855-
reload_columns=False,
1856-
merge_metadata=False,
1857-
)
1858-
1859-
18601791
def test_dbt_core_merge_metadata(
18611792
mocker: MockerFixture,
18621793
fs: FakeFilesystem,
@@ -2372,10 +2303,7 @@ def test_dbt_core_preserve_and_merge(
23722303
catch_exceptions=False,
23732304
)
23742305
assert result.exit_code == 1
2375-
assert (
2376-
"``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``"
2377-
in result.output
2378-
)
2306+
assert "``--preserve-metadata`` and ``--merge-metadata``" in result.output
23792307
assert "can't be combined. Please include only one to the command." in result.output
23802308

23812309

@@ -3139,62 +3067,6 @@ def test_dbt_cloud_preserve_metadata(mocker: MockerFixture) -> None:
31393067
)
31403068

31413069

3142-
def test_dbt_cloud_preserve_columns(mocker: MockerFixture) -> None:
3143-
"""
3144-
Test the ``dbt-cloud`` command with the ``--preserve-columns`` flag.
3145-
"""
3146-
SupersetClient = mocker.patch(
3147-
"preset_cli.cli.superset.sync.dbt.command.SupersetClient",
3148-
)
3149-
superset_client = SupersetClient()
3150-
mocker.patch("preset_cli.cli.superset.main.UsernamePasswordAuth")
3151-
DBTClient = mocker.patch(
3152-
"preset_cli.cli.superset.sync.dbt.command.DBTClient",
3153-
)
3154-
dbt_client = DBTClient()
3155-
sync_datasets = mocker.patch(
3156-
"preset_cli.cli.superset.sync.dbt.command.sync_datasets",
3157-
return_value=([], []),
3158-
)
3159-
mocker.patch(
3160-
"preset_cli.cli.superset.sync.dbt.command.get_job",
3161-
return_value={"id": 123, "name": "My job", "environment_id": 456},
3162-
)
3163-
3164-
dbt_client.get_models.return_value = dbt_cloud_models
3165-
dbt_client.get_og_metrics.return_value = dbt_cloud_metrics
3166-
database = mocker.MagicMock()
3167-
superset_client.get_databases.return_value = [database]
3168-
superset_client.get_database.return_value = database
3169-
3170-
runner = CliRunner()
3171-
result = runner.invoke(
3172-
superset_cli,
3173-
[
3174-
"https://superset.example.org/",
3175-
"sync",
3176-
"dbt-cloud",
3177-
"XXX",
3178-
"1",
3179-
"2",
3180-
"123",
3181-
"--preserve-columns",
3182-
],
3183-
catch_exceptions=False,
3184-
)
3185-
assert result.exit_code == 0
3186-
sync_datasets.assert_called_with(
3187-
superset_client,
3188-
dbt_cloud_models,
3189-
superset_metrics,
3190-
database,
3191-
False,
3192-
"",
3193-
reload_columns=False,
3194-
merge_metadata=False,
3195-
)
3196-
3197-
31983070
def test_dbt_cloud_merge_metadata(mocker: MockerFixture) -> None:
31993071
"""
32003072
Test the ``dbt-cloud`` command with the ``--merge-metadata`` flag.
@@ -3421,10 +3293,7 @@ def test_dbt_cloud_preserve_and_merge(mocker: MockerFixture) -> None:
34213293
catch_exceptions=False,
34223294
)
34233295
assert result.exit_code == 1
3424-
assert (
3425-
"``--preserve-columns`` / ``--preserve-metadata`` and ``--merge-metadata``"
3426-
in result.output
3427-
)
3296+
assert "``--preserve-metadata`` and ``--merge-metadata``" in result.output
34283297
assert "can't be combined. Please include only one to the command." in result.output
34293298

34303299

0 commit comments

Comments
 (0)