2121"""test_reservation.py - integration test reservation functionalities.""" 
2222
2323import  pyslurm 
24+ from  pyslurm  import  ReservationFlags , ReservationReoccurrence 
2425from  datetime  import  datetime 
2526
2627
@@ -33,6 +34,7 @@ def test_api_calls():
3334        duration = duration ,
3435        users = ["root" ],
3536        node_count = 1 ,
37+         reoccurrence = "DAILY" 
3638    )
3739    resv .create ()
3840
@@ -55,6 +57,39 @@ def test_api_calls():
5557    assert  resv .duration  ==  2  *  60  *  24 
5658    assert  resv .end_time  ==  resv .start_time  +  (2  *  60  *  60  *  24 )
5759
60+     assert  resv .reoccurrence  ==  ReservationReoccurrence .DAILY 
61+     assert  resv .reoccurrence  ==  "DAILY" 
62+     # Can only remove this once the Reservation exists. Setting another 
63+     # reoccurrence doesn't work, probably a bug in slurmctld..., because it 
64+     # makes no sense why that shouldn't work. 
65+     resv .reoccurrence  =  ReservationReoccurrence .NO 
66+     resv .modify ()
67+ 
68+     resv  =  pyslurm .Reservation .load ("testing" )
69+     assert  resv .reoccurrence  ==  "NO" 
70+ 
71+     resv .flags  =  ReservationFlags .MAINTENANCE  |  ReservationFlags .FLEX 
72+     resv .modify ()
73+ 
74+     resv  =  pyslurm .Reservation .load ("testing" )
75+     assert  resv .flags  ==  ReservationFlags .MAINTENANCE  |  ReservationFlags .FLEX 
76+ 
77+     assert  ReservationFlags .PURGE  not  in resv .flags 
78+     resv .purge_time  =  "2-00:00:00" 
79+     resv .modify ()
80+ 
81+     resv  =  pyslurm .Reservation .load ("testing" )
82+     assert  ReservationFlags .PURGE  in  resv .flags 
83+     assert  resv .purge_time  ==  2  *  60  *  60  *  24 
84+ 
85+     resv .purge_time  =  "3-00:00:00" 
86+     resv .modify ()
87+ 
88+     resv  =  pyslurm .Reservation .load ("testing" )
89+     assert  ReservationFlags .PURGE  in  resv .flags 
90+     assert  resv .purge_time  ==  3  *  60  *  60  *  24 
91+ 
92+     assert  resv .to_dict ()
5893    resv .delete ()
5994    reservations  =  pyslurm .Reservations .load ()
6095    assert  len (reservations ) ==  0 
0 commit comments