Skip to content

Commit d7a9b57

Browse files
committed
Added support to the other tests and fixed the remaining tests
1 parent 0aca3e6 commit d7a9b57

File tree

9 files changed

+70
-58
lines changed

9 files changed

+70
-58
lines changed

pyatlan/client/atlan.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ def get_group_by_name(
867867
self,
868868
alias: str,
869869
limit: int = 20,
870-
) -> Optional[List[AtlanGroup]]:
870+
) -> Optional[GroupResponse]:
871871
"""Deprecated - use group.get_by_name() instead."""
872872
warn(
873873
"This method is deprecated, please use 'group.get_by_name' instead, which offers identical functionality.",
@@ -1002,7 +1002,7 @@ def get_users_by_email(
10021002
self,
10031003
email: str,
10041004
limit: int = 20,
1005-
) -> Optional[List[AtlanUser]]:
1005+
) -> Optional[UserResponse]:
10061006
"""Deprecated - use user.get_by_email() instead."""
10071007
warn(
10081008
"This method is deprecated, please use 'user.get_by_email' instead, which offers identical functionality.",

pyatlan/client/group.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,15 +155,15 @@ def get_all(
155155
response: GroupResponse = self.get(
156156
offset=offset, limit=limit, sort=sort, columns=columns
157157
)
158-
return response # type: ignore
158+
return response
159159

160160
@validate_arguments
161161
def get_by_name(
162162
self,
163163
alias: str,
164164
limit: int = 20,
165165
offset: int = 0,
166-
) -> Optional[List[AtlanGroup]]:
166+
) -> Optional[GroupResponse]:
167167
"""
168168
Retrieve all groups with a name that contains the provided string.
169169
(This could include a complete group name, in which case there should be at most
@@ -175,13 +175,12 @@ def get_by_name(
175175
:param offset: starting point for the list of groups when paging
176176
:returns: all groups whose name (in the UI) contains the provided string
177177
"""
178-
if response := self.get(
178+
response: GroupResponse = self.get(
179179
offset=offset,
180180
limit=limit,
181181
post_filter='{"$and":[{"alias":{"$ilike":"%' + alias + '%"}}]}',
182-
):
183-
return response.records
184-
return None
182+
)
183+
return response
185184

186185
@validate_arguments
187186
def get_members(

pyatlan/client/user.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def __init__(self, client: ApiCaller):
4848
@validate_arguments
4949
def create(
5050
self, users: List[AtlanUser], return_info: bool = False
51-
) -> Optional[List[AtlanUser]]:
51+
) -> Optional[UserResponse]:
5252
"""
5353
Create one or more new users.
5454
@@ -219,7 +219,7 @@ def get_by_email(
219219
email: str,
220220
limit: int = 20,
221221
offset: int = 0,
222-
) -> Optional[List[AtlanUser]]:
222+
) -> Optional[UserResponse]:
223223
"""
224224
Retrieves all users with email addresses that contain the provided email.
225225
(This could include a complete email address, in which case there should be at
@@ -232,21 +232,20 @@ def get_by_email(
232232
:param offset: starting point for the list of users when pagin
233233
:returns: all users whose email addresses contain the provided string
234234
"""
235-
if response := self.get(
235+
response: UserResponse = self.get(
236236
offset=offset,
237237
limit=limit,
238238
post_filter='{"email":{"$ilike":"%' + email + '%"}}',
239-
):
240-
return response.records
241-
return None
239+
)
240+
return response
242241

243242
@validate_arguments
244243
def get_by_emails(
245244
self,
246245
emails: List[str],
247246
limit: int = 20,
248247
offset: int = 0,
249-
) -> Optional[List[AtlanUser]]:
248+
) -> Optional[UserResponse]:
250249
"""
251250
Retrieves all users with email addresses that match the provided list of emails.
252251
@@ -256,9 +255,10 @@ def get_by_emails(
256255
:returns: list of users whose email addresses match the provided list
257256
"""
258257
email_filter = '{"email":{"$in":' + dumps(emails or [""]) + "}}"
259-
if response := self.get(offset=offset, limit=limit, post_filter=email_filter):
260-
return response.records
261-
return None
258+
response: UserResponse = self.get(
259+
offset=offset, limit=limit, post_filter=email_filter
260+
)
261+
return response
262262

263263
@validate_arguments
264264
def get_by_username(self, username: str) -> Optional[AtlanUser]:
@@ -281,7 +281,7 @@ def get_by_username(self, username: str) -> Optional[AtlanUser]:
281281
@validate_arguments
282282
def get_by_usernames(
283283
self, usernames: List[str], limit: int = 5, offset: int = 0
284-
) -> Optional[List[AtlanUser]]:
284+
) -> Optional[UserResponse]:
285285
"""
286286
Retrieves users based on their usernames.
287287
@@ -291,11 +291,10 @@ def get_by_usernames(
291291
:returns: the users with the specified usernames
292292
"""
293293
username_filter = '{"username":{"$in":' + dumps(usernames or [""]) + "}}"
294-
if response := self.get(
294+
response: UserResponse = self.get(
295295
offset=offset, limit=limit, post_filter=username_filter
296-
):
297-
return response.records
298-
return None
296+
)
297+
return response.records # type: ignore
299298

300299
@validate_arguments
301300
def add_to_groups(

pyatlan/samples/search/and_star_assets.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ def list_users_in_group(name: str) -> List[str]:
4646
"""
4747
usernames: List[str] = []
4848
if groups := client.group.get_by_name(alias=name):
49-
if groups[0].id is not None and (
50-
response := client.group.get_members(guid=groups[0].id)
49+
if groups.records[0].id is not None and ( # type: ignore
50+
response := client.group.get_members(guid=groups.records[0].id) # type: ignore
5151
):
5252
if response.records and len(response.records) > 0:
5353
usernames.extend(

tests/integration/admin_test.py

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ def test_create_group(client: AtlanClient, group: CreateGroupResponse):
5252
assert group
5353
r = client.group.get_by_name(GROUP_NAME)
5454
assert r
55-
assert len(r) == 1
56-
group1_full = r[0]
55+
assert r.records is not None
56+
assert len(r.records) == 1
57+
group1_full = r.records[0]
5758
assert group1_full
5859
assert group1_full.path
5960
assert group1_full.name
@@ -102,8 +103,9 @@ def test_group_get_pagination(client: AtlanClient, group: CreateGroupResponse):
102103
def test_group_get_members_pagination(client: AtlanClient, group: CreateGroupResponse):
103104
groups = client.group.get_by_name(alias=GROUP_NAME)
104105
assert groups
105-
assert len(groups) == 1
106-
group1 = groups[0]
106+
assert groups.records
107+
assert len(groups.records) == 1
108+
group1 = groups.records[0]
107109
assert group1.id
108110
response = client.group.get_members(guid=group1.id, request=UserRequest(limit=1))
109111

@@ -177,29 +179,33 @@ def test_retrieve_existing_user(client: AtlanClient, group: CreateGroupResponse)
177179
assert user1.group_count == 1 + _default_group_count
178180
response = client.user.get_by_usernames(usernames=[FIXED_USER])
179181
assert response
180-
assert len(response) == 1
181-
fixed_user = response[0]
182+
assert response.records is not None
183+
assert len(response.records) == 1
184+
fixed_user = response.records[0]
182185
assert fixed_user
183186
assert fixed_user.id
184187
users_list = client.user.get_by_usernames(usernames=[])
185188
assert users_list == []
186189
users_list = client.user.get_by_email(EMAIL_DOMAIN)
187190
assert users_list
188-
assert len(users_list) >= 1
191+
assert users_list.records is not None
192+
assert len(users_list.records) >= 1
189193
email = user1.email
190194
assert email
191195
users_list = client.user.get_by_email(email)
192196
assert users_list
193-
assert len(users_list) == 1
194-
assert user1.email == users_list[0].email
195-
assert user1.username == users_list[0].username
196-
assert user1.attributes == users_list[0].attributes
197+
assert users_list.records is not None
198+
assert len(users_list.records) == 1
199+
assert user1.email == users_list.records[0].email
200+
assert user1.username == users_list.records[0].username
201+
assert user1.attributes == users_list.records[0].attributes
197202
users_list = client.user.get_by_emails(emails=[email])
198203
assert users_list
199-
assert len(users_list) == 1
200-
assert user1.email == users_list[0].email
201-
assert user1.username == users_list[0].username
202-
assert user1.attributes == users_list[0].attributes
204+
assert users_list.records is not None
205+
assert len(users_list.records) == 1
206+
assert user1.email == users_list.records[0].email
207+
assert user1.username == users_list.records[0].username
208+
assert user1.attributes == users_list.records[0].attributes
203209
users_list = client.user.get_by_emails(emails=[])
204210
assert users_list == []
205211

@@ -208,8 +214,9 @@ def test_retrieve_existing_user(client: AtlanClient, group: CreateGroupResponse)
208214
def test_update_groups(client: AtlanClient, group: CreateGroupResponse):
209215
groups = client.group.get_by_name(alias=GROUP_NAME)
210216
assert groups
211-
assert len(groups) == 1
212-
group1 = groups[0]
217+
assert groups.records is not None
218+
assert len(groups.records) == 1
219+
group1 = groups.records[0]
213220
group1.attributes = AtlanGroup.Attributes(description=["Now with a description!"])
214221
client.group.update(group1)
215222

@@ -221,8 +228,9 @@ def test_updated_groups(
221228
):
222229
groups = client.group.get_by_name(alias=GROUP_NAME)
223230
assert groups
224-
assert len(groups) == 1
225-
group1 = groups[0]
231+
assert groups.records is not None
232+
assert len(groups.records) == 1
233+
group1 = groups.records[0]
226234
assert group1
227235
assert group1.id == group.group
228236
assert group1.attributes
@@ -237,8 +245,9 @@ def test_remove_user_from_group(
237245
):
238246
groups = client.group.get_by_name(alias=GROUP_NAME)
239247
assert groups
240-
assert len(groups) == 1
241-
group1 = groups[0]
248+
assert groups.records is not None
249+
assert len(groups.records) == 1
250+
group1 = groups.records[0]
242251
assert group1.id
243252
fixed_user = client.user.get_by_username(FIXED_USER)
244253
assert fixed_user

tests/integration/custom_metadata_test.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -500,12 +500,14 @@ def _get_groups(
500500
) -> Tuple[AtlanGroup, AtlanGroup]:
501501
candidates = client.group.get_by_name(GROUP_NAME1)
502502
assert candidates
503-
assert len(candidates) == 1
504-
group1 = candidates[0]
503+
assert candidates.records is not None
504+
assert len(candidates.records) == 1
505+
group1 = candidates.records[0]
505506
candidates = client.group.get_by_name(GROUP_NAME2)
506507
assert candidates
507-
assert len(candidates) == 1
508-
group2 = candidates[0]
508+
assert candidates.records is not None
509+
assert len(candidates.records) == 1
510+
group2 = candidates.records[0]
509511
return group1, group2
510512

511513

tests/integration/suggestions_test.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -438,10 +438,12 @@ def owner_group(
438438
response = client.group.create(group=to_create)
439439
assert response
440440
group = client.group.get_by_name(PREFIX)
441-
assert group and len(group) == 1
442-
assert group[0].id
443-
yield group[0]
444-
client.group.purge(group[0].id)
441+
assert group
442+
assert group.records is not None
443+
assert len(group.records) == 1
444+
assert group.records[0].id
445+
yield group.records[0]
446+
client.group.purge(group.records[0].id)
445447

446448

447449
def test_connection(client: AtlanClient, connection: Connection):

tests/integration/test_sso_client.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ def group(client: AtlanClient) -> Generator[AtlanGroup, None, None]:
4040
g = client.group.create(group=to_create, user_ids=[str(fixed_user.id)])
4141
groups = client.group.get_by_name(alias=GROUP_NAME)
4242
assert groups
43-
assert len(groups) == 1
44-
yield groups[0]
43+
assert groups.records is not None
44+
assert len(groups.records) == 1
45+
yield groups.records[0]
4546
assert g.group
4647
delete_group(client, g.group)
4748

tests/unit/test_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1816,8 +1816,8 @@ def test_user_create_with_info(
18161816
test_users = [AtlanUser.create(email="[email protected]", role_name="$member")]
18171817
response = client.create(users=test_users, return_info=True)
18181818

1819-
assert len(response) == 1
1820-
user = response[0]
1819+
assert len(response.current_page()) == 1
1820+
user = response.current_page()[0]
18211821
assert user
18221822
assert user.username
18231823
assert user.email

0 commit comments

Comments
 (0)