Skip to content

Commit a29b4f7

Browse files
fix: TT-583 unable to set admin role to users
1 parent 4afc255 commit a29b4f7

File tree

2 files changed

+24
-22
lines changed

2 files changed

+24
-22
lines changed

tests/utils/azure_users_test.py

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
],
1818
)
1919
def test_azure_connection_is_test_user(
20-
get_mock,
21-
field_name,
22-
field_value,
23-
is_test_user_expected_value,
20+
get_mock,
21+
field_name,
22+
field_value,
23+
is_test_user_expected_value,
2424
):
2525
response_mock = Mock()
2626
response_mock.status_code = 200
@@ -58,7 +58,7 @@ def test_azure_connection_get_test_user_ids(get_mock):
5858
@patch('utils.azure_users.AzureConnection.get_test_user_ids')
5959
@patch('utils.azure_users.AzureConnection.users')
6060
def test_azure_connection_get_non_test_users(
61-
users_mock, get_test_user_ids_mock
61+
users_mock, get_test_user_ids_mock
6262
):
6363
test_user = AzureUser('ID1', None, None, [], [])
6464
non_test_user = AzureUser('ID2', None, None, [], [])
@@ -81,7 +81,7 @@ def test_azure_connection_get_group_id_by_group_name(get_mock):
8181
group_id = 'ID1'
8282
azure_connection = AzureConnection()
8383
assert (
84-
azure_connection.get_group_id_by_group_name('group_name') == group_id
84+
azure_connection.get_group_id_by_group_name('group_name') == group_id
8585
)
8686

8787

@@ -91,7 +91,7 @@ def test_azure_connection_get_group_id_by_group_name(get_mock):
9191
@patch('requests.post')
9292
@mark.parametrize('expected_value', [True, False])
9393
def test_is_user_in_group(
94-
post_mock, get_group_id_by_group_name_mock, expected_value
94+
post_mock, get_group_id_by_group_name_mock, expected_value
9595
):
9696
response_expected = {'value': expected_value}
9797
response_mock = Mock()
@@ -104,8 +104,8 @@ def test_is_user_in_group(
104104

105105
azure_connection = AzureConnection()
106106
assert (
107-
azure_connection.is_user_in_group('user_id', payload_mock)
108-
== response_expected
107+
azure_connection.is_user_in_group('user_id', payload_mock)
108+
== response_expected
109109
)
110110

111111

@@ -164,7 +164,7 @@ def test_get_groups_and_users(get_mock):
164164
],
165165
)
166166
def test_get_groups_by_user_id(
167-
get_groups_and_users_mock, user_id, groups_expected_value
167+
get_groups_and_users_mock, user_id, groups_expected_value
168168
):
169169
get_groups_and_users_mock.return_value = [
170170
('test-group-1', ['user-id1', 'user-id2']),
@@ -180,7 +180,7 @@ def test_get_groups_by_user_id(
180180
@patch('utils.azure_users.AzureConnection.get_token', Mock())
181181
@patch('utils.azure_users.AzureConnection.get_groups_and_users')
182182
def test_get_groups_and_users_called_once_by_instance(
183-
get_groups_and_users_mock,
183+
get_groups_and_users_mock,
184184
):
185185
get_groups_and_users_mock.return_value = []
186186
user_id = 'user-id1'
@@ -195,14 +195,13 @@ def test_get_groups_and_users_called_once_by_instance(
195195
@patch('utils.azure_users.AzureConnection.get_msal_client', Mock())
196196
@patch('utils.azure_users.AzureConnection.get_token', Mock())
197197
@patch('utils.azure_users.AzureConnection.get_user')
198-
@patch('utils.azure_users.AzureConnection.get_groups_and_users')
199198
@patch('utils.azure_users.AzureConnection.get_group_id_by_group_name')
200199
@patch('requests.post')
201200
def test_add_user_to_group(
202-
post_mock, get_group_id_by_group_name_mock, get_user_mock, get_groups_and_users_mock
201+
post_mock, get_group_id_by_group_name_mock, get_user_mock
203202
):
204203
get_group_id_by_group_name_mock.return_value = 'dummy_group'
205-
test_user = AzureUser('dummy_user_id', None, None, [], ['dummy_group'])
204+
test_user = AzureUser('ID1', None, None, [], [])
206205
get_user_mock.return_value = test_user
207206

208207
response_mock = Mock()
@@ -215,22 +214,20 @@ def test_add_user_to_group(
215214
)
216215

217216
get_group_id_by_group_name_mock.assert_called_once()
218-
get_groups_and_users_mock.assert_called_once()
219217
get_user_mock.assert_called_once()
220218
assert expected_value == test_user
221219

222220

223221
@patch('utils.azure_users.AzureConnection.get_msal_client', Mock())
224222
@patch('utils.azure_users.AzureConnection.get_token', Mock())
225223
@patch('utils.azure_users.AzureConnection.get_user')
226-
@patch('utils.azure_users.AzureConnection.get_groups_and_users')
227224
@patch('utils.azure_users.AzureConnection.get_group_id_by_group_name')
228225
@patch('requests.delete')
229226
def test_remove_user_from_group(
230-
delete_mock, get_group_id_by_group_name_mock, get_user_mock, get_groups_and_users_mock
227+
delete_mock, get_group_id_by_group_name_mock, get_user_mock
231228
):
232229
get_group_id_by_group_name_mock.return_value = 'dummy_group'
233-
test_user = AzureUser('dummy_user_id', None, None, [], [])
230+
test_user = AzureUser('ID1', None, None, [], [])
234231
get_user_mock.return_value = test_user
235232

236233
response_mock = Mock()
@@ -243,15 +240,14 @@ def test_remove_user_from_group(
243240
)
244241

245242
get_group_id_by_group_name_mock.assert_called_once()
246-
get_groups_and_users_mock.assert_called_once()
247243
get_user_mock.assert_called_once()
248244
assert expected_value == test_user
249245

250246

251247
@patch('utils.azure_users.AzureConnection.get_groups_and_users')
252248
@patch('requests.get')
253249
def test_users_functions_should_returns_all_users(
254-
get_mock, get_groups_and_users_mock
250+
get_mock, get_groups_and_users_mock
255251
):
256252
first_response = Response()
257253
first_response.status_code = 200

utils/azure_users.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,10 @@ def add_user_to_group(self, user_id, group_name):
187187
headers=HTTP_PATCH_HEADERS,
188188
)
189189
assert 204 == response.status_code
190-
self.groups_and_users = self.get_groups_and_users()
190+
for (cache_group_name, user_ids) in self.groups_and_users:
191+
if group_name == cache_group_name:
192+
if user_id not in user_ids:
193+
user_ids.append(user_id)
191194
return self.get_user(user_id)
192195

193196
def remove_user_from_group(self, user_id, group_name):
@@ -201,7 +204,10 @@ def remove_user_from_group(self, user_id, group_name):
201204
headers=HTTP_PATCH_HEADERS,
202205
)
203206
assert 204 == response.status_code
204-
self.groups_and_users = self.get_groups_and_users()
207+
for (cache_group_name, user_ids) in self.groups_and_users:
208+
if group_name == cache_group_name:
209+
if user_id in user_ids:
210+
user_ids.remove(user_id)
205211
return self.get_user(user_id)
206212

207213
def get_non_test_users(self) -> List[AzureUser]:

0 commit comments

Comments
 (0)