def test_find_app_model(): expected = models.SamlApplication actual = find_app_model('SAML_1_1', 'office365') assert expected == actual expected = models.SwaApplication actual = find_app_model(None, 'template_swa') assert expected == actual expected = models.Application actual = find_app_model(None, 'unknown_application') assert expected == actual
async def list_assigned_applications_for_group(self, groupId, query_params={}, keep_empty_params=False): """ Enumerates all applications that are assigned to a grou p. Args: group_id {str} query_params {dict}: Map of query parameters for request [query_params.after] {str} [query_params.limit] {str} Returns: list: Collection of Application instances. """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/groups/{groupId}/apps """) if query_params: encoded_query_params = urlencode(query_params) api_url += f"/?{encoded_query_params}" body = {} headers = {} form = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers, form, keep_empty_params=keep_empty_params) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, Application) if error: return (None, response, error) try: result = [] for item in response.get_body(): result.append( find_app_model(item["signOnMode"], item["name"])( self.form_response_body(item))) except Exception as error: return (None, response, error) return (result, response, None)
async def list_applications( self, query_params={} ): """ Enumerates apps added to your organization with paginat ion. A subset of apps can be returned that match a supp orted filter expression or query. Args: query_params {dict}: Map of query parameters for request [query_params.q] {str} [query_params.after] {str} [query_params.limit] {str} [query_params.filter] {str} [query_params.expand] {str} [query_params.includeNonDeleted] {str} Returns: list: Collection of Application instances. """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/apps """) if query_params: encoded_query_params = urlencode(query_params) api_url += f"/?{encoded_query_params}" body = {} headers = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, Application) if error: return (None, response, error) try: result = [] for item in response.get_body(): result.append( find_app_model(item["signOnMode"], item["name"])( self.form_response_body(item) ) ) except Exception as error: return (None, response, error) return (result, response, None)
async def create_application( self, application, query_params={} ): """ Adds a new application to your Okta organization. Args: {application} query_params {dict}: Map of query parameters for request [query_params.activate] {str} Returns: Application """ http_method = "post".upper() api_url = format_url(f""" {self._base_url} /api/v1/apps """) if query_params: encoded_query_params = urlencode(query_params) api_url += f"/?{encoded_query_params}" if isinstance(application, dict): body = application else: body = application.as_dict() headers = { "Accept": "application/json", "Content-Type": "application/json" } request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, Application) if error: return (None, response, error) try: body = response.get_body() result = find_app_model(body["signOnMode"], body["name"])( self.form_response_body(body) ) except Exception as error: return (None, response, error) return (result, response, None)
async def update_application( self, appId, application ): """ Updates an application in your organization. Args: app_id {str} {application} Returns: Application """ http_method = "put".upper() api_url = format_url(f""" {self._base_url} /api/v1/apps/{appId} """) if isinstance(application, dict): body = application else: body = application.as_dict() headers = { "Accept": "application/json", "Content-Type": "application/json" } request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, Application) if error: return (None, response, error) try: body = response.get_body() result = find_app_model(body["signOnMode"], body["name"])( self.form_response_body(body) ) except Exception as error: return (None, response, error) return (result, response, None)
async def get_application( self, appId, query_params={} ): """ Fetches an application from your Okta organization by ` id`. Args: app_id {str} query_params {dict}: Map of query parameters for request [query_params.expand] {str} Returns: Application """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/apps/{appId} """) if query_params: encoded_query_params = urlencode(query_params) api_url += f"/?{encoded_query_params}" body = {} headers = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, Application) if error: return (None, response, error) try: body = response.get_body() result = find_app_model(body["signOnMode"], body["name"])( self.form_response_body(body) ) except Exception as error: return (None, response, error) return (result, response, None)