Skip to content

Commit 53c1136

Browse files
authored
Add delete_directory endpoint (#65)
* Add delete_directory endpoint * Add test for new delete_directory endpoint * Change HTTP response code for test_delete_connection to 204
1 parent 9eae36c commit 53c1136

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

tests/test_directory_sync.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,10 @@ def test_list_directories(self, mock_directories, mock_request_method):
173173
response = self.directory_sync.list_directories()
174174
assert response.status_code == 200
175175
assert response.response_dict == mock_directories
176+
177+
def test_delete_directory(self, mock_directories, mock_request_method):
178+
mock_response = Response()
179+
mock_response.status_code = 202
180+
mock_request_method("delete", mock_response, 202)
181+
response = self.directory_sync.delete_directory(directory="directory_id")
182+
assert response.status_code == 202

tests/test_sso.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ def test_list_connections(
238238

239239
def test_delete_connection(self, setup_with_client_id, mock_request_method):
240240
mock_response = Response()
241-
mock_response.status_code = 200
242-
mock_request_method("delete", mock_response, 200)
241+
mock_response.status_code = 204
242+
mock_request_method("delete", mock_response, 204)
243243
response = self.sso.delete_connection(connection="connection_id")
244-
assert response.status_code == 200
244+
assert response.status_code == 204

workos/directory_sync.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import workos
2-
from workos.utils.request import RequestHelper, REQUEST_METHOD_GET
2+
from workos.utils.request import (
3+
RequestHelper,
4+
REQUEST_METHOD_DELETE,
5+
REQUEST_METHOD_GET,
6+
)
37
from workos.utils.validation import DIRECTORY_SYNC_MODULE, validate_settings
48

59
RESPONSE_LIMIT = 10
@@ -134,3 +138,18 @@ def list_directories(
134138
params=params,
135139
token=workos.api_key,
136140
)
141+
142+
def delete_directory(self, directory):
143+
"""Delete one existing Directory.
144+
145+
Args:
146+
directory (str): The ID of the directory to be deleted. (Required)
147+
148+
Returns:
149+
dict: Directories response from WorkOS.
150+
"""
151+
return self.request_helper.request(
152+
"directories/{directory}".format(directory=directory),
153+
method=REQUEST_METHOD_DELETE,
154+
token=workos.api_key,
155+
)

0 commit comments

Comments
 (0)