@@ -144,16 +144,16 @@ def setUp(self):
144144 self .client .login (username = 'autotest-1' , password = 'password' ))
145145
146146 def test_create (self ):
147- # check that user 1 sees her lone app
147+ # check that user 1 sees her lone app and user 2's app
148148 response = self .client .get ('/api/apps' )
149149 self .assertEqual (response .status_code , 200 )
150- self .assertEqual (len (response .data ['results' ]), 1 )
150+ self .assertEqual (len (response .data ['results' ]), 2 )
151151 app_id = response .data ['results' ][0 ]['id' ]
152- # check that user 2 can't see any apps
152+ # check that user 2 can only see his app
153153 self .assertTrue (
154154 self .client .login (username = 'autotest-2' , password = 'password' ))
155155 response = self .client .get ('/api/apps' )
156- self .assertEqual (len (response .data ['results' ]), 0 )
156+ self .assertEqual (len (response .data ['results' ]), 1 )
157157 # check that user 2 can't see any of the app's builds, configs,
158158 # containers, limits, or releases
159159 for model in ['builds' , 'config' , 'containers' , 'limits' , 'releases' ]:
@@ -172,7 +172,7 @@ def test_create(self):
172172 self .client .login (username = 'autotest-2' , password = 'password' ))
173173 response = self .client .get ('/api/apps' )
174174 self .assertEqual (response .status_code , 200 )
175- self .assertEqual (len (response .data ['results' ]), 1 )
175+ self .assertEqual (len (response .data ['results' ]), 2 )
176176 # check that user 2 sees (empty) results now for builds, containers,
177177 # and releases. (config and limit will still give 404s since we didn't
178178 # push a build here.)
@@ -203,12 +203,12 @@ def test_delete(self):
203203 body = {'username' : 'autotest-2' }
204204 response = self .client .post (url , json .dumps (body ), content_type = 'application/json' )
205205 self .assertEqual (response .status_code , 201 )
206- # check that user 2 can see the app
206+ # check that user 2 can see the app as well as his own
207207 self .assertTrue (
208208 self .client .login (username = 'autotest-2' , password = 'password' ))
209209 response = self .client .get ('/api/apps' )
210210 self .assertEqual (response .status_code , 200 )
211- self .assertEqual (len (response .data ['results' ]), 1 )
211+ self .assertEqual (len (response .data ['results' ]), 2 )
212212 # try to delete the permission as user 2
213213 url = "/api/apps/{}/perms/{}" .format (app_id , 'autotest-2' )
214214 response = self .client .delete (url , content_type = 'application/json' )
@@ -220,22 +220,22 @@ def test_delete(self):
220220 response = self .client .delete (url , content_type = 'application/json' )
221221 self .assertEqual (response .status_code , 204 )
222222 self .assertIsNone (response .data )
223- # check that user 2 can't see any apps
223+ # check that user 2 can only see his app
224224 self .assertTrue (
225225 self .client .login (username = 'autotest-2' , password = 'password' ))
226226 response = self .client .get ('/api/apps' )
227- self .assertEqual (len (response .data ['results' ]), 0 )
227+ self .assertEqual (len (response .data ['results' ]), 1 )
228228 # delete permission to user 1's app again, expecting an error
229229 self .assertTrue (
230230 self .client .login (username = 'autotest-1' , password = 'password' ))
231231 response = self .client .delete (url , content_type = 'application/json' )
232232 self .assertEqual (response .status_code , 404 )
233233
234234 def test_list (self ):
235- # check that user 1 sees her lone app
235+ # check that user 1 sees her lone app and user 2's app
236236 response = self .client .get ('/api/apps' )
237237 self .assertEqual (response .status_code , 200 )
238- self .assertEqual (len (response .data ['results' ]), 1 )
238+ self .assertEqual (len (response .data ['results' ]), 2 )
239239 app_id = response .data ['results' ][0 ]['id' ]
240240 # create a new object permission
241241 url = "/api/apps/{}/perms" .format (app_id )
@@ -247,6 +247,12 @@ def test_list(self):
247247 "/api/apps/{}/perms" .format (app_id ), content_type = 'application/json' )
248248 self .assertEqual (response .data , {'users' : ['autotest-2' ]})
249249
250+ def test_admin_can_list (self ):
251+ """Check that an administrator can list an app's perms"""
252+ response = self .client .get ('/api/apps' )
253+ self .assertEqual (response .status_code , 200 )
254+ self .assertEqual (len (response .data ['results' ]), 2 )
255+
250256 def test_list_errors (self ):
251257 response = self .client .get ('/api/apps' )
252258 app_id = response .data ['results' ][0 ]['id' ]
0 commit comments