From f76b992fe43a0005b65097caed3c476cea7c5d6e Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Thu, 13 May 2021 23:53:06 -0700 Subject: [PATCH 1/4] Add get_connection endpoint --- tests/test_portal.py | 9 +++++++++ workos/portal.py | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/tests/test_portal.py b/tests/test_portal.py index 3c8a8f8c..d2b7b3a5 100644 --- a/tests/test_portal.py +++ b/tests/test_portal.py @@ -37,3 +37,12 @@ def test_generate_link_dsync(self, mock_portal_link, mock_request_method): subject = result.response_dict assert subject["link"] == "https://id.workos.com/portal/launch?secret=secret" + + def test_get_connection(self, mock_organization, mock_request_method): + mock_response = Response() + mock_response.status_code = 200 + mock_response.response_dict = mock_organization + mock_request_method("get", mock_response, 200) + response = self.portal.get_organization(organization="organization_id") + assert response.status_code == 200 + assert response.response_dict == mock_connection diff --git a/workos/portal.py b/workos/portal.py index afc697e3..b77913a0 100644 --- a/workos/portal.py +++ b/workos/portal.py @@ -40,3 +40,16 @@ def generate_link(self, intent, organization, return_url=None): params=params, token=workos.api_key, ) + + def get_organization(self, organization): + """Gets details for a single Organization + Args: + organization (str): Organization's unique identifier + Returns: + dict: Organization response from WorkOS + """ + return self.request_helper.request( + "organizations/{organization}".format(organization=organization), + method=REQUEST_METHOD_GET, + token=workos.api_key, + ) From ec7fafd845843d9e0ae60d3e934c13c9dc00d56f Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Thu, 13 May 2021 23:57:00 -0700 Subject: [PATCH 2/4] Fix missing import and variable --- tests/test_portal.py | 2 +- workos/portal.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/test_portal.py b/tests/test_portal.py index d2b7b3a5..63ce7f5c 100644 --- a/tests/test_portal.py +++ b/tests/test_portal.py @@ -45,4 +45,4 @@ def test_get_connection(self, mock_organization, mock_request_method): mock_request_method("get", mock_response, 200) response = self.portal.get_organization(organization="organization_id") assert response.status_code == 200 - assert response.response_dict == mock_connection + assert response.response_dict == mock_organization diff --git a/workos/portal.py b/workos/portal.py index b77913a0..43a88679 100644 --- a/workos/portal.py +++ b/workos/portal.py @@ -1,5 +1,9 @@ import workos -from workos.utils.request import RequestHelper, REQUEST_METHOD_POST +from workos.utils.request import ( + RequestHelper, + REQUEST_METHOD_GET, + REQUEST_METHOD_POST, +) from workos.utils.validation import PORTAL_MODULE, validate_settings PORTAL_GENERATE_PATH = "portal/generate_link" From 2e8cee3bdc8c60e7a2df56bb516823f1a38ff2f3 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 14 May 2021 20:34:13 -0400 Subject: [PATCH 3/4] Fix implementation --- tests/test_organizations.py | 9 +++++++++ tests/test_portal.py | 9 --------- workos/organizations.py | 13 +++++++++++++ workos/portal.py | 13 ------------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/tests/test_organizations.py b/tests/test_organizations.py index c958c764..d37aa5ac 100644 --- a/tests/test_organizations.py +++ b/tests/test_organizations.py @@ -69,6 +69,15 @@ def test_list_organizations(self, mock_organizations, mock_request_method): assert response.status_code == 200 assert len(response.response_dict["data"]) == 2 + def test_get_organization(self, mock_organization, mock_request_method): + mock_response = Response() + mock_response.status_code = 200 + mock_response.response_dict = mock_organization + mock_request_method("get", mock_response, 200) + response = self.organizations.get_organization(organization="organization_id") + assert response.status_code == 200 + assert response.response_dict == mock_organization + def test_create_organization(self, mock_organization, mock_request_method): organization = {"domains": ["example.com"], "name": "Test Organization"} mock_response = Response() diff --git a/tests/test_portal.py b/tests/test_portal.py index 63ce7f5c..3c8a8f8c 100644 --- a/tests/test_portal.py +++ b/tests/test_portal.py @@ -37,12 +37,3 @@ def test_generate_link_dsync(self, mock_portal_link, mock_request_method): subject = result.response_dict assert subject["link"] == "https://id.workos.com/portal/launch?secret=secret" - - def test_get_connection(self, mock_organization, mock_request_method): - mock_response = Response() - mock_response.status_code = 200 - mock_response.response_dict = mock_organization - mock_request_method("get", mock_response, 200) - response = self.portal.get_organization(organization="organization_id") - assert response.status_code == 200 - assert response.response_dict == mock_organization diff --git a/workos/organizations.py b/workos/organizations.py index dea1ab4d..a548a38a 100644 --- a/workos/organizations.py +++ b/workos/organizations.py @@ -44,6 +44,19 @@ def list_organizations( token=workos.api_key, ) + def get_organization(self, organization): + """Gets details for a single Organization + Args: + organization (str): Organization's unique identifier + Returns: + dict: Organization response from WorkOS + """ + return self.request_helper.request( + "organizations/{organization}".format(organization=organization), + method=REQUEST_METHOD_GET, + token=workos.api_key, + ) + def create_organization(self, organization): """Create an organization diff --git a/workos/portal.py b/workos/portal.py index 43a88679..86346305 100644 --- a/workos/portal.py +++ b/workos/portal.py @@ -44,16 +44,3 @@ def generate_link(self, intent, organization, return_url=None): params=params, token=workos.api_key, ) - - def get_organization(self, organization): - """Gets details for a single Organization - Args: - organization (str): Organization's unique identifier - Returns: - dict: Organization response from WorkOS - """ - return self.request_helper.request( - "organizations/{organization}".format(organization=organization), - method=REQUEST_METHOD_GET, - token=workos.api_key, - ) From 95d5d7b3518a00c161a3d1452ac85491cf5a025b Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 14 May 2021 20:34:53 -0400 Subject: [PATCH 4/4] Revert unneeded changes --- workos/portal.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/workos/portal.py b/workos/portal.py index 86346305..afc697e3 100644 --- a/workos/portal.py +++ b/workos/portal.py @@ -1,9 +1,5 @@ import workos -from workos.utils.request import ( - RequestHelper, - REQUEST_METHOD_GET, - REQUEST_METHOD_POST, -) +from workos.utils.request import RequestHelper, REQUEST_METHOD_POST from workos.utils.validation import PORTAL_MODULE, validate_settings PORTAL_GENERATE_PATH = "portal/generate_link"