fix: Avoid access to profile when calling str(UnsetProfileConfig) #5209
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
resolves #5081
Description
dbt.config.UnsetProfileConfig
inherits__str__
fromdbt.config.Project
. Moreover,UnsetProfileConfig
raises an exception when attempting to access unset profile attributes. AsProject.__str__
ultimately callsProject.to_project_config
and accesses said profile attributes, we overrideto_project_config
inUnsetProfileConfig
to avoid accessing the attributes that raise an exception.This allows calling
str(UnsetProfileConfig)
without aRuntimeException
.Furthermore, setting both profile fields (
profile_name
andtarget_name
) torepr=False
allow us to callrepr(UnsetProfileConfig)
without aRuntimeException
.Basic unit testing is also included in commit.
Looks like my IDE also cleaned up some whitespace (runs
black
on save). I can revert it if needed.Checklist
changie new
to create a changelog entry