@@ -194,67 +194,117 @@ def test_get_dashboards_tags(self, m):
194194 self .assertEqual (len (tags ), 2 )
195195 self .assertEqual (tags [0 ]["term" ], "tag1" )
196196
197- @requests_mock .Mocker ()
198- def test_get_dashboard_permissions (self , m ):
199- m .get (
197+ def mocker_provision_permissions (self , mock ):
198+ response_data = [
199+ {
200+ "id" : 1 ,
201+ "dashboardId" : 1 ,
202+ "created" : "2017-06-20T02:00:00+02:00" ,
203+ "updated" : "2017-06-20T02:00:00+02:00" ,
204+ "userId" : 0 ,
205+ "userLogin" : "" ,
206+ "userEmail" : "" ,
207+ "teamId" : 0 ,
208+ "team" : "" ,
209+ "role" : "Viewer" ,
210+ "permission" : 1 ,
211+ "permissionName" : "View" ,
212+ "uid" : "foobar" ,
213+ "title" : "" ,
214+ "slug" : "" ,
215+ "isFolder" : "false" ,
216+ "url" : "" ,
217+ },
218+ {
219+ "id" : 2 ,
220+ "dashboardId" : 1 ,
221+ "created" : "2017-06-20T02:00:00+02:00" ,
222+ "updated" : "2017-06-20T02:00:00+02:00" ,
223+ "userId" : 0 ,
224+ "userLogin" : "" ,
225+ "userEmail" : "" ,
226+ "teamId" : 0 ,
227+ "team" : "" ,
228+ "role" : "Editor" ,
229+ "permission" : 2 ,
230+ "permissionName" : "Edit" ,
231+ "uid" : "bazqux" ,
232+ "title" : "" ,
233+ "slug" : "" ,
234+ "isFolder" : "false" ,
235+ "url" : "" ,
236+ },
237+ ]
238+ mock .get (
200239 "http://localhost/api/dashboards/id/1/permissions" ,
201- json = [
202- {
203- "id" : 1 ,
204- "dashboardId" : 1 ,
205- "created" : "2017-06-20T02:00:00+02:00" ,
206- "updated" : "2017-06-20T02:00:00+02:00" ,
207- "userId" : 0 ,
208- "userLogin" : "" ,
209- "userEmail" : "" ,
210- "teamId" : 0 ,
211- "team" : "" ,
212- "role" : "Viewer" ,
213- "permission" : 1 ,
214- "permissionName" : "View" ,
215- "uid" : "" ,
216- "title" : "" ,
217- "slug" : "" ,
218- "isFolder" : "false" ,
219- "url" : "" ,
220- },
221- {
222- "id" : 2 ,
223- "dashboardId" : 1 ,
224- "created" : "2017-06-20T02:00:00+02:00" ,
225- "updated" : "2017-06-20T02:00:00+02:00" ,
226- "userId" : 0 ,
227- "userLogin" : "" ,
228- "userEmail" : "" ,
229- "teamId" : 0 ,
230- "team" : "" ,
231- "role" : "Editor" ,
232- "permission" : 2 ,
233- "permissionName" : "Edit" ,
234- "uid" : "" ,
235- "title" : "" ,
236- "slug" : "" ,
237- "isFolder" : "false" ,
238- "url" : "" ,
239- },
240- ],
240+ json = response_data ,
241+ )
242+ mock .get (
243+ "http://localhost/api/dashboards/uid/foobar/permissions" ,
244+ json = response_data ,
245+ )
246+ mock .post (
247+ "http://localhost/api/dashboards/id/1/permissions" ,
248+ json = {"message" : "Dashboard permissions updated" },
249+ )
250+ mock .post (
251+ "http://localhost/api/dashboards/uid/foobar/permissions" ,
252+ json = {"message" : "Dashboard permissions updated" },
241253 )
254+
255+ @requests_mock .Mocker ()
256+ def test_get_dashboard_permissions (self , m ):
257+ self .mocker_provision_permissions (m )
242258 permissions = self .grafana .dashboard .get_dashboard_permissions (1 )
243259 self .assertEqual (len (permissions ), 2 )
244260 self .assertEqual (permissions [0 ]["dashboardId" ], 1 )
245261
262+ @requests_mock .Mocker ()
263+ def test_get_dashboard_permissions_by_id (self , m ):
264+ self .mocker_provision_permissions (m )
265+ permissions = self .grafana .dashboard .get_permissions_by_id (1 )
266+ self .assertEqual (len (permissions ), 2 )
267+ self .assertEqual (permissions [0 ]["dashboardId" ], 1 )
268+
269+ @requests_mock .Mocker ()
270+ def test_get_dashboard_permissions_by_uid (self , m ):
271+ self .mocker_provision_permissions (m )
272+ permissions = self .grafana .dashboard .get_permissions_by_uid ("foobar" )
273+ self .assertEqual (len (permissions ), 2 )
274+ self .assertEqual (permissions [0 ]["uid" ], "foobar" )
275+
276+ permission_data = {
277+ "items" : [
278+ {"role" : "Viewer" , "permission" : 1 },
279+ {"role" : "Editor" , "permission" : 2 },
280+ {"teamId" : 1 , "permission" : 1 },
281+ {"userId" : 11 , "permission" : 4 },
282+ ]
283+ }
284+
246285 @requests_mock .Mocker ()
247286 def test_update_dashboard_permissions (self , m ):
248- m . post ( "http://localhost/api/dashboards/id/1/permissions" , json = { "message" : "Dashboard permissions updated" } )
287+ self . mocker_provision_permissions ( m )
249288 permissions = self .grafana .dashboard .update_dashboard_permissions (
250289 1 ,
251- {
252- "items" : [
253- {"role" : "Viewer" , "permission" : 1 },
254- {"role" : "Editor" , "permission" : 2 },
255- {"teamId" : 1 , "permission" : 1 },
256- {"userId" : 11 , "permission" : 4 },
257- ]
258- },
290+ self .permission_data ,
291+ )
292+ self .assertEqual (permissions ["message" ], "Dashboard permissions updated" )
293+
294+ @requests_mock .Mocker ()
295+ def test_update_dashboard_permissions_by_id (self , m ):
296+ self .mocker_provision_permissions (m )
297+ permissions = self .grafana .dashboard .update_permissions_by_id (
298+ 1 ,
299+ self .permission_data ,
300+ )
301+ self .assertEqual (permissions ["message" ], "Dashboard permissions updated" )
302+
303+ @requests_mock .Mocker ()
304+ def test_update_dashboard_permissions_by_uid (self , m ):
305+ self .mocker_provision_permissions (m )
306+ permissions = self .grafana .dashboard .update_permissions_by_uid (
307+ "foobar" ,
308+ self .permission_data ,
259309 )
260310 self .assertEqual (permissions ["message" ], "Dashboard permissions updated" )
0 commit comments