Skip to content

Commit 9b2a8e8

Browse files
authored
Merge pull request #6208 from joshmoore/issue6206
test_user: don't assume single-threaded (see #6206)
2 parents 851b36c + 7edd892 commit 9b2a8e8

File tree

1 file changed

+20
-7
lines changed
  • components/tools/OmeroPy/test/integration/clitest

1 file changed

+20
-7
lines changed

Diff for: components/tools/OmeroPy/test/integration/clitest/test_user.py

+20-7
Original file line numberDiff line numberDiff line change
@@ -68,22 +68,35 @@ def testList(self, capsys, sort_key, group_format):
6868
self.cli.invoke(self.args, strict=True)
6969

7070
# Read from the stdout
71+
before = self.sf.getAdminService().lookupExperimenters()
7172
out, err = capsys.readouterr()
7273
ids = get_user_ids(out, sort_key=sort_key)
74+
after = self.sf.getAdminService().lookupExperimenters()
7375

74-
# Check all users are listed
76+
# Check all users are listed under the assumption that
77+
# users won't be _deleted_ by other threads.
7578
if sort_key == 'login':
76-
sorted_list = sorted(self.users, key=lambda x: x.omeName.val)
79+
sorted_before = sorted(before, key=lambda x: x.omeName.val)
80+
sorted_after = sorted(after, key=lambda x: x.omeName.val)
7781
elif sort_key == 'first-name':
78-
sorted_list = sorted(self.users, key=lambda x: x.firstName.val)
82+
sorted_before = sorted(before, key=lambda x: x.firstName.val)
83+
sorted_after = sorted(after, key=lambda x: x.firstName.val)
7984
elif sort_key == 'last-name':
80-
sorted_list = sorted(self.users, key=lambda x: x.lastName.val)
85+
sorted_before = sorted(before, key=lambda x: x.lastName.val)
86+
sorted_after = sorted(after, key=lambda x: x.lastName.val)
8187
elif sort_key == 'email':
82-
sorted_list = sorted(self.users, key=lambda x: (
88+
sorted_before = sorted(before, key=lambda x: (
89+
x.email and x.email.val or ""))
90+
sorted_after = sorted(after, key=lambda x: (
8391
x.email and x.email.val or ""))
8492
else:
85-
sorted_list = sorted(self.users, key=lambda x: x.id.val)
86-
assert ids == [user.id.val for user in sorted_list]
93+
sorted_before = sorted(before, key=lambda x: x.id.val)
94+
sorted_after = sorted(after, key=lambda x: x.id.val)
95+
96+
for lhs, rhs in (([user.id.val for user in sorted_before], ids),
97+
(ids, [user.id.val for user in sorted_after])):
98+
assert len(lhs) <= len(rhs)
99+
assert lhs == rhs[0:len(lhs)]
87100

88101
@pytest.mark.parametrize("style", [None, "sql", "csv", "plain", "json"])
89102
def testListWithStyles(self, capsys, style):

0 commit comments

Comments
 (0)