本文整理汇总了Python中celery.backends.mongodb.MongoBackend._restore_group方法的典型用法代码示例。如果您正苦于以下问题:Python MongoBackend._restore_group方法的具体用法?Python MongoBackend._restore_group怎么用?Python MongoBackend._restore_group使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类celery.backends.mongodb.MongoBackend
的用法示例。
在下文中一共展示了MongoBackend._restore_group方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
class test_MongoBackend(AppCase):
def setup(self):
if pymongo is None:
raise SkipTest('pymongo is not installed.')
R = self._reset = {}
R['encode'], MongoBackend.encode = MongoBackend.encode, Mock()
R['decode'], MongoBackend.decode = MongoBackend.decode, Mock()
R['Binary'], module.Binary = module.Binary, Mock()
R['datetime'], datetime.datetime = datetime.datetime, Mock()
self.backend = MongoBackend(app=self.app)
def teardown(self):
MongoBackend.encode = self._reset['encode']
MongoBackend.decode = self._reset['decode']
module.Binary = self._reset['Binary']
datetime.datetime = self._reset['datetime']
def test_Bunch(self):
x = Bunch(foo='foo', bar=2)
self.assertEqual(x.foo, 'foo')
self.assertEqual(x.bar, 2)
def test_init_no_mongodb(self):
prev, module.pymongo = module.pymongo, None
try:
with self.assertRaises(ImproperlyConfigured):
MongoBackend(app=self.app)
finally:
module.pymongo = prev
def test_init_no_settings(self):
self.app.conf.CELERY_MONGODB_BACKEND_SETTINGS = []
with self.assertRaises(ImproperlyConfigured):
MongoBackend(app=self.app)
def test_init_settings_is_None(self):
self.app.conf.CELERY_MONGODB_BACKEND_SETTINGS = None
MongoBackend(app=self.app)
def test_restore_group_no_entry(self):
x = MongoBackend(app=self.app)
x.collection = Mock()
fo = x.collection.find_one = Mock()
fo.return_value = None
self.assertIsNone(x._restore_group('1f3fab'))
@depends_on_current_app
def test_reduce(self):
x = MongoBackend(app=self.app)
self.assertTrue(loads(dumps(x)))
def test_get_connection_connection_exists(self):
with patch('pymongo.MongoClient') as mock_Connection:
self.backend._connection = sentinel._connection
connection = self.backend._get_connection()
self.assertEqual(sentinel._connection, connection)
self.assertFalse(mock_Connection.called)
def test_get_connection_no_connection_host(self):
with patch('pymongo.MongoClient') as mock_Connection:
self.backend._connection = None
self.backend.host = MONGODB_HOST
self.backend.port = MONGODB_PORT
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(
host='mongodb://localhost:27017', ssl=False, max_pool_size=10,
auto_start_request=False)
self.assertEqual(sentinel.connection, connection)
def test_get_connection_no_connection_mongodb_uri(self):
with patch('pymongo.MongoClient') as mock_Connection:
mongodb_uri = 'mongodb://%s:%d' % (MONGODB_HOST, MONGODB_PORT)
self.backend._connection = None
self.backend.host = mongodb_uri
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(
host=mongodb_uri, ssl=False, max_pool_size=10,
auto_start_request=False)
self.assertEqual(sentinel.connection, connection)
@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.user = MONGODB_USER
self.backend.password = MONGODB_PASSWORD
mock_database = Mock()
#.........这里部分代码省略.........
示例2: test_restore_group_no_entry
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
def test_restore_group_no_entry(self):
x = MongoBackend(app=self.app)
x.collection = Mock()
fo = x.collection.find_one = Mock()
fo.return_value = None
self.assertIsNone(x._restore_group('1f3fab'))
示例3: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
class test_MongoBackend(AppCase):
def setup(self):
if pymongo is None:
raise SkipTest("pymongo is not installed.")
R = self._reset = {}
R["encode"], MongoBackend.encode = MongoBackend.encode, Mock()
R["decode"], MongoBackend.decode = MongoBackend.decode, Mock()
R["Binary"], module.Binary = module.Binary, Mock()
R["datetime"], datetime.datetime = datetime.datetime, Mock()
self.backend = MongoBackend(app=self.app)
def teardown(self):
MongoBackend.encode = self._reset["encode"]
MongoBackend.decode = self._reset["decode"]
module.Binary = self._reset["Binary"]
datetime.datetime = self._reset["datetime"]
def test_Bunch(self):
x = Bunch(foo="foo", bar=2)
self.assertEqual(x.foo, "foo")
self.assertEqual(x.bar, 2)
def test_init_no_mongodb(self):
prev, module.pymongo = module.pymongo, None
try:
with self.assertRaises(ImproperlyConfigured):
MongoBackend(app=self.app)
finally:
module.pymongo = prev
def test_init_no_settings(self):
self.app.conf.CELERY_MONGODB_BACKEND_SETTINGS = []
with self.assertRaises(ImproperlyConfigured):
MongoBackend(app=self.app)
def test_init_settings_is_None(self):
self.app.conf.CELERY_MONGODB_BACKEND_SETTINGS = None
MongoBackend(app=self.app)
def test_restore_group_no_entry(self):
x = MongoBackend(app=self.app)
x.collection = Mock()
fo = x.collection.find_one = Mock()
fo.return_value = None
self.assertIsNone(x._restore_group("1f3fab"))
@depends_on_current_app
def test_reduce(self):
x = MongoBackend(app=self.app)
self.assertTrue(loads(dumps(x)))
def test_get_connection_connection_exists(self):
with patch("pymongo.MongoClient") as mock_Connection:
self.backend._connection = sentinel._connection
connection = self.backend._get_connection()
self.assertEqual(sentinel._connection, connection)
self.assertFalse(mock_Connection.called)
def test_get_connection_no_connection_host(self):
with patch("pymongo.MongoClient") as mock_Connection:
self.backend._connection = None
self.backend.host = MONGODB_HOST
self.backend.port = MONGODB_PORT
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(
host="mongodb://localhost:27017", **self.backend._prepare_client_options()
)
self.assertEqual(sentinel.connection, connection)
def test_get_connection_no_connection_mongodb_uri(self):
with patch("pymongo.MongoClient") as mock_Connection:
mongodb_uri = "mongodb://%s:%d" % (MONGODB_HOST, MONGODB_PORT)
self.backend._connection = None
self.backend.host = mongodb_uri
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(host=mongodb_uri, **self.backend._prepare_client_options())
self.assertEqual(sentinel.connection, connection)
@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.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
#.........这里部分代码省略.........
示例4: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
#.........这里部分代码省略.........
mock_collection = Mock()
mock_collection.find_one.return_value = None
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._get_task_meta_for(sentinel.task_id)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
self.assertEqual({'status': states.PENDING, 'result': None}, ret_val)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_save_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
res = [self.app.AsyncResult(i) for i in range(3)]
ret_val = self.backend._save_group(
sentinel.taskset_id, res,
)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(
MONGODB_GROUP_COLLECTION,
)
mock_collection.save.assert_called_once_with(ANY)
self.assertEqual(res, ret_val)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_restore_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_collection.find_one.return_value = {
'_id': sentinel.taskset_id,
'result': [uuid(), uuid()],
'date_done': 1,
}
self.backend.decode.side_effect = lambda r: r
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._restore_group(sentinel.taskset_id)
mock_get_database.assert_called_once_with()
mock_collection.find_one.assert_called_once_with(
{'_id': sentinel.taskset_id})
self.assertItemsEqual(
['date_done', 'result', 'task_id'],
list(ret_val.keys()),
)
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__'])
示例5: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
class test_MongoBackend(AppCase):
default_url = 'mongodb://uuuu:[email protected]/database'
replica_set_url = (
'mongodb://uuuu:[email protected],'
'hostname.dom/database?replicaSet=rs'
)
sanitized_default_url = 'mongodb://uuuu:**@hostname.dom/database'
sanitized_replica_set_url = (
'mongodb://uuuu:**@hostname.dom/,'
'hostname.dom/database?replicaSet=rs'
)
def setup(self):
if pymongo is None:
raise SkipTest('pymongo is not installed.')
R = self._reset = {}
R['encode'], MongoBackend.encode = MongoBackend.encode, Mock()
R['decode'], MongoBackend.decode = MongoBackend.decode, Mock()
R['Binary'], module.Binary = module.Binary, Mock()
R['datetime'], datetime.datetime = datetime.datetime, Mock()
self.backend = MongoBackend(app=self.app, url=self.default_url)
def teardown(self):
MongoBackend.encode = self._reset['encode']
MongoBackend.decode = self._reset['decode']
module.Binary = self._reset['Binary']
datetime.datetime = self._reset['datetime']
def test_init_no_mongodb(self):
prev, module.pymongo = module.pymongo, None
try:
with self.assertRaises(ImproperlyConfigured):
MongoBackend(app=self.app)
finally:
module.pymongo = prev
def test_init_no_settings(self):
self.app.conf.CELERY_MONGODB_BACKEND_SETTINGS = []
with self.assertRaises(ImproperlyConfigured):
MongoBackend(app=self.app)
def test_init_settings_is_None(self):
self.app.conf.CELERY_MONGODB_BACKEND_SETTINGS = None
MongoBackend(app=self.app)
def test_restore_group_no_entry(self):
x = MongoBackend(app=self.app)
x.collection = Mock()
fo = x.collection.find_one = Mock()
fo.return_value = None
self.assertIsNone(x._restore_group('1f3fab'))
@depends_on_current_app
def test_reduce(self):
x = MongoBackend(app=self.app)
self.assertTrue(loads(dumps(x)))
def test_get_connection_connection_exists(self):
with patch('pymongo.MongoClient') as mock_Connection:
self.backend._connection = sentinel._connection
connection = self.backend._get_connection()
self.assertEqual(sentinel._connection, connection)
self.assertFalse(mock_Connection.called)
def test_get_connection_no_connection_host(self):
with patch('pymongo.MongoClient') as mock_Connection:
self.backend._connection = None
self.backend.host = MONGODB_HOST
self.backend.port = MONGODB_PORT
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(
host='mongodb://localhost:27017',
**self.backend._prepare_client_options()
)
self.assertEqual(sentinel.connection, connection)
def test_get_connection_no_connection_mongodb_uri(self):
with patch('pymongo.MongoClient') as mock_Connection:
mongodb_uri = 'mongodb://%s:%d' % (MONGODB_HOST, MONGODB_PORT)
self.backend._connection = None
self.backend.host = mongodb_uri
mock_Connection.return_value = sentinel.connection
connection = self.backend._get_connection()
mock_Connection.assert_called_once_with(
host=mongodb_uri, **self.backend._prepare_client_options()
)
self.assertEqual(sentinel.connection, connection)
#.........这里部分代码省略.........
示例6: setup
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
#.........这里部分代码省略.........
mock_collection = Mock()
mock_collection.find_one.return_value = None
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._get_task_meta_for(sentinel.task_id)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
assert {'status': states.PENDING, 'result': None} == ret_val
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_save_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
res = [self.app.AsyncResult(i) for i in range(3)]
ret_val = self.backend._save_group(
sentinel.taskset_id, res,
)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(
MONGODB_GROUP_COLLECTION,
)
mock_collection.save.assert_called_once_with(ANY)
assert res == ret_val
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_restore_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_collection.find_one.return_value = {
'_id': sentinel.taskset_id,
'result': [uuid(), uuid()],
'date_done': 1,
}
self.backend.decode.side_effect = lambda r: r
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._restore_group(sentinel.taskset_id)
mock_get_database.assert_called_once_with()
mock_collection.find_one.assert_called_once_with(
{'_id': sentinel.taskset_id})
assert (sorted(['date_done', 'result', 'task_id']) ==
sorted(list(ret_val.keys())))
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()
示例7: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
class test_MongoBackend(AppCase):
def setUp(self):
if pymongo is None:
raise SkipTest("pymongo is not installed.")
R = self._reset = {}
R["encode"], MongoBackend.encode = MongoBackend.encode, Mock()
R["decode"], MongoBackend.decode = MongoBackend.decode, Mock()
R["Binary"], module.Binary = module.Binary, Mock()
R["datetime"], datetime.datetime = datetime.datetime, Mock()
self.backend = MongoBackend()
def tearDown(self):
MongoBackend.encode = self._reset["encode"]
MongoBackend.decode = self._reset["decode"]
module.Binary = self._reset["Binary"]
datetime.datetime = self._reset["datetime"]
def test_Bunch(self):
x = Bunch(foo="foo", bar=2)
self.assertEqual(x.foo, "foo")
self.assertEqual(x.bar, 2)
def test_init_no_mongodb(self):
prev, module.pymongo = module.pymongo, None
try:
with self.assertRaises(ImproperlyConfigured):
MongoBackend()
finally:
module.pymongo = prev
def test_init_no_settings(self):
celery = Celery(set_as_current=False)
celery.conf.CELERY_MONGODB_BACKEND_SETTINGS = []
with self.assertRaises(ImproperlyConfigured):
MongoBackend(app=celery)
def test_init_settings_is_None(self):
celery = Celery(set_as_current=False)
celery.conf.CELERY_MONGODB_BACKEND_SETTINGS = None
MongoBackend(app=celery)
def test_restore_group_no_entry(self):
x = MongoBackend()
x.collection = Mock()
fo = x.collection.find_one = Mock()
fo.return_value = None
self.assertIsNone(x._restore_group("1f3fab"))
def test_reduce(self):
x = MongoBackend()
self.assertTrue(loads(dumps(x)))
def test_get_connection_connection_exists(self):
with patch("pymongo.connection.Connection") as mock_Connection:
self.backend._connection = sentinel._connection
connection = self.backend._get_connection()
self.assertEquals(sentinel._connection, connection)
self.assertFalse(mock_Connection.called)
def test_get_connection_no_connection_host(self):
with patch("pymongo.connection.Connection") as 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)
def test_get_connection_no_connection_mongodb_uri(self):
with patch("pymongo.connection.Connection") as 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)
@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
#.........这里部分代码省略.........
示例8: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
#.........这里部分代码省略.........
def test_get_task_meta_for_no_result(self, mock_get_database):
self.backend.taskmeta_collection = MONGODB_COLLECTION
mock_database = MagicMock(spec=["__getitem__", "__setitem__"])
mock_collection = Mock()
mock_collection.find_one.return_value = None
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._get_task_meta_for(sentinel.task_id)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
self.assertEqual({"status": states.PENDING, "result": None}, ret_val)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_save_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=["__getitem__", "__setitem__"])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
res = [self.app.AsyncResult(i) for i in range(3)]
ret_val = self.backend._save_group(sentinel.taskset_id, res)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_GROUP_COLLECTION)
mock_collection.save.assert_called_once_with(ANY)
self.assertEqual(res, ret_val)
@patch("celery.backends.mongodb.MongoBackend._get_database")
def test_restore_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=["__getitem__", "__setitem__"])
mock_collection = Mock()
mock_collection.find_one.return_value = {"_id": sentinel.taskset_id, "result": [uuid(), uuid()], "date_done": 1}
self.backend.decode.side_effect = lambda r: r
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._restore_group(sentinel.taskset_id)
mock_get_database.assert_called_once_with()
mock_collection.find_one.assert_called_once_with({"_id": sentinel.taskset_id})
self.assertItemsEqual(["date_done", "result", "task_id"], list(ret_val.keys()))
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()
示例9: test_MongoBackend
# 需要导入模块: from celery.backends.mongodb import MongoBackend [as 别名]
# 或者: from celery.backends.mongodb.MongoBackend import _restore_group [as 别名]
#.........这里部分代码省略.........
mock_collection = Mock()
mock_collection.find_one.return_value = None
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._get_task_meta_for(sentinel.task_id)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
self.assertEqual({'status': states.PENDING, 'result': None}, ret_val)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_save_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
res = [self.app.AsyncResult(i) for i in range(3)]
ret_val = self.backend._save_group(
sentinel.taskset_id, res,
)
mock_get_database.assert_called_once_with()
mock_database.__getitem__.assert_called_once_with(
MONGODB_GROUP_COLLECTION,
)
mock_collection.save.assert_called_once_with(ANY)
self.assertEqual(res, ret_val)
@patch('celery.backends.mongodb.MongoBackend._get_database')
def test_restore_group(self, mock_get_database):
self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION
mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
mock_collection = Mock()
mock_collection.find_one.return_value = {
'_id': sentinel.taskset_id,
'result': [uuid(), uuid()],
'date_done': 1,
}
self.backend.decode.side_effect = lambda r: r
mock_get_database.return_value = mock_database
mock_database.__getitem__.return_value = mock_collection
ret_val = self.backend._restore_group(sentinel.taskset_id)
mock_get_database.assert_called_once_with()
mock_collection.find_one.assert_called_once_with(
{'_id': sentinel.taskset_id})
self.assertEqual(
list(sorted(['date_done', 'result', 'task_id'])),
list(sorted(ret_val.keys())),
)
@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