11import os
22
3- from tests .conftest import TEST_ICON_PATH , JiraTestCase
3+ from jira .resources import User
4+ from tests .conftest import TEST_ICON_PATH , JiraTestCase , allow_on_cloud
45
56
67class UserTests (JiraTestCase ):
78 def setUp (self ):
89 JiraTestCase .setUp (self )
910 self .issue = self .test_manager .project_b_issue3
1011
12+ @allow_on_cloud
1113 def test_user (self ):
12- user = self .jira .user (self .test_manager .user_admin .name )
13- self .assertTrue (user .name )
14+ """Test that a user can be returned and is the right class"""
15+ # GIVEN: a User
16+ expected_user = self .test_manager .user_admin
17+ # WHEN: The user is searched for using its identifying attribute
18+ user = self .jira .user (getattr (expected_user , self .identifying_user_property ))
19+ # THEN: it is of the right type, and has an email address of the right format
20+ assert isinstance (user , User )
1421 self .assertRegex (
1522 user .emailAddress , r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"
1623 )
@@ -148,11 +155,22 @@ def test_delete_user_avatar(self):
148155 )
149156 self .jira .delete_user_avatar (self .test_manager .CI_JIRA_ADMIN , props ["id" ])
150157
158+ @allow_on_cloud
151159 def test_search_users (self ):
152- users = self .jira .search_users (self .test_manager .CI_JIRA_ADMIN )
160+ # WHEN: the search_users function is called with a requested user
161+ if self .is_jira_cloud_ci :
162+ users = self .jira .search_users (query = self .test_manager .CI_JIRA_ADMIN )
163+ else :
164+ users = self .jira .search_users (self .test_manager .CI_JIRA_ADMIN )
165+ # THEN: We get a list of User objects
153166 self .assertGreaterEqual (len (users ), 1 )
154- usernames = map (lambda user : user .name , users )
155- self .assertIn (self .test_manager .user_admin .name , usernames )
167+ self .assertIsInstance (users [0 ], User )
168+ # and the requested user can be found in this list
169+ user_ids = [getattr (user , self .identifying_user_property ) for user in users ]
170+ self .assertIn (
171+ getattr (self .test_manager .user_admin , self .identifying_user_property ),
172+ user_ids ,
173+ )
156174
157175 def test_search_users_maxresults (self ):
158176 users = self .jira .search_users (self .test_manager .CI_JIRA_USER , maxResults = 1 )
@@ -164,9 +182,11 @@ def test_search_allowed_users_for_issue_by_project(self):
164182 )
165183 self .assertGreaterEqual (len (users ), 1 )
166184
185+ @allow_on_cloud
167186 def test_search_allowed_users_for_issue_by_issue (self ):
168187 users = self .jira .search_allowed_users_for_issue ("a" , issueKey = self .issue )
169188 self .assertGreaterEqual (len (users ), 1 )
189+ self .assertIsInstance (users [0 ], User )
170190
171191 def test_search_allowed_users_for_issue_maxresults (self ):
172192 users = self .jira .search_allowed_users_for_issue (
0 commit comments