9
9
10
10
GET_XML = os .path .join (TEST_ASSET_DIR , 'group_get.xml' )
11
11
POPULATE_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' )
12
13
ADD_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' )
13
15
CREATE_GROUP = os .path .join (TEST_ASSET_DIR , 'group_create.xml' )
14
16
CREATE_GROUP_ASYNC = os .path .join (TEST_ASSET_DIR , 'group_create_async.xml' )
15
17
@@ -52,17 +54,18 @@ def test_populate_users(self):
52
54
with open (POPULATE_USERS , 'rb' ) as f :
53
55
response_xml = f .read ().decode ('utf-8' )
54
56
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 )
56
59
single_group = TSC .GroupItem (name = 'Test Group' )
57
60
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 )
59
62
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 ))
66
69
67
70
def test_delete (self ):
68
71
with requests_mock .mock () as m :
@@ -71,35 +74,46 @@ def test_delete(self):
71
74
72
75
def test_remove_user (self ):
73
76
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
+
75
82
with requests_mock .mock () as m :
76
83
url = self .baseurl + '/e7833b48-c6f7-47b5-a2a7-36e7dd232758/users' \
77
84
'/dd2239f6-ddf1-4107-981a-4cf94e415794'
85
+
78
86
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
+
80
90
single_group = TSC .GroupItem ('test' )
81
91
single_group ._id = 'e7833b48-c6f7-47b5-a2a7-36e7dd232758'
82
92
self .server .groups .populate_users (single_group )
83
- self .assertEqual (1 , len (single_group .users ))
93
+ self .assertEqual (1 , len (list ( single_group .users ) ))
84
94
self .server .groups .remove_user (single_group , 'dd2239f6-ddf1-4107-981a-4cf94e415794' )
85
95
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 )))
87
98
88
99
def test_add_user (self ):
89
100
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' )
91
104
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 )
93
107
single_group = TSC .GroupItem ('test' )
94
108
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' )
97
109
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 )
103
117
104
118
def test_add_user_before_populating (self ):
105
119
with open (GET_XML , 'rb' ) as f :
0 commit comments