Skip to content

Commit 371651d

Browse files
author
Val Brodsky
committed
Refactour test_user_management to fix test failures
1 parent 5eeb681 commit 371651d

File tree

2 files changed

+52
-20
lines changed

2 files changed

+52
-20
lines changed

libs/labelbox/tests/conftest.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -594,14 +594,8 @@ def sample_bulk_conversation() -> list:
594594
def organization(client):
595595
# Must have at least one seat open in your org to run these tests
596596
org = client.get_organization()
597-
# Clean up before and after incase this wasn't run for some reason.
598-
for invite in get_invites(client):
599-
if "@labelbox.com" in invite.email:
600-
cancel_invite(client, invite.uid)
597+
601598
yield org
602-
for invite in get_invites(client):
603-
if "@labelbox.com" in invite.email:
604-
cancel_invite(client, invite.uid)
605599

606600

607601
@pytest.fixture

libs/labelbox/tests/integration/test_user_management.py

Lines changed: 51 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
faker = Faker()
77

8-
def test_org_invite(client, organization, environ, queries):
8+
9+
@pytest.fixture
10+
def org_invite(client, organization, environ, queries):
911
role = client.get_roles()['LABELER']
1012
dummy_email = "none+{}@labelbox.com".format("".join(faker.random_letters(26)))
1113
invite_limit = organization.invite_limit()
@@ -18,6 +20,43 @@ def test_org_invite(client, organization, environ, queries):
1820

1921
invite = organization.invite_user(dummy_email, role)
2022

23+
yield invite, invite_limit
24+
25+
queries.cancel_invite(client, invite.uid)
26+
27+
28+
@pytest.fixture
29+
def project_role_1(client, project_pack):
30+
project_1, _ = project_pack
31+
roles = client.get_roles()
32+
return ProjectRole(project=project_1, role=roles['LABELER'])
33+
34+
35+
@pytest.fixture
36+
def project_role_2(client, project_pack):
37+
_, project_2 = project_pack
38+
roles = client.get_roles()
39+
return ProjectRole(project=project_2, role=roles['REVIEWER'])
40+
41+
42+
@pytest.fixture
43+
def create_project_invite(client, organization, project_pack, queries, project_role_1, project_role_2):
44+
roles = client.get_roles()
45+
dummy_email = "none+{}@labelbox.com".format("".join(faker.random_letters(26)))
46+
invite = organization.invite_user(
47+
dummy_email,
48+
roles['NONE'],
49+
project_roles=[project_role_1, project_role_2])
50+
51+
yield invite
52+
53+
queries.cancel_invite(client, invite.uid)
54+
55+
56+
def test_org_invite(client, organization, environ, queries, org_invite):
57+
invite, invite_limit = org_invite
58+
role = client.get_roles()['LABELER']
59+
2160
if environ.value == "prod":
2261

2362
invite_limit_after = organization.invite_limit()
@@ -35,23 +74,23 @@ def test_org_invite(client, organization, environ, queries):
3574
assert org_role == role.name.lower(
3675
), "Role should be labeler. Found {org_role} "
3776
assert in_list, "Invite not found"
77+
78+
79+
def test_cancel_invite(client, organization, queries,):
80+
role = client.get_roles()['LABELER']
81+
dummy_email = "none+{}@labelbox.com".format("".join(faker.random_letters(26)))
82+
invite_limit = organization.invite_limit()
83+
invite = organization.invite_user(dummy_email, role)
3884
queries.cancel_invite(client, invite.uid)
39-
assert invite_limit.remaining - organization.invite_limit().remaining == 0
85+
invite_limit_after = organization.invite_limit()
86+
assert invite_limit.remaining == invite_limit_after.remaining + 1
4087

4188

42-
def test_project_invite(client, organization, project_pack, queries):
43-
project_1, project_2 = project_pack
89+
def test_project_invite(client, organization, project_pack, queries, create_project_invite, project_role_1, project_role_2):
90+
project_1, _ = project_pack
4491
roles = client.get_roles()
45-
dummy_email = "none+{}@labelbox.com".format("".join(faker.random_letters(26)))
46-
project_role_1 = ProjectRole(project=project_1, role=roles['LABELER'])
47-
project_role_2 = ProjectRole(project=project_2, role=roles['REVIEWER'])
48-
invite = organization.invite_user(
49-
dummy_email,
50-
roles['NONE'],
51-
project_roles=[project_role_1, project_role_2])
5292

5393
project_invite = next(queries.get_project_invites(client, project_1.uid))
54-
5594
assert set([(proj_invite.project.uid, proj_invite.role.uid)
5695
for proj_invite in project_invite.project_roles
5796
]) == set([(proj_role.project.uid, proj_role.role.uid)
@@ -74,7 +113,6 @@ def test_project_invite(client, organization, project_pack, queries):
74113

75114
assert project_member.access_from == 'ORGANIZATION'
76115
assert project_member.role().name.upper() == roles['ADMIN'].name.upper()
77-
queries.cancel_invite(client, invite.uid)
78116

79117

80118
@pytest.mark.skip(

0 commit comments

Comments
 (0)