From 2ed3fa7246a6d44e4e9351a1039ea6a2b8bf1495 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Tue, 7 Feb 2023 18:21:03 -0500 Subject: [PATCH 1/3] write logs to correct location in test --- core/dbt/cli/flags.py | 8 +++++--- core/dbt/flags.py | 5 ++--- core/dbt/tests/fixtures/project.py | 4 ++-- tests/functional/partial_parsing/test_pp_vars.py | 8 ++++---- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/core/dbt/cli/flags.py b/core/dbt/cli/flags.py index e6d15ced5ab..e8656e3d655 100644 --- a/core/dbt/cli/flags.py +++ b/core/dbt/cli/flags.py @@ -15,6 +15,8 @@ from dbt.helper_types import WarnErrorOptions from dbt.config.project import PartialProject from dbt.exceptions import DbtProjectError +from dbt.cli.resolvers import default_project_dir +from pathlib import Path if os.name != "nt": # https://bugs.python.org/issue41567 @@ -132,8 +134,8 @@ def assign_params(ctx, params_assigned_from_default): # Default LOG_PATH from PROJECT_DIR, if available. if getattr(self, "LOG_PATH", None) is None: + project_dir = getattr(self, "PROJECT_DIR", default_project_dir()) log_path = "logs" - project_dir = getattr(self, "PROJECT_DIR", None) # If available, set LOG_PATH from log-path in dbt_project.yml # Known limitations: # 1. Using PartialProject here, so no jinja rendering of log-path. @@ -147,8 +149,8 @@ def assign_params(ctx, params_assigned_from_default): log_path = str(partial.project_dict.get("log-path", log_path)) except DbtProjectError: pass - - object.__setattr__(self, "LOG_PATH", log_path) + # TODO should concatenation go here or on line 138? + object.__setattr__(self, "LOG_PATH", Path(project_dir) / log_path) # Support console DO NOT TRACK initiave object.__setattr__( diff --git a/core/dbt/flags.py b/core/dbt/flags.py index 9eacefc49d7..e3fbfdcb633 100644 --- a/core/dbt/flags.py +++ b/core/dbt/flags.py @@ -50,11 +50,10 @@ def set_from_args(args: Namespace, user_config): # make a dummy context to get the flags, totally arbitrary ctx = cli.make_context("run", ["run"]) - flags = Flags(ctx, user_config) for arg_name, args_param_value in vars(args).items(): args_param_value = convert_config(arg_name, args_param_value) - object.__setattr__(flags, arg_name.upper(), args_param_value) - object.__setattr__(flags, arg_name.lower(), args_param_value) + ctx.params[arg_name.lower()] = args_param_value + flags = Flags(ctx, user_config) GLOBAL_FLAGS = flags # type: ignore diff --git a/core/dbt/tests/fixtures/project.py b/core/dbt/tests/fixtures/project.py index 2e7cd435118..27d7b44e779 100644 --- a/core/dbt/tests/fixtures/project.py +++ b/core/dbt/tests/fixtures/project.py @@ -356,8 +356,8 @@ def project_files(project_root, models, macros, snapshots, properties, seeds, te # We have a separate logs dir for every test @pytest.fixture(scope="class") -def logs_dir(request, prefix): - return os.path.join(request.config.rootdir, "logs", prefix) +def logs_dir(request, prefix, project_root): + return os.path.join(project_root, "logs") # This fixture is for customizing tests that need overrides in adapter diff --git a/tests/functional/partial_parsing/test_pp_vars.py b/tests/functional/partial_parsing/test_pp_vars.py index 47f12a55877..e1ffc652b65 100644 --- a/tests/functional/partial_parsing/test_pp_vars.py +++ b/tests/functional/partial_parsing/test_pp_vars.py @@ -317,18 +317,18 @@ def dbt_profile_target(self): "dbname": "dbt", } - def test_profile_env_vars(self, project): + def test_profile_env_vars(self, project, monkeypatch): # Initial run - os.environ["ENV_VAR_USER"] = "root" - os.environ["ENV_VAR_PASS"] = "password" + monkeypatch.setenv("ENV_VAR_USER", "root") + monkeypatch.setenv("ENV_VAR_PASS", "password") run_dbt(["run"]) manifest = get_manifest(project.project_root) env_vars_checksum = manifest.state_check.profile_env_vars_hash.checksum # Change env_vars, the user doesn't exist, this should fail - os.environ["ENV_VAR_USER"] = "fake_user" + monkeypatch.setenv("ENV_VAR_USER", "fake_user") # N.B. run_dbt_and_capture won't work here because FailedToConnectError ends the test entirely with pytest.raises(FailedToConnectError): From 2ef6ac34bcb21a9fe1a39376e297fc0dbe93cd53 Mon Sep 17 00:00:00 2001 From: Github Build Bot Date: Tue, 7 Feb 2023 23:45:36 +0000 Subject: [PATCH 2/3] Add generated CLI API docs --- .../docs/build/doctrees/environment.pickle | Bin 207366 -> 207366 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/dbt/docs/build/doctrees/environment.pickle b/core/dbt/docs/build/doctrees/environment.pickle index eadb1dfd863921c8d15f2596eede1755c85f303f..9d01c79122eaa672e641acf5c6443ce62815bb5f 100644 GIT binary patch delta 32 mcmZp>!qawzXG60*>yG93@@$$r!qawzXG60*>qfo+pD)cF^6ee+j6lq^y+fY4jtc Date: Wed, 8 Feb 2023 19:01:26 +0000 Subject: [PATCH 3/3] Add generated CLI API docs --- .../docs/build/doctrees/environment.pickle | Bin 207366 -> 207366 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/dbt/docs/build/doctrees/environment.pickle b/core/dbt/docs/build/doctrees/environment.pickle index 9d01c79122eaa672e641acf5c6443ce62815bb5f..f706e63c105e9618bf91814163fa04430e395dd0 100644 GIT binary patch delta 32 mcmZp>!qawzXG60*>z~BDo1dCH!qawzXG60*>yG93@@$$r