Skip to content
Merged
7 changes: 7 additions & 0 deletions tests/test_directory_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,3 +173,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 = 202
mock_request_method("delete", mock_response, 202)
response = self.directory_sync.delete_directory(directory="directory_id")
assert response.status_code == 202
6 changes: 3 additions & 3 deletions tests/test_sso.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,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 = 204
mock_request_method("delete", mock_response, 204)
response = self.sso.delete_connection(connection="connection_id")
assert response.status_code == 200
assert response.status_code == 204
21 changes: 20 additions & 1 deletion workos/directory_sync.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
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
Expand Down Expand Up @@ -134,3 +138,18 @@ 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,
)