def test_get_polyaxon_sidecar_service_env_vars(self): self.converter.internal_auth = True env_vars = self.converter.get_polyaxon_sidecar_service_env_vars() assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=PolyaxonServices.SIDECAR, authentication_type=AuthenticationTypes.TOKEN, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, ) self.converter.internal_auth = False env_vars = self.converter.get_polyaxon_sidecar_service_env_vars() assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=PolyaxonServices.SIDECAR, authentication_type=AuthenticationTypes.TOKEN, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, )
def test_get_service_env_vars_raises_for_internal_and_agent_token(self): with self.assertRaises(PolypodException): get_service_env_vars( header=None, service_header=None, include_secret_key=False, include_internal_token=True, include_agent_token=True, authentication_type=None, polyaxon_default_secret_ref="polyaxon-secret", polyaxon_agent_secret_ref="polyaxon-agent", api_host="localhost", api_version="v1", )
def get_service_env_vars( self, service_header: str, header: str = None, include_secret_key: bool = False, include_internal_token: bool = False, include_agent_token: bool = False, authentication_type: str = None, ) -> List[k8s_schemas.V1EnvVar]: header = header or PolyaxonServiceHeaders.SERVICE return get_service_env_vars( header=header, service_header=service_header, authentication_type=authentication_type, include_secret_key=include_secret_key, include_internal_token=include_internal_token, include_agent_token=include_agent_token, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=clean_host(settings.CLIENT_CONFIG.host), api_version=VERSION_V1, )
def test_get_service_env_vars(self): # Call with default env_vars = self.converter.get_service_env_vars(service_header=None) assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=None, authentication_type=None, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, ) self.converter.internal_auth = True env_vars = self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", include_secret_key=True, include_internal_token=True, include_agent_token=False, authentication_type="internal", ) assert env_vars == get_service_env_vars( header="header-foo", service_header="sa-foo", authentication_type="internal", include_secret_key=True, include_internal_token=True, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, ) self.converter.internal_auth = False env_vars = self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, ) assert env_vars == get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, ) with self.assertRaises(PolypodException): self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", include_secret_key=False, include_internal_token=True, include_agent_token=True, authentication_type="internal", )
def test_get_service_env_vars(self): env_vars = get_service_env_vars( header=None, service_header=None, include_secret_key=False, include_internal_token=False, include_agent_token=False, authentication_type=None, polyaxon_default_secret_ref="polyaxon-secret", polyaxon_agent_secret_ref="polyaxon-agent", api_host="localhost", api_version="v1", run_instance="foo.bar.runs.run_uuid", ) assert len(env_vars) == 8 # TODO: Remove in v1.2 Compatibility API_HOST # assert len(env_vars) == 7 env_var_names = [env_var.name for env_var in env_vars] assert POLYAXON_KEYS_K8S_POD_ID in env_var_names assert POLYAXON_KEYS_K8S_NAMESPACE in env_var_names assert POLYAXON_KEYS_HOST in env_var_names assert POLYAXON_KEYS_IS_MANAGED in env_var_names assert POLYAXON_KEYS_API_VERSION in env_var_names assert POLYAXON_KEYS_K8S_POD_ID in env_var_names assert POLYAXON_KEYS_RUN_INSTANCE in env_var_names env_vars = get_service_env_vars( header="foo", service_header="foo", include_secret_key=True, include_internal_token=True, include_agent_token=False, authentication_type="foo", polyaxon_default_secret_ref="polyaxon-secret", polyaxon_agent_secret_ref="polyaxon-agent", api_host="localhost", api_version="v1", run_instance="foo.bar.runs.run_uuid", ) assert len(env_vars) == 13 # TODO: Remove in v1.2 Compatibility API_HOST # assert len(env_vars) == 12 env_var_names = [env_var.name for env_var in env_vars] assert POLYAXON_KEYS_K8S_POD_ID in env_var_names assert POLYAXON_KEYS_K8S_NAMESPACE in env_var_names assert POLYAXON_KEYS_HOST in env_var_names assert POLYAXON_KEYS_IS_MANAGED in env_var_names assert POLYAXON_KEYS_API_VERSION in env_var_names assert POLYAXON_KEYS_HEADER in env_var_names assert POLYAXON_KEYS_HEADER_SERVICE in env_var_names assert POLYAXON_KEYS_SECRET_KEY in env_var_names assert POLYAXON_KEYS_SECRET_INTERNAL_TOKEN in env_var_names assert POLYAXON_KEYS_AUTHENTICATION_TYPE in env_var_names assert POLYAXON_KEYS_K8S_POD_ID in env_var_names assert POLYAXON_KEYS_RUN_INSTANCE in env_var_names env_vars = get_service_env_vars( header="foo", service_header="foo", include_secret_key=True, include_internal_token=False, include_agent_token=True, authentication_type="foo", polyaxon_default_secret_ref="polyaxon-secret", polyaxon_agent_secret_ref="polyaxon-agent", api_host="localhost", api_version="v1", run_instance="foo.bar.runs.run_uuid", ) assert len(env_vars) == 13 # TODO: Remove in v1.2 Compatibility API_HOST # assert len(env_vars) == 12 env_var_names = [env_var.name for env_var in env_vars] assert POLYAXON_KEYS_K8S_POD_ID in env_var_names assert POLYAXON_KEYS_K8S_NAMESPACE in env_var_names assert POLYAXON_KEYS_HOST in env_var_names assert POLYAXON_KEYS_IS_MANAGED in env_var_names assert POLYAXON_KEYS_API_VERSION in env_var_names assert POLYAXON_KEYS_HEADER in env_var_names assert POLYAXON_KEYS_HEADER_SERVICE in env_var_names assert POLYAXON_KEYS_SECRET_KEY in env_var_names assert POLYAXON_KEYS_AUTH_TOKEN in env_var_names assert POLYAXON_KEYS_AUTHENTICATION_TYPE in env_var_names assert POLYAXON_KEYS_K8S_POD_ID in env_var_names assert POLYAXON_KEYS_RUN_INSTANCE in env_var_names
def test_get_service_env_vars(self): # Call with default env_vars = self.converter.get_service_env_vars(service_header=None) assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=None, authentication_type=None, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, run_instance=self.converter.run_instance, ) self.converter.internal_auth = True env_vars = self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", include_secret_key=True, include_internal_token=True, include_agent_token=False, authentication_type="internal", ) assert env_vars == get_service_env_vars( header="header-foo", service_header="sa-foo", authentication_type="internal", include_secret_key=True, include_internal_token=True, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, run_instance=self.converter.run_instance, ) self.converter.internal_auth = False env_vars = self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, ) assert env_vars == get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, run_instance=self.converter.run_instance, ) env_vars = self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, external_host=True, ) # Default platform host assert env_vars == get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, run_instance=self.converter.run_instance, ) # Setting an env var for the POLYAXON_KEYS_PLATFORM_HOST current = os.environ.get(POLYAXON_KEYS_PLATFORM_HOST) os.environ[POLYAXON_KEYS_PLATFORM_HOST] = "foo" env_vars = self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, external_host=True, ) assert env_vars == get_service_env_vars( service_header="sa-foo", header="header-foo", authentication_type="internal", include_secret_key=False, include_internal_token=False, include_agent_token=True, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host="foo", api_version=VERSION_V1, run_instance=self.converter.run_instance, ) if current: os.environ[POLYAXON_KEYS_PLATFORM_HOST] = current else: del os.environ[POLYAXON_KEYS_PLATFORM_HOST] with self.assertRaises(PolypodException): self.converter.get_service_env_vars( service_header="sa-foo", header="header-foo", include_secret_key=False, include_internal_token=True, include_agent_token=True, authentication_type="internal", )
def test_get_polyaxon_sidecar_service_env_vars(self): self.converter.internal_auth = True env_vars = self.converter.get_polyaxon_sidecar_service_env_vars() assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=PolyaxonServices.SIDECAR, authentication_type=AuthenticationTypes.TOKEN, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, run_instance=self.converter.run_instance, ) self.converter.internal_auth = False env_vars = self.converter.get_polyaxon_sidecar_service_env_vars() assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=PolyaxonServices.SIDECAR, authentication_type=AuthenticationTypes.TOKEN, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, run_instance=self.converter.run_instance, ) env_vars = self.converter.get_polyaxon_sidecar_service_env_vars( external_host=True) # Default platform host assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=PolyaxonServices.SIDECAR, authentication_type=AuthenticationTypes.TOKEN, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host=settings.CLIENT_CONFIG.host, api_version=VERSION_V1, run_instance=self.converter.run_instance, ) # Setting an env var for the POLYAXON_KEYS_PLATFORM_HOST current = os.environ.get(POLYAXON_KEYS_PLATFORM_HOST) os.environ[POLYAXON_KEYS_PLATFORM_HOST] = "foo" env_vars = self.converter.get_polyaxon_sidecar_service_env_vars( external_host=True) assert env_vars == get_service_env_vars( header=PolyaxonServiceHeaders.SERVICE, service_header=PolyaxonServices.SIDECAR, authentication_type=AuthenticationTypes.TOKEN, include_secret_key=False, include_internal_token=False, include_agent_token=False, polyaxon_default_secret_ref=settings.AGENT_CONFIG.app_secret_name, polyaxon_agent_secret_ref=settings.AGENT_CONFIG.agent_secret_name, api_host="foo", api_version=VERSION_V1, run_instance=self.converter.run_instance, ) if current: os.environ[POLYAXON_KEYS_PLATFORM_HOST] = current else: del os.environ[POLYAXON_KEYS_PLATFORM_HOST]