44import os
55from pathlib import Path
66from typing import Any , Union
7+ from unittest .mock import patch
78
89import pytest
910import yaml
@@ -27,6 +28,8 @@ def are_same_check(profile_data: dict[str, Any], sdk: GoodDataSdk):
2728 assert profile_data ["custom_headers" ] == sdk .client ._custom_headers
2829 if "extra_user_agent" in profile_data :
2930 assert profile_data ["extra_user_agent" ] in sdk .client ._api_client .user_agent
31+ if "ssl_ca_cert" in profile_data :
32+ assert profile_data ["ssl_ca_cert" ] == sdk .client ._api_config .ssl_ca_cert
3033
3134
3235@pytest .mark .parametrize (
@@ -46,6 +49,14 @@ def test_legacy_config(profile):
4649 are_same_check (data [profile ], sdk )
4750
4851
52+ def test_legacy_certificate_profile ():
53+ profile = "certificate"
54+ with patch .object (Path , "exists" , return_value = True ):
55+ sdk = GoodDataSdk .create_from_profile (profile = profile , profiles_path = PROFILES_PATH )
56+ data = load_profiles_content (PROFILES_PATH )
57+ are_same_check (data [profile ], sdk )
58+
59+
4960def test_legacy_wrong_profile ():
5061 profile = "wrong"
5162 with pytest .raises (ValueError ):
@@ -70,6 +81,17 @@ def test_new_config_selected(setenvvar):
7081 assert os .environ [profile_data ["token" ][1 :]] == sdk .client ._token
7182
7283
84+ def test_new_config_certificate (setenvvar ):
85+ profile = "certificate"
86+ with patch .object (Path , "exists" , return_value = True ):
87+ sdk = GoodDataSdk .create_from_profile (profile = profile , profiles_path = AAC_PROFILES_PATH )
88+ data = load_profiles_content (AAC_PROFILES_PATH )
89+ profile_data = data ["profiles" ][profile ]
90+ assert profile_data ["host" ] == sdk .client ._hostname
91+ assert os .environ [profile_data ["token" ][1 :]] == sdk .client ._token
92+ assert profile_data ["ssl_ca_cert" ] == sdk .client ._api_config .ssl_ca_cert
93+
94+
7395def test_non_existing_token (setenvvar ):
7496 profile = "def"
7597 with pytest .raises (ValueError ):
0 commit comments