25
25
import okta
26
26
import json
27
27
import tests .helper
28
+ import copy
28
29
29
30
from user_sync .error import AssertionException
30
31
from user_sync .connector .directory_okta import OktaDirectoryConnector , \
@@ -156,7 +157,7 @@ def tearDown(self):
156
157
def test_found_user_single_group (self , mock_members ):
157
158
# There are 1 users in the Group. This test should return 1 users.
158
159
groups = ['group1' ]
159
- test_user = tests .helper .create_test_user_uid (groups [ 0 ] )
160
+ test_user = tests .helper .create_test_user_uid ()
160
161
mock_members .return_value = [test_user ]
161
162
directory = self .directory
162
163
results = directory .load_users_and_groups (groups , [])
@@ -168,7 +169,7 @@ def test_found_user_multiple_groups(self, mock_members):
168
169
groups = ['group1' , 'group2' ]
169
170
test_users = []
170
171
for group in groups :
171
- test_users .append ([tests .helper .create_test_user_uid ([ group ] )])
172
+ test_users .append ([tests .helper .create_test_user_uid ()])
172
173
mock_members .side_effect = test_users
173
174
directory = self .directory
174
175
results = directory .load_users_and_groups (groups , [])
@@ -181,7 +182,7 @@ def test_found_user_single_group_multiple_user(self, mock_members):
181
182
test_users = []
182
183
user_count = 0
183
184
while user_count < 5 :
184
- test_users .append (tests .helper .create_test_user_uid (groups [ 0 ] ))
185
+ test_users .append (tests .helper .create_test_user_uid ())
185
186
user_count = user_count + 1
186
187
mock_members .return_value = test_users
187
188
directory = self .directory
@@ -197,7 +198,7 @@ def test_found_user_multiple_groups_multiple_user(self, mock_members):
197
198
test_users = []
198
199
user_count = 0
199
200
while user_count < 5 :
200
- test_users .append (tests .helper .create_test_user_uid (group ))
201
+ test_users .append (tests .helper .create_test_user_uid ())
201
202
user_count = user_count + 1
202
203
total_test_users .append (test_users )
203
204
mock_members .side_effect = total_test_users
@@ -225,7 +226,18 @@ def test_no_user_multiple_groups(self, mock_members):
225
226
results = directory .load_users_and_groups (groups , [])
226
227
self .assertEqual (len (list (results )), 0 )
227
228
228
- # Used to Test UserGroupsClient , iter_group_members Definations
229
+ @mock .patch ('user_sync.connector.directory_okta.OktaDirectoryConnector.iter_group_members' )
230
+ def test_same_user_in_multiple_groups (self , mock_members ):
231
+ # BUG User A suppose to be Group 1 and Group 2.
232
+ groups = ['group1' , 'group2' ]
233
+ test_user = tests .helper .create_test_user_uid ()
234
+ mock_members .side_effect = [[test_user ], [copy .deepcopy (test_user )]]
235
+ directory = self .directory
236
+ result = directory .load_users_and_groups (groups , [])
237
+ result_list = list (result )
238
+ self .assertEqual (result_list [0 ]['groups' ], ['group1' ,'group2' ])
239
+
240
+ # Used to Test UserGroupsClient , iter_group_members Definitions
229
241
class TestOktaIterGroupMember (unittest .TestCase ):
230
242
def setUp (self ):
231
243
class MockResponse :
0 commit comments