فهرست منبع

100% coverage for celery.beat

Ask Solem 12 سال پیش
والد
کامیت
f23de6b914
1فایلهای تغییر یافته به همراه17 افزوده شده و 0 حذف شده
  1. 17 0
      celery/tests/app/test_beat.py

+ 17 - 0
celery/tests/app/test_beat.py

@@ -5,6 +5,7 @@ import errno
 from datetime import datetime, timedelta
 from datetime import datetime, timedelta
 from mock import Mock, call, patch
 from mock import Mock, call, patch
 from nose import SkipTest
 from nose import SkipTest
+from pickle import dumps, loads
 
 
 from celery import current_app
 from celery import current_app
 from celery import beat
 from celery import beat
@@ -362,6 +363,18 @@ class test_PersistentScheduler(Case):
         s._store = {'__version__': 1}
         s._store = {'__version__': 1}
         s.setup_schedule()
         s.setup_schedule()
 
 
+        s._store.clear = Mock()
+        op = s.persistence.open = Mock()
+        op.return_value = s._store
+        s._store['tz'] = 'FUNKY'
+        s.setup_schedule()
+        op.assert_called_with(s.schedule_filename, writeback=True)
+        s._store.clear.assert_called_with()
+        s._store['utc_enabled'] = False
+        s._store.clear = Mock()
+        s.setup_schedule()
+        s._store.clear.assert_called_with()
+
     def test_get_schedule(self):
     def test_get_schedule(self):
         s = create_persistent_scheduler()[0](schedule_filename='schedule')
         s = create_persistent_scheduler()[0](schedule_filename='schedule')
         s._store = {'entries': {}}
         s._store = {'entries': {}}
@@ -376,6 +389,10 @@ class test_Service(Case):
         Scheduler, mock_shelve = create_persistent_scheduler()
         Scheduler, mock_shelve = create_persistent_scheduler()
         return beat.Service(scheduler_cls=Scheduler), mock_shelve
         return beat.Service(scheduler_cls=Scheduler), mock_shelve
 
 
+    def test_pickleable(self):
+        s = beat.Service(scheduler_cls=Mock)
+        self.assertTrue(loads(dumps(s)))
+
     def test_start(self):
     def test_start(self):
         s, sh = self.get_service()
         s, sh = self.get_service()
         schedule = s.scheduler.schedule
         schedule = s.scheduler.schedule