Skip to content

Commit 98cdadd

Browse files
author
Adrian Chang
committed
Update tests and validation
1 parent 2ec538e commit 98cdadd

File tree

3 files changed

+40
-6
lines changed

3 files changed

+40
-6
lines changed

libs/labelbox/src/labelbox/schema/user_group.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,10 @@ def delete(self) -> bool:
296296
297297
Raises:
298298
ResourceNotFoundError: If the deletion of the user group fails due to not existing
299+
ValueError: If the group ID is not provided.
299300
"""
301+
if not self.id:
302+
raise ValueError("Group id is required")
300303
query = """
301304
mutation DeleteUserGroupPyApi($id: ID!) {
302305
deleteUserGroup(where: {id: $id}) {

libs/labelbox/tests/integration/schema/test_user_group.py

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def user_group(client):
2121
user_group.delete()
2222

2323

24-
def test_existing_user_groups(user_group, client):
24+
def test_get_user_group(user_group, client):
2525
# Verify that the user group was created successfully
2626
user_group_equal = UserGroup(client)
2727
user_group_equal.id = user_group.id
@@ -31,7 +31,15 @@ def test_existing_user_groups(user_group, client):
3131
assert user_group.color == user_group_equal.color
3232

3333

34-
def test_cannot_get_user_group_with_invalid_id(client):
34+
def test_throw_error_get_user_group_no_id(user_group, client):
35+
old_id = user_group.id
36+
with pytest.raises(ValueError):
37+
user_group.id = ""
38+
user_group.get()
39+
user_group.id = old_id
40+
41+
42+
def test_throw_error_cannot_get_user_group_with_invalid_id(client):
3543
user_group = UserGroup(client=client, id=str(uuid4()))
3644
with pytest.raises(ResourceNotFoundError):
3745
user_group.get()
@@ -108,12 +116,20 @@ def test_update_user_group(user_group):
108116
assert user_group.color == UserGroupColor.PURPLE
109117

110118

111-
def test_cannot_update_name_to_empty_string(user_group):
112-
with pytest.raises(UnprocessableEntityError):
119+
def test_throw_error_cannot_update_name_to_empty_string(user_group):
120+
with pytest.raises(ValueError):
113121
user_group.name = ""
114122
user_group.update()
115123

116124

125+
def test_throw_error_cannot_update_id_to_empty_string(user_group):
126+
old_id = user_group.id
127+
with pytest.raises(ValueError):
128+
user_group.id = ""
129+
user_group.update()
130+
user_group.id = old_id
131+
132+
117133
def test_cannot_update_group_id(user_group):
118134
old_id = user_group.id
119135
with pytest.raises(ResourceNotFoundError):
@@ -160,7 +176,7 @@ def test_get_user_groups_with_creation_deletion(client):
160176

161177

162178
# project_pack creates two projects
163-
def test_update_user_group(user_group, client, project_pack):
179+
def test_update_user_group_users_projects(user_group, client, project_pack):
164180
users = list(client.get_users())
165181
projects = project_pack
166182

@@ -192,6 +208,14 @@ def test_throw_error_when_deleting_invalid_id_group(client):
192208
user_group.delete()
193209

194210

211+
def test_throw_error_delete_user_group_no_id(user_group, client):
212+
old_id = user_group.id
213+
with pytest.raises(ValueError):
214+
user_group.id = ""
215+
user_group.delete()
216+
user_group.id = old_id
217+
218+
195219
if __name__ == "__main__":
196220
import subprocess
197221
subprocess.call(["pytest", "-v", __file__])

libs/labelbox/tests/unit/schema/test_user_group.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ def test_update_with_exception_name(self):
181181
group = self.group
182182
group.name = ""
183183

184-
with pytest.raises(ValueError):
184+
with pytest.raises(UnprocessableEntityError):
185185
group.update()
186186

187187
def test_update_with_exception_name(self):
@@ -270,6 +270,13 @@ def test_delete_resource_not_found_error(self):
270270
with pytest.raises(ResourceNotFoundError):
271271
group.delete()
272272

273+
def test_delete_no_id(self):
274+
group = UserGroup(self.client)
275+
group.id = None
276+
277+
with pytest.raises(ValueError):
278+
group.delete()
279+
273280
def test_user_groups_empty(self):
274281
self.client.execute.return_value = {"userGroups": None}
275282

0 commit comments

Comments
 (0)