@@ -100,6 +100,21 @@ def test_entry(self):
100
100
self .assertGreater (e3 .last_run_at , e2 .last_run_at )
101
101
self .assertEqual (e3 .total_run_count , 1 )
102
102
103
+ def test_from_entry (self ):
104
+ name = 'interval-vs-crontab'
105
+ entry = {'task' : 'djcelery.unittest.add{0}' .format (_next_id ()),
106
+ 'args' : '[2, 2]' ,
107
+ 'schedule' : timedelta (hours = 24 ),}
108
+ self .Entry .from_entry (name , ** entry )
109
+ schedule1 = PeriodicTask .objects .get (name = name ).schedule
110
+ self .assertIsInstance (schedule1 , schedule )
111
+
112
+ # update schedule
113
+ entry ['schedule' ] = crontab (minute = 0 , hour = '*/6' )
114
+ self .Entry .from_entry (name , ** entry )
115
+ schedule2 = PeriodicTask .objects .get (name = name ).schedule
116
+ self .assertIsInstance (schedule2 , crontab )
117
+
103
118
104
119
class test_DatabaseScheduler (unittest .TestCase ):
105
120
Scheduler = TrackingScheduler
@@ -145,8 +160,6 @@ def test_schedule_changed(self):
145
160
self .m1 .save ()
146
161
e1 = self .s .schedule [self .m1 .name ]
147
162
self .assertListEqual (e1 .args , [32 , 32 ])
148
- e1 = self .s .schedule [self .m1 .name ]
149
- self .assertListEqual (e1 .args , [32 , 32 ])
150
163
151
164
self .m3 .delete ()
152
165
self .assertRaises (KeyError , self .s .schedule .__getitem__ , self .m3 .name )
0 commit comments