def test_client_config(self): config_dict = { POLYAXON_KEYS_DEBUG: True, POLYAXON_KEYS_API_HOST: "http://localhost:8000", POLYAXON_KEYS_VERIFY_SSL: True, } config = ClientConfig.from_dict(config_dict) assert config.debug is True assert config.host == "http://localhost:8000" assert config.base_url == "http://localhost:8000/api/v1" assert config.verify_ssl is True
def __init__(self, config=None, token=None): self._config = config or ClientConfig.from_dict( settings.CLIENT_CONFIG.to_dict()) self._config.token = token or settings.AUTH_CONFIG.token self._transport = None self.api_client = polyaxon_sdk.ApiClient(self.config.sdk_config, **self.config.client_header) self._projects_v1 = None self._runs_v1 = None self._auth_v1 = None self._versions_v1 = None self._users_v1 = None
def test_get_headers(self): assert self.transport._get_headers() == {} assert self.transport._get_headers({"foo": "bar"}) == {"foo": "bar"} self.transport.config = ClientConfig(token="token", host="host") assert self.transport._get_headers() == { "Authorization": "{} {}".format(AuthenticationTypes.TOKEN, "token") } assert self.transport._get_headers({"foo": "bar"}) == { "foo": "bar", "Authorization": "{} {}".format(AuthenticationTypes.TOKEN, "token"), } self.transport.config.authentication_type = AuthenticationTypes.INTERNAL_TOKEN assert self.transport._get_headers() == { "Authorization": "{} {}".format(AuthenticationTypes.INTERNAL_TOKEN, "token") } assert self.transport._get_headers({"foo": "bar"}) == { "foo": "bar", "Authorization": "{} {}".format( AuthenticationTypes.INTERNAL_TOKEN, "token" ), }
] ) config = rhea.Rhea.read_configs( [ os.environ, rhea.ConfigSpec( TMP_CLIENT_CONFIG_PATH, config_type=".json", check_if_exists=False ), rhea.ConfigSpec( USER_CLIENT_CONFIG_PATH, config_type=".json", check_if_exists=False ), ] ) AUTH_CONFIG = AccessTokenConfig.from_dict(auth_config.data) CLIENT_CONFIG = ClientConfig.from_dict(config.data) HASH_LENGTH = config.get_int(POLYAXON_KEYS_HASH_LENGTH, is_optional=True, default=12) HEALTH_CHECK_URL = config.get_string(POLYAXON_KEYS_HEALTH_CHECK_URL, is_optional=True) RECONCILE_URL = config.get_string(POLYAXON_KEYS_RECONCILE_URL, is_optional=True) MIN_TIMEOUT = config.get_int("POLYAXON_MIN_TIMEOUT", is_optional=True, default=1) REQUEST_TIMEOUT = config.get_int( "POLYAXON_REQUEST_TIMEOUT", is_optional=True, default=25 ) LONG_REQUEST_TIMEOUT = config.get_int( "POLYAXON_LONG_REQUEST_TIMEOUT", is_optional=True, default=3600 ) HEALTH_CHECK_INTERVAL = config.get_int( "HEALTH_CHECK_INTERVAL", is_optional=True, default=60 )
def test_from_config(self): settings.CLIENT_CONFIG.host = "localhost" client = PolyaxonClient(config=ClientConfig()) assert client.config.is_managed is False assert client.config.host == "https://cloud.polyaxon.com" assert client.config.token is None
def test_is_managed(self): config = ClientConfig(host=None, is_managed=True) assert config.is_managed is True assert config.version == "v1" assert config.host == "https://cloud.polyaxon.com"
def setUp(self): self.host = "http://localhost:8000" self.config = ClientConfig(host=self.host, version="v1", token="token")