Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions scalekit/directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ def list_directory_users(
page_size: Optional[int] = None,
page_token: Optional[str] = None,
include_detail: Optional[bool] = None,
directory_group_id: Optional[str] = None,
updated_after: Optional[str] = None
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
) -> tuple[ListDirUsersResponse, Any]:
"""
Expand All @@ -87,6 +88,8 @@ def list_directory_users(
:type : ``` str ```
:param include_detail : param to include detailed data
:type : ``` bool ```
:param directory_group_id : filter users by membership in a specific directory group
:type : ``` str ```
:param updated_after : param to get updated after detail
:type : ``` str ```

Expand All @@ -101,6 +104,7 @@ def list_directory_users(
page_size=page_size,
page_token=page_token,
include_detail=include_detail,
directory_group_id=directory_group_id,
updated_after=updated_after
),
)
Expand Down
53 changes: 53 additions & 0 deletions tests/test_directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,59 @@ def test_get_primary_directory_by_organization_id(self):
self.assertEqual(response.id, self.dir_id)
self.assertEqual(response.organization_id, self.org_id)

def test_list_directory_users(self):
""" Method to test list directory users """
organization = CreateOrganization(display_name=Faker().company(), external_id=Faker().uuid4())
org_response = self.scalekit_client.organization.create_organization(organization=organization)
self.org_id = org_response[0].organization.id

directory = CreateDirectory(directory_provider=DirectoryProvider.OKTA, directory_type=DirectoryType.SCIM)
create_response = self.scalekit_client.directory.create_directory(organization_id=self.org_id, directory=directory)
self.dir_id = create_response[0].directory.id

response = self.scalekit_client.directory.list_directory_users(
organization_id=self.org_id,
directory_id=self.dir_id
)
self.assertEqual(response[1].code().name, "OK")
self.assertTrue(response[0] is not None)

def test_list_directory_users_filter_by_group(self):
""" Method to test list directory users filtered by directory_group_id """
organization = CreateOrganization(display_name=Faker().company(), external_id=Faker().uuid4())
org_response = self.scalekit_client.organization.create_organization(organization=organization)
self.org_id = org_response[0].organization.id

directory = CreateDirectory(directory_provider=DirectoryProvider.OKTA, directory_type=DirectoryType.SCIM)
create_response = self.scalekit_client.directory.create_directory(organization_id=self.org_id, directory=directory)
self.dir_id = create_response[0].directory.id

response = self.scalekit_client.directory.list_directory_users(
organization_id=self.org_id,
directory_id=self.dir_id,
directory_group_id="dirgroup_nonexistent"
)
self.assertEqual(response[1].code().name, "OK")
self.assertTrue(response[0] is not None)
self.assertEqual(len(response[0].users), 0)

def test_list_directory_groups(self):
""" Method to test list directory groups """
organization = CreateOrganization(display_name=Faker().company(), external_id=Faker().uuid4())
org_response = self.scalekit_client.organization.create_organization(organization=organization)
self.org_id = org_response[0].organization.id

directory = CreateDirectory(directory_provider=DirectoryProvider.OKTA, directory_type=DirectoryType.SCIM)
create_response = self.scalekit_client.directory.create_directory(organization_id=self.org_id, directory=directory)
self.dir_id = create_response[0].directory.id

response = self.scalekit_client.directory.list_directory_groups(
organization_id=self.org_id,
directory_id=self.dir_id
)
self.assertEqual(response[1].code().name, "OK")
self.assertTrue(response[0] is not None)

def tearDown(self):
""" Method to clean up """
if self.dir_id:
Expand Down
Loading