Skip to content

Commit

Permalink
fix: missed required parameter for non method authentication (#921)
Browse files Browse the repository at this point in the history
Usage of TrinoBaseProfileMapping leads to the issue related with missed
user field in profile with authentication method equals to None
```
Runtime Error
  Credentials in profile "test_profile", target "dev" invalid: 'user' is a required property
```
  • Loading branch information
AlexandrKhabarov authored Apr 24, 2024
1 parent 6861fcf commit 1b005bc
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 4 deletions.
5 changes: 4 additions & 1 deletion cosmos/profiles/trino/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,19 @@ class TrinoBaseProfileMapping(BaseProfileMapping):
dbt_profile_type: str = "trino"
is_community: bool = True

required_fields = [
base_fields = [
"host",
"database",
"schema",
"port",
]

required_fields = base_fields + ["user"]

airflow_param_mapping = {
"host": "host",
"port": "port",
"user": "login",
"session_properties": "extra.session_properties",
}

Expand Down
2 changes: 1 addition & 1 deletion cosmos/profiles/trino/certificate.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class TrinoCertificateProfileMapping(TrinoBaseProfileMapping):

dbt_profile_method: str = "certificate"

required_fields = TrinoBaseProfileMapping.required_fields + [
required_fields = TrinoBaseProfileMapping.base_fields + [
"client_certificate",
"client_private_key",
]
Expand Down
2 changes: 1 addition & 1 deletion cosmos/profiles/trino/jwt.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class TrinoJWTProfileMapping(TrinoBaseProfileMapping):

dbt_profile_method: str = "jwt"

required_fields = TrinoBaseProfileMapping.required_fields + [
required_fields = TrinoBaseProfileMapping.base_fields + [
"jwt_token",
]
secret_fields = [
Expand Down
2 changes: 1 addition & 1 deletion cosmos/profiles/trino/ldap.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class TrinoLDAPProfileMapping(TrinoBaseProfileMapping):

dbt_profile_method: str = "ldap"

required_fields = TrinoBaseProfileMapping.required_fields + [
required_fields = TrinoBaseProfileMapping.base_fields + [
"user",
"password",
]
Expand Down
2 changes: 2 additions & 0 deletions tests/profiles/trino/test_trino_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ def test_profile_args() -> None:
"schema": "my_schema",
"host": "my_host",
"port": 8080,
"user": "my_login",
"session_properties": {"my_property": "my_value"},
}

Expand Down Expand Up @@ -80,5 +81,6 @@ def test_profile_args_overrides() -> None:
"schema": "my_schema",
"host": "my_host_override",
"port": 8080,
"user": "my_login",
"session_properties": {"my_property": "my_value_override"},
}

0 comments on commit 1b005bc

Please sign in to comment.