@@ -214,3 +214,166 @@ end
214214 deleteexperiment (mlf, experiment_id)
215215 end
216216end
217+
218+ @testset verbose = true " create experiment permission" begin
219+ @ensuremlf
220+
221+ experiment_id = createexperiment (mlf, UUIDs. uuid4 () |> string)
222+ permission = Permission (" READ" )
223+
224+ @testset " with string experiment id" begin
225+ user = createuser (mlf, " missy" , " gala" )
226+ experiment_permission =
227+ createexperimentpermission (mlf, experiment_id, user. username, permission)
228+
229+ @test experiment_permission isa ExperimentPermission
230+ @test experiment_permission. experiment_id == experiment_id
231+ @test experiment_permission. user_id == user. id
232+ @test experiment_permission. permission == permission
233+ deleteexperimentpermission (mlf, experiment_id, user. username)
234+ deleteuser (mlf, user. username)
235+ end
236+
237+ @testset " with integer experiment id" begin
238+ user = createuser (mlf, " missy" , " gala" )
239+ experiment_permission =
240+ createexperimentpermission (mlf, parse (Int, experiment_id), user. username, permission)
241+
242+ @test experiment_permission isa ExperimentPermission
243+ @test experiment_permission. experiment_id == experiment_id
244+ @test experiment_permission. user_id == user. id
245+ @test experiment_permission. permission == permission
246+ deleteexperimentpermission (mlf, experiment_id, user. username)
247+ deleteuser (mlf, user. username)
248+ end
249+
250+ @testset " with Experiment" begin
251+ experiment = getexperiment (mlf, experiment_id)
252+ user = createuser (mlf, " missy" , " gala" )
253+ experiment_permission =
254+ createexperimentpermission (mlf, experiment, user. username, permission)
255+
256+ @test experiment_permission isa ExperimentPermission
257+ @test experiment_permission. experiment_id == experiment_id
258+ @test experiment_permission. user_id == user. id
259+ @test experiment_permission. permission == permission
260+ deleteexperimentpermission (mlf, experiment_id, user. username)
261+ deleteuser (mlf, user. username)
262+ end
263+
264+ deleteexperiment (mlf, experiment_id)
265+ end
266+
267+ @testset verbose = true " get experiment permission" begin
268+ @ensuremlf
269+
270+ experiment_id = createexperiment (mlf, UUIDs. uuid4 () |> string)
271+ permission = Permission (" READ" )
272+ user = createuser (mlf, " missy" , " gala" )
273+
274+ @testset " with string experiment id" begin
275+ createexperimentpermission (mlf, experiment_id, user. username, permission)
276+ experiment_permission = getexperimentpermission (mlf, experiment_id, user. username)
277+
278+ @test experiment_permission isa ExperimentPermission
279+ @test experiment_permission. experiment_id == experiment_id
280+ @test experiment_permission. user_id == user. id
281+ @test experiment_permission. permission == permission
282+ deleteexperimentpermission (mlf, experiment_id, user. username)
283+ end
284+
285+ @testset " with integer experiment id" begin
286+ createexperimentpermission (mlf, parse (Int, experiment_id), user. username, permission)
287+ experiment_permission = getexperimentpermission (mlf, parse (Int, experiment_id), user. username)
288+
289+ @test experiment_permission isa ExperimentPermission
290+ @test experiment_permission. experiment_id == experiment_id
291+ @test experiment_permission. user_id == user. id
292+ @test experiment_permission. permission == permission
293+ deleteexperimentpermission (mlf, experiment_id, user. username)
294+ end
295+
296+ @testset " with Experiment" begin
297+ experiment = getexperiment (mlf, experiment_id)
298+ createexperimentpermission (mlf, experiment, user. username, permission)
299+ experiment_permission = getexperimentpermission (mlf, experiment, user. username)
300+
301+ @test experiment_permission isa ExperimentPermission
302+ @test experiment_permission. experiment_id == experiment_id
303+ @test experiment_permission. user_id == user. id
304+ @test experiment_permission. permission == permission
305+ deleteexperimentpermission (mlf, experiment_id, user. username)
306+ end
307+
308+ deleteuser (mlf, user. username)
309+ deleteexperiment (mlf, experiment_id)
310+ end
311+
312+ @testset verbose = true " update experiment permission" begin
313+ @ensuremlf
314+
315+ experiment_id = createexperiment (mlf, UUIDs. uuid4 () |> string)
316+ permission = Permission (" READ" )
317+ user = createuser (mlf, " missy" , " gala" )
318+
319+ @testset " with string experiment id" begin
320+ createexperimentpermission (mlf, experiment_id, user. username, permission)
321+ updateexperimentpermission (mlf, experiment_id, user. username, Permission (" EDIT" ))
322+ experiment_permission = getexperimentpermission (mlf, experiment_id, user. username)
323+
324+ @test experiment_permission. permission == Permission (" EDIT" )
325+ deleteexperimentpermission (mlf, experiment_id, user. username)
326+ end
327+
328+ @testset " with integer experiment id" begin
329+ createexperimentpermission (mlf, parse (Int, experiment_id), user. username, permission)
330+ updateexperimentpermission (mlf, parse (Int, experiment_id), user. username, Permission (" EDIT" ))
331+ experiment_permission = getexperimentpermission (mlf, parse (Int, experiment_id), user. username)
332+
333+ @test experiment_permission. permission == Permission (" EDIT" )
334+ deleteexperimentpermission (mlf, experiment_id, user. username)
335+ end
336+
337+ @testset " with Experiment" begin
338+ experiment = getexperiment (mlf, experiment_id)
339+ createexperimentpermission (mlf, experiment, user. username, permission)
340+ updateexperimentpermission (mlf, experiment, user. username, Permission (" EDIT" ))
341+ experiment_permission = getexperimentpermission (mlf, experiment, user. username)
342+
343+ @test experiment_permission. permission == Permission (" EDIT" )
344+ deleteexperimentpermission (mlf, experiment_id, user. username)
345+ end
346+
347+ deleteuser (mlf, user. username)
348+ deleteexperiment (mlf, experiment_id)
349+ end
350+
351+ @testset verbose = true " delete experiment permission" begin
352+ @ensuremlf
353+
354+ experiment_id = createexperiment (mlf, UUIDs. uuid4 () |> string)
355+ permission = Permission (" READ" )
356+ user = createuser (mlf, " missy" , " gala" )
357+
358+ @testset " with string experiment id" begin
359+ createexperimentpermission (mlf, experiment_id, user. username, permission)
360+ deleteexperimentpermission (mlf, experiment_id, user. username)
361+ @test_throws ErrorException getexperimentpermission (mlf, experiment_id, user. username)
362+ end
363+
364+ @testset " with integer experiment id" begin
365+ createexperimentpermission (mlf, parse (Int, experiment_id), user. username, permission)
366+ deleteexperimentpermission (mlf, parse (Int, experiment_id), user. username)
367+ @test_throws ErrorException getexperimentpermission (mlf, parse (Int, experiment_id), user. username)
368+ end
369+
370+ @testset " with Experiment" begin
371+ experiment = getexperiment (mlf, experiment_id)
372+ createexperimentpermission (mlf, experiment, user. username, permission)
373+ deleteexperimentpermission (mlf, experiment, user. username)
374+ @test_throws ErrorException getexperimentpermission (mlf, experiment, user. username)
375+ end
376+
377+ deleteuser (mlf, user. username)
378+ deleteexperiment (mlf, experiment_id)
379+ end
0 commit comments