99
1010GET_XML = os .path .join (TEST_ASSET_DIR , 'group_get.xml' )
1111POPULATE_USERS = os .path .join (TEST_ASSET_DIR , 'group_populate_users.xml' )
12+ POPULATE_USERS_EMPTY = os .path .join (TEST_ASSET_DIR , 'group_populate_users_empty.xml' )
1213ADD_USER = os .path .join (TEST_ASSET_DIR , 'group_add_user.xml' )
14+ ADD_USER_POPULATE = os .path .join (TEST_ASSET_DIR , 'group_users_added.xml' )
1315CREATE_GROUP = os .path .join (TEST_ASSET_DIR , 'group_create.xml' )
1416CREATE_GROUP_ASYNC = os .path .join (TEST_ASSET_DIR , 'group_create_async.xml' )
1517
@@ -52,17 +54,18 @@ def test_populate_users(self):
5254 with open (POPULATE_USERS , 'rb' ) as f :
5355 response_xml = f .read ().decode ('utf-8' )
5456 with requests_mock .mock () as m :
55- m .get (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' , text = response_xml )
57+ m .get (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users?pageNumber=1&pageSize=100&sort=name:asc' ,
58+ text = response_xml , complete_qs = True )
5659 single_group = TSC .GroupItem (name = 'Test Group' )
5760 single_group ._id = 'e7833b48-c6f7-47b5-a2a7-36e7dd232758'
58- pagination_item = self .server .groups .populate_users (single_group )
61+ self .server .groups .populate_users (single_group )
5962
60- self .assertEqual (1 , pagination_item . total_available )
61- user = single_group .users .pop ()
62- self .assertEqual ('dd2239f6-ddf1-4107-981a-4cf94e415794' , user .id )
63- self .assertEqual ('alice' , user .name )
64- self .assertEqual ('Publisher' , user .site_role )
65- self .assertEqual ('2016-08-16T23:17:06Z' , format_datetime (user .last_login ))
63+ self .assertEqual (1 , len ( list ( single_group . users )) )
64+ user = list ( single_group .users ) .pop ()
65+ self .assertEqual ('dd2239f6-ddf1-4107-981a-4cf94e415794' , user .id )
66+ self .assertEqual ('alice' , user .name )
67+ self .assertEqual ('Publisher' , user .site_role )
68+ self .assertEqual ('2016-08-16T23:17:06Z' , format_datetime (user .last_login ))
6669
6770 def test_delete (self ):
6871 with requests_mock .mock () as m :
@@ -71,35 +74,46 @@ def test_delete(self):
7174
7275 def test_remove_user (self ):
7376 with open (POPULATE_USERS , 'rb' ) as f :
74- response_xml = f .read ().decode ('utf-8' )
77+ response_xml_populate = f .read ().decode ('utf-8' )
78+
79+ with open (POPULATE_USERS_EMPTY , 'rb' ) as f :
80+ response_xml_empty = f .read ().decode ('utf-8' )
81+
7582 with requests_mock .mock () as m :
7683 url = self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' \
7784 '/dd2239f6-ddf1-4107-981a-4cf94e415794'
85+
7886 m .delete (url , status_code = 204 )
79- m .get (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' , text = response_xml )
87+ # We register the get endpoint twice. The first time we have 1 user, the second we have 'removed' them.
88+ m .get (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' , text = response_xml_populate )
89+
8090 single_group = TSC .GroupItem ('test' )
8191 single_group ._id = 'e7833b48-c6f7-47b5-a2a7-36e7dd232758'
8292 self .server .groups .populate_users (single_group )
83- self .assertEqual (1 , len (single_group .users ))
93+ self .assertEqual (1 , len (list ( single_group .users ) ))
8494 self .server .groups .remove_user (single_group , 'dd2239f6-ddf1-4107-981a-4cf94e415794' )
8595
86- self .assertEqual (0 , len (single_group .users ))
96+ m .get (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' , text = response_xml_empty )
97+ self .assertEqual (0 , len (list (single_group .users )))
8798
8899 def test_add_user (self ):
89100 with open (ADD_USER , 'rb' ) as f :
90- response_xml = f .read ().decode ('utf-8' )
101+ response_xml_add = f .read ().decode ('utf-8' )
102+ with open (ADD_USER_POPULATE , 'rb' ) as f :
103+ response_xml_populate = f .read ().decode ('utf-8' )
91104 with requests_mock .mock () as m :
92- m .post (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' , text = response_xml )
105+ m .post (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' , text = response_xml_add )
106+ m .get (self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' , text = response_xml_populate )
93107 single_group = TSC .GroupItem ('test' )
94108 single_group ._id = 'e7833b48-c6f7-47b5-a2a7-36e7dd232758'
95- single_group ._users = []
96- self .server .groups .add_user (single_group , '5de011f8-5aa9-4d5b-b991-f462c8dd6bb7' )
97109
98- self .assertEqual (1 , len (single_group .users ))
99- user = single_group .users .pop ()
100- self .assertEqual ('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7' , user .id )
101- self .assertEqual ('testuser' , user .name )
102- self .assertEqual ('ServerAdministrator' , user .site_role )
110+ self .server .groups .add_user (single_group , '5de011f8-5aa9-4d5b-b991-f462c8dd6bb7' )
111+ self .server .groups .populate_users (single_group )
112+ self .assertEqual (1 , len (list (single_group .users )))
113+ user = list (single_group .users ).pop ()
114+ self .assertEqual ('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7' , user .id )
115+ self .assertEqual ('testuser' , user .name )
116+ self .assertEqual ('ServerAdministrator' , user .site_role )
103117
104118 def test_add_user_before_populating (self ):
105119 with open (GET_XML , 'rb' ) as f :
0 commit comments