Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
fix: TT-339 skip users with azureioet.onmicrosoft.com extension from …
…user search
  • Loading branch information
bytesantiago committed Oct 5, 2021
commit 53eeea7d23a24d7b0c5c16d1e84f254a1f481529
6 changes: 3 additions & 3 deletions tests/utils/azure_users_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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":["[email protected]"],"objectId":"1"}]} '
b'"otherMails":["[email protected]"], "mail":"[email protected]","objectId":"1"}]} '
)

second_response = copy.copy(first_response)
second_response._content = b'{"value":[{"displayName":"Fake2","otherMails":["[email protected]"],"objectId":"1"}]}'
second_response._content = b'{"value":[{"displayName":"Fake2","otherMails":["[email protected]"], "mail":"[email protected]","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
11 changes: 8 additions & 3 deletions utils/azure_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
Expand Down