tests: Fix test coverage on recent commit.

I guess `test_classes` has 100% line coverage
enforcement, which is a bit tricky for error
handling.

This fixes that, as well as making the name
snake_case and improving the format of the
errors.
This commit is contained in:
Steve Howell 2020-03-19 15:32:24 +00:00 committed by showell
parent 80acbb9fdf
commit 42ee2f5e86
2 changed files with 21 additions and 17 deletions

View File

@ -821,10 +821,10 @@ class ZulipTestCase(TestCase):
r for r in data
if r['id'] == db_id][0]
def findOne(self,
lst: List[Any],
predicate: Callable[[Any], bool],
member_name: str) -> Any:
def find_one(self,
lst: List[Any],
predicate: Callable[[Any], bool],
member_name: str) -> Any:
matches = [
item for item in lst
if predicate(item)
@ -834,23 +834,27 @@ class ZulipTestCase(TestCase):
# Happy path!
return matches[0]
print('\nERROR: findOne fails on this list:\n')
if True: # nocoverage
print('\nERROR: findOne fails on this list:\n')
print('[')
for item in lst:
print(item)
for item in lst:
print(' ', item, ',')
print(']')
if len(matches) == 0:
raise ValueError(
'No matches: {}'.format(member_name)
)
if len(matches) == 0:
raise ValueError(
'No matches: {}'.format(member_name)
'Too many matches ({}): {}'.format(
len(matches),
member_name
)
)
raise ValueError(
'Too many matches ({}): {}'.format(
len(matches),
member_name
)
)
def init_default_ldap_database(self) -> None:
"""
Takes care of the mock_ldap setup, loads

View File

@ -1387,7 +1387,7 @@ class GetProfileTest(ZulipTestCase):
result = self.api_get(hamlet, "/api/v1/users")
self.assert_json_success(result)
my_user = self.findOne(
my_user = self.find_one(
result.json()['members'],
lambda user: user['email'] == hamlet.email,
'member for Hamlet'