本文整理汇总了Python中celery.backends.mongodb.MongoBackend.cleanup方法的典型用法代码示例。如果您正苦于以下问题:Python MongoBackend.cleanup方法的具体用法?Python MongoBackend.cleanup怎么用?Python MongoBackend.cleanup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类celery.backends.mongodb.MongoBackend
的用法示例。
在下文中一共展示了MongoBackend.cleanup方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
# Should really check for combinations of these two, to be complete.
self.backend.user = MONGODB_USER
self.backend.password = MONGODB_PASSWORD
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertTrue(self.backend.__dict__['database'] is mock_database)
mock_database.authenticate.assert_called_once_with(
MONGODB_USER, MONGODB_PASSWORD)
@patch('celery.backends.mongodb.MongoBackend._get_connection')
def test_get_database_no_existing_no_auth(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.user = None
self.backend.password = None
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertFalse(mock_database.authenticate.called)
self.assertTrue(self.backend.__dict__['database'] is mock_database)
def test_process_cleanup(self):
self.backend._connection = None
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
self.backend._connection = 'not none'
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_store_result(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._store_result(
sentinel.task_id, sentinel.result, sentinel.status)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
mock_collection.save.assert_called_once()
self.assertEqual(sentinel.result, ret_val)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_get_task_meta_for(self, mock_get_database):
datetime.datetime = self._reset['datetime']
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
示例2: TestBackendMongoDb
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
class TestBackendMongoDb(Case):
def setUp(self):
if pymongo is None:
raise SkipTest("pymongo is not installed.")
from pymongo import binary
R = self._reset = {}
R["encode"], MongoBackend.encode = MongoBackend.encode, Mock()
R["decode"], MongoBackend.decode = MongoBackend.decode, Mock()
R["Binary"], binary.Binary = binary.Binary, Mock()
R["datetime"], datetime.datetime = datetime.datetime, Mock()
self.backend = MongoBackend()
def tearDown(self):
from pymongo import binary
MongoBackend.encode = self._reset["encode"]
MongoBackend.decode = self._reset["decode"]
binary.Binary = self._reset["Binary"]
datetime.datetime = self._reset["datetime"]
def test_get_connection_connection_exists(self):
@patch("pymongo.connection.Connection")
def do_test(mock_Connection):
self.backend._connection = sentinel._connection
connection = self.backend._get_connection()
self.assertEquals(sentinel._connection, connection)
self.assertFalse(mock_Connection.called)
do_test()
def test_get_connection_no_connection_host(self):
@patch("pymongo.connection.Connection")
def do_test(mock_Connection):
self.backend._connection = None
self.backend.mongodb_host = MONGODB_HOST
self.backend.mongodb_port = MONGODB_PORT
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(
MONGODB_HOST, MONGODB_PORT)
self.assertEquals(sentinel.connection, connection)
do_test()
def test_get_connection_no_connection_mongodb_uri(self):
@patch("pymongo.connection.Connection")
def do_test(mock_Connection):
mongodb_uri = "mongodb://%s:%d" % (MONGODB_HOST, MONGODB_PORT)
self.backend._connection = None
self.backend.mongodb_host = mongodb_uri
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(mongodb_uri)
self.assertEquals(sentinel.connection, connection)
do_test()
@patch("celery.backends.mongodb.MongoBackend._get_connection")
def test_get_database_no_existing(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.mongodb_user = MONGODB_USER
self.backend.mongodb_password = MONGODB_PASSWORD
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
mock_database.authenticate.assert_called_once_with(
MONGODB_USER, MONGODB_PASSWORD)
@patch("celery.backends.mongodb.MongoBackend._get_connection")
def test_get_database_no_existing_no_auth(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.mongodb_user = None
self.backend.mongodb_password = None
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertFalse(mock_database.authenticate.called)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
def test_process_cleanup(self):
#.........这里部分代码省略.........
示例3: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
def test_get_database_no_existing(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.user = MONGODB_USER
self.backend.password = MONGODB_PASSWORD
mock_database = Mock()
mock_connection = MagicMock(spec=["__getitem__"])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
mock_database.authenticate.assert_called_once_with(MONGODB_USER, MONGODB_PASSWORD)
@patch("celery.backends.mongodb.MongoBackend._get_connection")
def test_get_database_no_existing_no_auth(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.user = None
self.backend.password = None
mock_database = Mock()
mock_connection = MagicMock(spec=["__getitem__"])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertFalse(mock_database.authenticate.called)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
def test_process_cleanup(self):
self.backend._connection = None
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
self.backend._connection = "not none"
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_store_result(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=["__getitem__", "__setitem__"])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._store_result(sentinel.task_id, sentinel.result, sentinel.status)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
mock_collection.save.assert_called_once_with(ANY)
self.assertEqual(sentinel.result, ret_val)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_get_task_meta_for(self, mock_get_database):
datetime.datetime = self._reset["datetime"]
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=["__getitem__", "__setitem__"])
mock_collection = Mock()
示例4: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
mock_collection.find_one.return_value = None
self.backend._restore_group(sentinel.taskset_id)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_delete_group(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
self.backend._delete_group(sentinel.taskset_id)
mock_get_database.assert_called_once_with()
mock_collection.remove.assert_called_once_with(
{'_id': sentinel.taskset_id})
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_forget(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
self.backend._forget(sentinel.task_id)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(
MONGODB_COLLECTION)
mock_collection.remove.assert_called_once_with(
{'_id': sentinel.task_id})
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_cleanup(self, mock_get_database):
datetime.datetime = self._reset['datetime']
self.backend.taskmeta_collection = MONGODB_COLLECTION
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = Mock(spec=['__getitem__', '__setitem__'],
name='MD')
self.backend.collections = mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__ = Mock(name='MD.__getitem__')
mock_database.__getitem__.return_value = mock_collection
self.backend.app.now = datetime.datetime.utcnow
self.backend.cleanup()
mock_get_database.assert_called_once_with()
self.assertTrue(mock_collection.remove.called)
def test_get_database_authfailure(self):
x = MongoBackend(app=self.app)
x._get_connection = Mock()
conn = x._get_connection.return_value = {}
db = conn[x.database_name] = Mock()
db.authenticate.return_value = False
x.user = 'jerry'
x.password = 'cere4l'
with self.assertRaises(ImproperlyConfigured):
x._get_database()
db.authenticate.assert_called_with('jerry', 'cere4l')
def test_prepare_client_options(self):
with patch('pymongo.version_tuple', new=(3, 0, 3)):
options = self.backend._prepare_client_options()
self.assertDictEqual(options, {
'maxPoolSize': self.backend.max_pool_size
})
def test_as_uri_include_password(self):
self.assertEqual(self.backend.as_uri(True), self.default_url)
def test_as_uri_exclude_password(self):
self.assertEqual(self.backend.as_uri(), self.sanitized_default_url)
def test_as_uri_include_password_replica_set(self):
backend = MongoBackend(app=self.app, url=self.replica_set_url)
self.assertEqual(backend.as_uri(True), self.replica_set_url)
def test_as_uri_exclude_password_replica_set(self):
backend = MongoBackend(app=self.app, url=self.replica_set_url)
self.assertEqual(backend.as_uri(), self.sanitized_replica_set_url)
@override_stdouts
def test_regression_worker_startup_info(self):
self.app.conf.result_backend = (
'mongodb://user:[email protected]:43437,host1.com:43437'
'/work4us?replicaSet=rs&ssl=true'
)
worker = self.app.Worker()
worker.on_start()
self.assertTrue(worker.startup_info())
示例5: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
# Should really check for combinations of these two, to be complete.
self.backend.user = MONGODB_USER
self.backend.password = MONGODB_PASSWORD
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertTrue(self.backend.__dict__['database'] is mock_database)
mock_database.authenticate.assert_called_once_with(
MONGODB_USER, MONGODB_PASSWORD)
@patch('celery.backends.mongodb.MongoBackend._get_connection')
def test_get_database_no_existing_no_auth(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.user = None
self.backend.password = None
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertFalse(mock_database.authenticate.called)
self.assertTrue(self.backend.__dict__['database'] is mock_database)
def test_process_cleanup(self):
self.backend._connection = None
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
self.backend._connection = 'not none'
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_store_result(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._store_result(
sentinel.task_id, sentinel.result, sentinel.status)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
mock_collection.save.assert_called_once_with(ANY)
self.assertEqual(sentinel.result, ret_val)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_get_task_meta_for(self, mock_get_database):
datetime.datetime = self._reset['datetime']
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
示例6: setup
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
mock_collection.find_one.return_value = None
self.backend._restore_group(sentinel.taskset_id)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_delete_group(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
self.backend._delete_group(sentinel.taskset_id)
mock_get_database.assert_called_once_with()
mock_collection.remove.assert_called_once_with(
{'_id': sentinel.taskset_id})
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test__forget(self, mock_get_database):
# note: here tested _forget method, not forget method
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
self.backend._forget(sentinel.task_id)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(
MONGODB_COLLECTION)
mock_collection.remove.assert_called_once_with(
{'_id': sentinel.task_id})
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_cleanup(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = Mock(spec=['__getitem__', '__setitem__'],
name='MD')
self.backend.collections = mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__ = Mock(name='MD.__getitem__')
mock_database.__getitem__.return_value = mock_collection
self.backend.app.now = datetime.datetime.utcnow
self.backend.cleanup()
mock_get_database.assert_called_once_with()
mock_collection.remove.assert_called()
def test_get_database_authfailure(self):
x = MongoBackend(app=self.app)
x._get_connection = Mock()
conn = x._get_connection.return_value = {}
db = conn[x.database_name] = Mock()
db.authenticate.return_value = False
x.user = 'jerry'
x.password = 'cere4l'
with pytest.raises(ImproperlyConfigured):
x._get_database()
db.authenticate.assert_called_with('jerry', 'cere4l')
def test_prepare_client_options(self):
with patch('pymongo.version_tuple', new=(3, 0, 3)):
options = self.backend._prepare_client_options()
assert options == {
'maxPoolSize': self.backend.max_pool_size
}
def test_as_uri_include_password(self):
assert self.backend.as_uri(True) == self.default_url
def test_as_uri_exclude_password(self):
assert self.backend.as_uri() == self.sanitized_default_url
def test_as_uri_include_password_replica_set(self):
backend = MongoBackend(app=self.app, url=self.replica_set_url)
assert backend.as_uri(True) == self.replica_set_url
def test_as_uri_exclude_password_replica_set(self):
backend = MongoBackend(app=self.app, url=self.replica_set_url)
assert backend.as_uri() == self.sanitized_replica_set_url
def test_regression_worker_startup_info(self):
self.app.conf.result_backend = (
'mongodb://user:[email protected]:43437,host1.com:43437'
'/work4us?replicaSet=rs&ssl=true'
)
worker = self.app.Worker()
with mock.stdouts():
worker.on_start()
assert worker.startup_info()
示例7: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
# Should really check for combinations of these two, to be complete.
self.backend.mongodb_user = MONGODB_USER
self.backend.mongodb_password = MONGODB_PASSWORD
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
mock_database.authenticate.assert_called_once_with(
MONGODB_USER, MONGODB_PASSWORD)
@patch("celery.backends.mongodb.MongoBackend._get_connection")
def test_get_database_no_existing_no_auth(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.mongodb_user = None
self.backend.mongodb_password = None
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertFalse(mock_database.authenticate.called)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
def test_process_cleanup(self):
self.backend._connection = None
self.backend.process_cleanup()
self.assertEquals(self.backend._connection, None)
self.backend._connection = "not none"
self.backend.process_cleanup()
self.assertEquals(self.backend._connection, None)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_store_result(self, mock_get_database):
self.backend.mongodb_taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._store_result(
sentinel.task_id, sentinel.result, sentinel.status)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
mock_collection.save.assert_called_once()
self.assertEquals(sentinel.result, ret_val)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_get_task_meta_for(self, mock_get_database):
datetime.datetime = self._reset["datetime"]
self.backend.mongodb_taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
示例8: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
def test_get_database_no_existing(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.user = MONGODB_USER
self.backend.password = MONGODB_PASSWORD
mock_database = Mock()
mock_connection = MagicMock(spec=["__getitem__"])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
mock_database.authenticate.assert_called_once_with(MONGODB_USER, MONGODB_PASSWORD)
@patch("celery.backends.mongodb.MongoBackend._get_connection")
def test_get_database_no_existing_no_auth(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.user = None
self.backend.password = None
mock_database = Mock()
mock_connection = MagicMock(spec=["__getitem__"])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertFalse(mock_database.authenticate.called)
self.assertTrue(self.backend.__dict__["database"] is mock_database)
def test_process_cleanup(self):
self.backend._connection = None
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
self.backend._connection = "not none"
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_store_result(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=["__getitem__", "__setitem__"])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._store_result(sentinel.task_id, sentinel.result, sentinel.status)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
mock_collection.save.assert_called_once_with(ANY)
self.assertEqual(sentinel.result, ret_val)
mock_collection.save.side_effect = InvalidDocument()
with self.assertRaises(EncodeError):
self.backend._store_result(sentinel.task_id, sentinel.result, sentinel.status)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_get_task_meta_for(self, mock_get_database):
datetime.datetime = self._reset["datetime"]
示例9: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import cleanup [as 别名]
#.........这里部分代码省略.........
# Should really check for combinations of these two, to be complete.
self.backend.user = MONGODB_USER
self.backend.password = MONGODB_PASSWORD
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertTrue(self.backend.__dict__['database'] is mock_database)
mock_database.authenticate.assert_called_once_with(
MONGODB_USER, MONGODB_PASSWORD)
@patch('celery.backends.mongodb.MongoBackend._get_connection')
def test_get_database_no_existing_no_auth(self, mock_get_connection):
# Should really check for combinations of these two, to be complete.
self.backend.user = None
self.backend.password = None
mock_database = Mock()
mock_connection = MagicMock(spec=['__getitem__'])
mock_connection.__getitem__.return_value = mock_database
mock_get_connection.return_value = mock_connection
database = self.backend.database
self.assertTrue(database is mock_database)
self.assertFalse(mock_database.authenticate.called)
self.assertTrue(self.backend.__dict__['database'] is mock_database)
def test_process_cleanup(self):
self.backend._connection = None
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
self.backend._connection = 'not none'
self.backend.process_cleanup()
self.assertEqual(self.backend._connection, None)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_store_result(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._store_result(
sentinel.task_id, sentinel.result, sentinel.status)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
mock_collection.save.assert_called_once_with(ANY)
self.assertEqual(sentinel.result, ret_val)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_get_task_meta_for(self, mock_get_database):
datetime.datetime = self._reset['datetime']
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])