11package diamond.policy.session_test
22
33import data.diamond.policy.session
4- import data.diamond.policy.token
54import rego.v1
65
76diamond_data := {
@@ -21,6 +20,16 @@ diamond_data := {
2120 " proposals" : [],
2221 " sessions" : [],
2322 },
23+ " desmond" : {
24+ " permissions" : [],
25+ " proposals" : [2 ],
26+ " sessions" : [13 ],
27+ },
28+ " edna" : {
29+ " permissions" : [],
30+ " proposals" : [2 ],
31+ " sessions" : [13 , 14 ],
32+ },
2433 " oscar" : {
2534 " permissions" : [],
2635 " proposals" : [],
@@ -38,12 +47,28 @@ diamond_data := {
3847 " proposal_number" : 1 ,
3948 " visit_number" : 2 ,
4049 },
50+ " 13" : {
51+ " beamline" : " b07" ,
52+ " proposal_number" : 2 ,
53+ " visit_number" : 1 ,
54+ },
55+ " 14" : {
56+ " beamline" : " b07" ,
57+ " proposal_number" : 2 ,
58+ " visit_number" : 2 ,
59+ },
4160 },
42- " proposals" : {" 1" : {" sessions" : {
43- " 1" : 11 ,
44- " 2" : 12 ,
45- }}},
46- " beamlines" : {" i03" : {" sessions" : [11 ]}, " b07" : {" sessions" : [12 ]}},
61+ " proposals" : {
62+ " 1" : {" sessions" : {
63+ " 1" : 11 ,
64+ " 2" : 12 ,
65+ }},
66+ " 2" : {" sessions" : {
67+ " 1" : 13 ,
68+ " 2" : 14 ,
69+ }},
70+ },
71+ " beamlines" : {" i03" : {" sessions" : [11 ]}, " b07" : {" sessions" : [12 , 13 , 14 ]}},
4772 " admin" : {" b07_admin" : [" b07" ]},
4873}
4974
@@ -184,8 +209,35 @@ test_session_beamline if {
184209}
185210
186211test_user_session_tags if {
187- session.user_sessions == set () with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {" fedid" : " oscar" }
188- session.user_sessions == {{" proposal_number" : 1 , " visit_number" : 2 , " beamline" : " b07" }, {" proposal_number" : 1 , " visit_number" : 1 , " beamline" : " i03" }} with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {" fedid" : " alice" }
189- session.user_sessions == {{" proposal_number" : 1 , " visit_number" : 2 , " beamline" : " b07" }, {" proposal_number" : 1 , " visit_number" : 1 , " beamline" : " i03" }} with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {" fedid" : " bob" }
190- session.user_sessions == {{" proposal_number" : 1 , " visit_number" : 2 , " beamline" : " b07" }, {" proposal_number" : 1 , " visit_number" : 1 , " beamline" : " i03" }} with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {" fedid" : " carol" }
212+ session.user_sessions == set () with data.diamond.data as diamond_data
213+ with data.diamond.policy.token.claims as {" fedid" : " oscar" }
214+ session.user_sessions == {
215+ ` {"proposal": 1, "visit": 2, "beamline": "b07"}` ,
216+ ` {"proposal": 1, "visit": 1, "beamline": "i03"}` ,
217+ } with data.diamond.data as diamond_data
218+ with data.diamond.policy.token.claims as {" fedid" : " alice" }
219+ session.user_sessions == {
220+ ` {"proposal": 1, "visit": 2, "beamline": "b07"}` ,
221+ ` {"proposal": 1, "visit": 1, "beamline": "i03"}` ,
222+ ` {"proposal": 2, "visit": 1, "beamline": "b07"}` ,
223+ ` {"proposal": 2, "visit": 2, "beamline": "b07"}` ,
224+ } with data.diamond.data as diamond_data
225+ with data.diamond.policy.token.claims as {" fedid" : " bob" }
226+ session.user_sessions == {
227+ ` {"proposal": 1, "visit": 2, "beamline": "b07"}` ,
228+ ` {"proposal": 1, "visit": 1, "beamline": "i03"}` ,
229+ ` {"proposal": 2, "visit": 1, "beamline": "b07"}` ,
230+ ` {"proposal": 2, "visit": 2, "beamline": "b07"}` ,
231+ } with data.diamond.data as diamond_data
232+ with data.diamond.policy.token.claims as {" fedid" : " carol" }
233+ session.user_sessions == {
234+ ` {"proposal": 2, "visit": 1, "beamline": "b07"}` ,
235+ ` {"proposal": 2, "visit": 2, "beamline": "b07"}` ,
236+ } with data.diamond.data as diamond_data
237+ with data.diamond.policy.token.claims as {" fedid" : " desmond" }
238+ session.user_sessions == {
239+ ` {"proposal": 2, "visit": 1, "beamline": "b07"}` ,
240+ ` {"proposal": 2, "visit": 2, "beamline": "b07"}` ,
241+ } with data.diamond.data as diamond_data
242+ with data.diamond.policy.token.claims as {" fedid" : " edna" }
191243}
0 commit comments