Skip to content

Commit 81e7a4b

Browse files
author
Adrian Chang
committed
update all tests
1 parent 5787451 commit 81e7a4b

File tree

2 files changed

+46
-83
lines changed

2 files changed

+46
-83
lines changed

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

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,21 +73,29 @@ class Config:
7373
def __init__(
7474
self,
7575
client: Client,
76+
id: str = "",
77+
name: str = "",
78+
color: UserGroupColor = UserGroupColor.BLUE,
79+
users: Set[User] = set(),
80+
projects: Set[Project] = set()
7681
):
7782
"""
7883
Initializes a UserGroup object.
7984
8085
Args:
8186
client (Client): The Labelbox client object.
87+
id (str, optional): The ID of the user group. Defaults to an empty string.
88+
name (str, optional): The name of the user group. Defaults to an empty string.
89+
color (UserGroupColor, optional): The color of the user group. Defaults to UserGroupColor.BLUE.
90+
users (Set[User], optional): The set of users in the user group. Defaults to an empty set.
91+
projects (Set[Project], optional): The set of projects associated with the user group. Defaults to an empty set.
8292
8393
Raises:
8494
RuntimeError: If the experimental feature is not enabled in the client.
85-
8695
"""
87-
super().__init__(client=client, id="", name="", color=UserGroupColor.BLUE, users=set(), projects=set())
96+
super().__init__(client=client, id=id, name=name, color=color, users=users, projects=projects)
8897
if not self.client.enable_experimental:
89-
raise RuntimeError(
90-
"Please enable experimental in client to use UserGroups")
98+
raise RuntimeError("Please enable experimental in client to use UserGroups")
9199

92100
def get(self) -> "UserGroup":
93101
"""
@@ -379,6 +387,6 @@ def _get_projects_set(self, project_nodes):
379387
project_values["name"] = project["name"]
380388
project_values["queueMode"] = QueueMode.Batch.value
381389
project_values["editorTaskType"] = EditorTaskType.Missing.value
382-
project_values["mediaType"] = MediaType.Audio.value
390+
project_values["mediaType"] = MediaType.Image.value
383391
projects.add(Project(self.client, project_values))
384392
return projects

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

Lines changed: 33 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,27 @@
66
from labelbox.schema.project import Project
77
from labelbox.schema.user import User
88
from labelbox.schema.user_group import UserGroup, UserGroupColor
9+
from labelbox.schema.queue_mode import QueueMode
10+
from labelbox.schema.ontology_kind import EditorTaskType
11+
from labelbox.schema.media_type import MediaType
12+
13+
@pytest.fixture
14+
def group_user():
15+
user_values = defaultdict(lambda: None)
16+
user_values["id"] = "user_id"
17+
user_values["email"] = "test@example.com"
18+
return User(MagicMock(Client), user_values)
19+
20+
21+
@pytest.fixture
22+
def group_project():
23+
project_values = defaultdict(lambda: None)
24+
project_values["id"] = "project_id"
25+
project_values["name"] = "Test Project"
26+
project_values["queueMode"] = QueueMode.Batch.value
27+
project_values["editorTaskType"] = EditorTaskType.Missing.value
28+
project_values["mediaType"] = MediaType.Image.value
29+
return Project(MagicMock(Client), project_values)
930

1031

1132
class TestUserGroupColor:
@@ -94,73 +115,13 @@ def test_get(self):
94115
assert len(group.projects) == 2
95116
assert len(group.users) == 2
96117

97-
def test_id(self):
98-
group = self.group
99-
assert group.id == ""
100-
101-
def test_name(self):
102-
group = self.group
103-
assert group.name == ""
104-
105-
group.name = "New Group"
106-
assert group.name == "New Group"
107-
108-
group.name = "Another Group"
109-
assert group.name == "Another Group"
110-
111-
def test_color(self):
112-
group = self.group
113-
assert group.color is UserGroupColor.BLUE
114-
115-
group.color = UserGroupColor.PINK
116-
assert group.color == UserGroupColor.PINK
117-
118-
group.color = UserGroupColor.YELLOW
119-
assert group.color == UserGroupColor.YELLOW
120-
121-
def test_users(self):
122-
group = self.group
123-
assert len(group.users) == 0
124-
125-
group.users = {UserGroupUser(id="user_id", email="user_id@email")}
126-
assert len(group.users) == 1
127-
128-
group.users = {
129-
UserGroupUser(id="user_id", email="user_id@email"),
130-
UserGroupUser(id="user_id", email="user_id@email")
131-
}
132-
assert len(group.users) == 1
133-
134-
group.users = {}
135-
assert len(group.users) == 0
136-
137-
def test_projects(self):
138-
group = self.group
139-
assert len(group.projects) == 0
140-
141-
group.projects = {
142-
UserGroupProject(id="project_id", name="Test Project")
143-
}
144-
assert len(group.projects) == 1
145-
146-
group.projects = {
147-
UserGroupProject(id="project_id", name="Test Project"),
148-
UserGroupProject(id="project_id", name="Test Project")
149-
}
150-
assert len(group.projects) == 1
151-
152-
group.projects = {}
153-
assert len(group.projects) == 0
154-
155-
def test_update(self):
118+
def test_update(self, group_user, group_project):
156119
group = self.group
157120
group.id = "group_id"
158121
group.name = "Test Group"
159122
group.color = UserGroupColor.BLUE
160-
group.users = {UserGroupUser(id="user_id", email="test@example.com")}
161-
group.projects = {
162-
UserGroupProject(id="project_id", name="Test Project")
163-
}
123+
group.users = { group_user }
124+
group.projects = { group_project }
164125

165126
updated_group = group.update()
166127

@@ -171,17 +132,17 @@ def test_update(self):
171132
assert execute[1]["name"] == "Test Group"
172133
assert execute[1]["color"] == UserGroupColor.BLUE.value
173134
assert len(execute[1]["userIds"]) == 1
174-
assert list(execute[1]["userIds"])[0] == "user_id"
135+
assert list(execute[1]["userIds"])[0] == group_user.uid
175136
assert len(execute[1]["projectIds"]) == 1
176-
assert list(execute[1]["projectIds"])[0] == "project_id"
137+
assert list(execute[1]["projectIds"])[0] == group_project.uid
177138

178139
assert updated_group.id == "group_id"
179140
assert updated_group.name == "Test Group"
180141
assert updated_group.color == UserGroupColor.BLUE
181142
assert len(updated_group.users) == 1
182-
assert list(updated_group.users)[0].id == "user_id"
143+
assert list(updated_group.users)[0].uid == group_user.uid
183144
assert len(updated_group.projects) == 1
184-
assert list(updated_group.projects)[0].id == "project_id"
145+
assert list(updated_group.projects)[0].uid == group_project.uid
185146

186147
def test_create_with_exception_id(self):
187148
group = self.group
@@ -197,18 +158,12 @@ def test_create_with_exception_name(self):
197158
with pytest.raises(ValueError):
198159
group.create()
199160

200-
def test_create(self):
161+
def test_create(self, group_user, group_project):
201162
group = self.group
202163
group.name = "New Group"
203164
group.color = UserGroupColor.PINK
204-
user_values = defaultdict(lambda: None)
205-
user_values["id"] = "user_id"
206-
user_values["email"] = "test@example.com"
207-
group.users = {User(self.client, user_values)}
208-
project_values = defaultdict(lambda: None)
209-
group.projects = {
210-
Project(self.client, {id="project_id", name="Test Project", qu})
211-
}
165+
group.users = { group_user }
166+
group.projects = { group_project }
212167

213168
self.client.execute.return_value = {
214169
"createUserGroup": {
@@ -232,9 +187,9 @@ def test_create(self):
232187
assert created_group.name == "New Group"
233188
assert created_group.color == UserGroupColor.PINK
234189
assert len(created_group.users) == 1
235-
assert list(created_group.users)[0].id == "user_id"
190+
assert list(created_group.users)[0].uid == "user_id"
236191
assert len(created_group.projects) == 1
237-
assert list(created_group.projects)[0].id == "project_id"
192+
assert list(created_group.projects)[0].uid == "project_id"
238193

239194
def test_delete(self):
240195
group = self.group

0 commit comments

Comments
 (0)