Skip to content

Commit 7e808bf

Browse files
committed
Add tests
1 parent a5d71a9 commit 7e808bf

File tree

2 files changed

+44
-10
lines changed

2 files changed

+44
-10
lines changed

superannotate/db/project_images.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -571,9 +571,9 @@ def assign_images(project, image_names, user):
571571

572572
project, folder = get_project_and_folder_metadata(project)
573573

574-
project_users = get_team_metadata()["users"]
575-
project_users = [i['id'] for i in project_users]
576-
if user not in project_users:
574+
verified_users = get_team_metadata()["users"]
575+
verified_users = [i['id'] for i in verified_users]
576+
if user not in verified_users:
577577
logging.warn(
578578
f'Skipping {user}. {user} is not a verified contributor for the {project["name"]}'
579579
)
@@ -614,11 +614,11 @@ def assign_folder(project, folder_name, users):
614614
"""
615615

616616
project_meta = get_project_metadata(project, include_contributors=True)
617-
project_users = get_team_metadata()["users"]
617+
verified_users = get_team_metadata()["users"]
618618
project_name = project_meta['name']
619-
project_users = [i['id'] for i in project_users]
620-
unverified_contributor = set(project_users) - set(users)
621-
verified_contributor = set(users) - set(unverified_contributor)
619+
verified_users = [i['id'] for i in verified_users]
620+
verified_users = set(users).intersection(set(verified_users))
621+
unverified_contributor = set(users) - verified_users
622622

623623
for user in unverified_contributor:
624624
logging.warn(
@@ -631,7 +631,7 @@ def assign_folder(project, folder_name, users):
631631
"team_id": project_meta["team_id"]
632632
}
633633
json_req = {
634-
"assign_user_ids": list(verified_contributor),
634+
"assign_user_ids": list(verified_users),
635635
"folder_name": folder_name
636636
}
637637
response = _api.send_request(
@@ -645,7 +645,7 @@ def assign_folder(project, folder_name, users):
645645
raise SABaseException(
646646
response.status_code, "Couldn't assign folder " + response.text
647647
)
648-
logger.info(f'Assigned {folder_name} to users: {verified_contributor}')
648+
logger.info(f'Assigned {folder_name} to users: {list(verified_users)}')
649649

650650

651651
def unassign_folder(project, folder_name):

tests/test_assign_images.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,4 +197,38 @@ def _search_folders(project, folder_name=None, includeUsers=False):
197197

198198
response = _api.send_request(req_type='GET', path='/folders', params=params)
199199
response = response.json()
200-
return response
200+
return response
201+
202+
203+
def test_assign_folder_unverified_users(tmpdir, caplog):
204+
tmpdir = Path(tmpdir)
205+
projects = sa.search_projects(PROJECT_NAME_VECTOR1, return_metadata=True)
206+
for project in projects:
207+
sa.delete_project(project)
208+
time.sleep(1)
209+
project = sa.create_project(PROJECT_NAME_VECTOR1, "test", "Vector")
210+
folder_name = "assign_folder"
211+
sa.create_folder(project, folder_name)
212+
email = "unverified_user@mail.com"
213+
sa.assign_folder(project, folder_name, [email])
214+
"Skipping unverified_user@mail.com from assignees." in caplog.text
215+
216+
217+
def test_assign_images_unverified_user(tmpdir, caplog):
218+
tmpdir = Path(tmpdir)
219+
220+
projects = sa.search_projects(PROJECT_NAME_VECTOR2, return_metadata=True)
221+
for project in projects:
222+
sa.delete_project(project)
223+
time.sleep(1)
224+
project = sa.create_project(PROJECT_NAME_VECTOR2, "test", "Vector")
225+
sa.create_folder(project, FOLDER2)
226+
project_folder = project["name"] + "/" + FOLDER2
227+
sa.upload_images_from_folder_to_project(
228+
project_folder, "./tests/sample_project_vector"
229+
)
230+
email = "unverified_user@email.com"
231+
sa.assign_images(
232+
project_folder, ["example_image_1.jpg", "example_image_2.jpg"], email
233+
)
234+
"Skipping unverified_user@mail.com from assignees." in caplog.text

0 commit comments

Comments
 (0)