From bf3c32e72d24bdb7210a33683b5b53a8fe24d026 Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 10:48:38 -0700 Subject: [PATCH 1/9] Add delete_directory endpoint --- workos/directory_sync.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/workos/directory_sync.py b/workos/directory_sync.py index 958b8cb0..58b78974 100644 --- a/workos/directory_sync.py +++ b/workos/directory_sync.py @@ -134,3 +134,19 @@ def list_directories( params=params, token=workos.api_key, ) + + + def delete_directory(self, directory): + """Delete one existing Directory. + + Args: + directory (str): The ID of the directory to be deleted. (Required) + + Returns: + dict: Directories response from WorkOS. + """ + return self.request_helper.request( + "directories/{directory}".format(directory=directory), + method=REQUEST_METHOD_DELETE, + token=workos.api_key, + ) From 9ef37c57d6edadeb33399e3227f0dcc734da4ebe Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 10:48:57 -0700 Subject: [PATCH 2/9] Add test for new delete_directory endpoint --- tests/test_directory_sync.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/test_directory_sync.py b/tests/test_directory_sync.py index 76e75292..550c8093 100644 --- a/tests/test_directory_sync.py +++ b/tests/test_directory_sync.py @@ -174,3 +174,10 @@ def test_list_directories(self, mock_directories, mock_request_method): response = self.directory_sync.list_directories() assert response.status_code == 200 assert response.response_dict == mock_directories + + def test_delete_directory(self, mock_directories, mock_request_method): + mock_response = Response() + mock_response.status_code = 200 + mock_request_method("delete", mock_response, 200) + response = self.sso.delete_directory(directory="directory_id") + assert response.status_code == 200 From 2a25e1761837bbfd39bd94766368d770237e9c27 Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 10:53:42 -0700 Subject: [PATCH 3/9] Include REQUEST_METHOD_DELETE import --- workos/directory_sync.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workos/directory_sync.py b/workos/directory_sync.py index 58b78974..22b12c3f 100644 --- a/workos/directory_sync.py +++ b/workos/directory_sync.py @@ -1,5 +1,5 @@ import workos -from workos.utils.request import RequestHelper, REQUEST_METHOD_GET +from workos.utils.request import RequestHelper, REQUEST_METHOD_DELETE, REQUEST_METHOD_GET from workos.utils.validation import DIRECTORY_SYNC_MODULE, validate_settings RESPONSE_LIMIT = 10 From 72acbeffa11ea47297538862fc7e6199ebab518b Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 10:57:34 -0700 Subject: [PATCH 4/9] Fix typo and update HTTP code to 202 --- tests/test_directory_sync.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_directory_sync.py b/tests/test_directory_sync.py index 550c8093..b3659d2a 100644 --- a/tests/test_directory_sync.py +++ b/tests/test_directory_sync.py @@ -177,7 +177,7 @@ def test_list_directories(self, mock_directories, mock_request_method): def test_delete_directory(self, mock_directories, mock_request_method): mock_response = Response() - mock_response.status_code = 200 - mock_request_method("delete", mock_response, 200) - response = self.sso.delete_directory(directory="directory_id") - assert response.status_code == 200 + mock_response.status_code = 202 + mock_request_method("delete", mock_response, 202) + response = self.directory_sync.delete_directory(directory="directory_id") + assert response.status_code == 202 From 77e4ead901f3dfe30a116bde8107111610b60907 Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 10:59:37 -0700 Subject: [PATCH 5/9] Fix formatting issue --- workos/directory_sync.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workos/directory_sync.py b/workos/directory_sync.py index 22b12c3f..9273cb10 100644 --- a/workos/directory_sync.py +++ b/workos/directory_sync.py @@ -1,5 +1,7 @@ import workos -from workos.utils.request import RequestHelper, REQUEST_METHOD_DELETE, REQUEST_METHOD_GET +from workos.utils.request import ( + RequestHelper, REQUEST_METHOD_DELETE, REQUEST_METHOD_GET +) from workos.utils.validation import DIRECTORY_SYNC_MODULE, validate_settings RESPONSE_LIMIT = 10 From be8d7c4992228409272d387574ddd3286cb41c28 Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 11:07:07 -0700 Subject: [PATCH 6/9] Reformat imports --- workos/directory_sync.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workos/directory_sync.py b/workos/directory_sync.py index 9273cb10..f8c41904 100644 --- a/workos/directory_sync.py +++ b/workos/directory_sync.py @@ -1,6 +1,8 @@ import workos from workos.utils.request import ( - RequestHelper, REQUEST_METHOD_DELETE, REQUEST_METHOD_GET + RequestHelper, + REQUEST_METHOD_DELETE, + REQUEST_METHOD_GET ) from workos.utils.validation import DIRECTORY_SYNC_MODULE, validate_settings From 5046dc1ccf83c9eba1d4cddb35a7ee222a09d3ca Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 11:10:04 -0700 Subject: [PATCH 7/9] Fix formatting --- workos/directory_sync.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/workos/directory_sync.py b/workos/directory_sync.py index f8c41904..1cb2484e 100644 --- a/workos/directory_sync.py +++ b/workos/directory_sync.py @@ -2,7 +2,7 @@ from workos.utils.request import ( RequestHelper, REQUEST_METHOD_DELETE, - REQUEST_METHOD_GET + REQUEST_METHOD_GET, ) from workos.utils.validation import DIRECTORY_SYNC_MODULE, validate_settings @@ -139,7 +139,6 @@ def list_directories( token=workos.api_key, ) - def delete_directory(self, directory): """Delete one existing Directory. From 3fe97a78f9e73ebf3dca45c0292704885a7d91b0 Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Tue, 11 May 2021 11:12:31 -0700 Subject: [PATCH 8/9] Change HTTP response code for test_delete_connection --- tests/test_sso.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_sso.py b/tests/test_sso.py index ee1de725..8a91021c 100644 --- a/tests/test_sso.py +++ b/tests/test_sso.py @@ -293,7 +293,7 @@ def test_list_connections( def test_delete_connection(self, setup_with_client_id, mock_request_method): mock_response = Response() - mock_response.status_code = 200 - mock_request_method("delete", mock_response, 200) + mock_response.status_code = 202 + mock_request_method("delete", mock_response, 202) response = self.sso.delete_connection(connection="connection_id") - assert response.status_code == 200 + assert response.status_code == 202 From 9924388024586273cd09e03e693326f5534b628f Mon Sep 17 00:00:00 2001 From: "erin@workos.com" Date: Wed, 12 May 2021 17:28:35 -0700 Subject: [PATCH 9/9] Use HTTP code 204 --- tests/test_sso.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_sso.py b/tests/test_sso.py index 8a91021c..094f0ac4 100644 --- a/tests/test_sso.py +++ b/tests/test_sso.py @@ -293,7 +293,7 @@ def test_list_connections( def test_delete_connection(self, setup_with_client_id, mock_request_method): mock_response = Response() - mock_response.status_code = 202 - mock_request_method("delete", mock_response, 202) + mock_response.status_code = 204 + mock_request_method("delete", mock_response, 204) response = self.sso.delete_connection(connection="connection_id") - assert response.status_code == 202 + assert response.status_code == 204