瀏覽代碼

100% coverage for celery.beat

Ask Solem 13 年之前
父節點
當前提交
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