@@ -20,6 +20,16 @@ diamond_data := {
2020 " proposals" : [],
2121 " sessions" : [],
2222 },
23+ " desmond" : {
24+ " permissions" : [],
25+ " proposals" : [2 ],
26+ " sessions" : [13 ],
27+ },
28+ " edna" : {
29+ " permissions" : [],
30+ " proposals" : [2 ],
31+ " sessions" : [13 , 14 ],
32+ },
2333 " oscar" : {
2434 " permissions" : [],
2535 " proposals" : [],
@@ -37,12 +47,28 @@ diamond_data := {
3747 " proposal_number" : 1 ,
3848 " visit_number" : 2 ,
3949 },
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+ },
60+ },
61+ " proposals" : {
62+ " 1" : {" sessions" : {
63+ " 1" : 11 ,
64+ " 2" : 12 ,
65+ }},
66+ " 2" : {" sessions" : {
67+ " 1" : 13 ,
68+ " 2" : 14 ,
69+ }},
4070 },
41- " proposals" : {" 1" : {" sessions" : {
42- " 1" : 11 ,
43- " 2" : 12 ,
44- }}},
45- " beamlines" : {" i03" : {" sessions" : [11 ]}, " b07" : {" sessions" : [12 ]}},
71+ " beamlines" : {" i03" : {" sessions" : [11 ]}, " b07" : {" sessions" : [12 , 13 , 14 ]}},
4672 " admin" : {" b07_admin" : [" b07" ]},
4773}
4874
@@ -181,3 +207,37 @@ test_session_beamline if {
181207 with data.diamond.data as diamond_data
182208 bl2 == " b07"
183209}
210+
211+ test_user_session_tags if {
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" }
243+ }
0 commit comments