diff --git a/tests/utils/azure_users_test.py b/tests/utils/azure_users_test.py index 0efe4144..cbbf4e45 100644 --- a/tests/utils/azure_users_test.py +++ b/tests/utils/azure_users_test.py @@ -253,15 +253,15 @@ def test_users_functions_should_returns_all_users( first_response.status_code = 200 first_response._content = ( b'{"odata.nextLink":"nomatter&$skiptoken=X12872","value":[{"displayName":"Fake1",' - b'"otherMails":["fake1@ioet.com"],"objectId":"1"}]} ' + b'"otherMails":["fake1@ioet.com"], "mail":"fake1@ioet.com","objectId":"1"}]} ' ) second_response = copy.copy(first_response) - second_response._content = b'{"value":[{"displayName":"Fake2","otherMails":["fake2@ioet.com"],"objectId":"1"}]}' + second_response._content = b'{"value":[{"displayName":"Fake2","otherMails":["fake2@ioet.com"], "mail":"fake2@ioet.com","objectId":"1"}]}' get_mock.side_effect = [first_response, second_response] get_groups_and_users_mock.return_value = [] users = AzureConnection().users() - assert len(users) == 2 + assert len(users) == 0 diff --git a/utils/azure_users.py b/utils/azure_users.py index 376f8937..05da96c7 100644 --- a/utils/azure_users.py +++ b/utils/azure_users.py @@ -96,13 +96,14 @@ def users(self) -> List[AzureUser]: role_fields_params = ','.join( [field_name for field_name, _ in ROLE_FIELD_VALUES.values()] ) - endpoint = "{endpoint}/users?api-version=1.6&$select=displayName,otherMails,objectId,{role_fields_params}".format( + endpoint = "{endpoint}/users?api-version=1.6&$select=displayName,otherMails,mail,objectId,{role_fields_params}".format( endpoint=self.config.ENDPOINT, role_fields_params=role_fields_params, ) exists_users = True users = [] + valid_users = [] skip_token_attribute = '&$skiptoken=' while exists_users: @@ -124,8 +125,12 @@ def users(self) -> List[AzureUser]: skip_token_attribute )[1] endpoint = endpoint + skip_token_attribute + request_token - - return [self.to_azure_user(user) for user in users] + + for i in range(len(users)): + if users[i]['mail'] is None: + valid_users.append(users[i]) + + return [self.to_azure_user(user) for user in valid_users] def to_azure_user(self, item) -> AzureUser: there_is_email = len(item['otherMails']) > 0