def test_on_chord_part_return(self, restore): tb = CacheBackend(backend='memory://', app=self.app) deps = Mock() deps.__len__ = Mock() deps.__len__.return_value = 2 restore.return_value = deps task = Mock() task.name = 'foobarbaz' self.app.tasks['foobarbaz'] = task task.request.chord = signature(task) result = self.app.GroupResult( uuid(), [self.app.AsyncResult(uuid()) for _ in range(3)], ) task.request.group = result.id tb.apply_chord(result, None) deps.join_native.assert_not_called() tb.on_chord_part_return(task.request, 'SUCCESS', 10) deps.join_native.assert_not_called() tb.on_chord_part_return(task.request, 'SUCCESS', 10) deps.join_native.assert_called_with(propagate=True, timeout=3.0) deps.delete.assert_called_with()
def test_load(self): with patch('pkg_resources.iter_entry_points') as iterep: with patch('celery.utils.imports.symbol_by_name') as symbyname: ep = Mock() ep.name = 'ep' ep.module_name = 'foo' ep.attrs = ['bar', 'baz'] iterep.return_value = [ep] cls = symbyname.return_value = Mock() register = Mock() e = Extensions('unit', register) e.load() symbyname.assert_called_with('foo:bar') register.assert_called_with(cls, name='ep') with patch('celery.utils.imports.symbol_by_name') as symbyname: symbyname.side_effect = SyntaxError() with patch('warnings.warn') as warn: e.load() warn.assert_called() with patch('celery.utils.imports.symbol_by_name') as symbyname: symbyname.side_effect = KeyError('foo') with pytest.raises(KeyError): e.load()
def MockStep(step=None): if step is None: step = Mock(name='step') else: step.blueprint = Mock(name='step.blueprint') step.blueprint.name = 'MockNS' step.name = 'MockStep(%s)' % (id(step),) return step
def create_task(self): tid = uuid() task = Mock(name='task-{0}'.format(tid)) task.name = 'foobarbaz' self.app.tasks['foobarbaz'] = task task.request.chord = signature(task) task.request.id = tid task.request.chord['chord_size'] = 10 task.request.group = 'group_id' return task
def create_task(self): tid = uuid() task = Mock(name="task-{0}".format(tid)) task.name = "foobarbaz" self.app.tasks["foobarbaz"] = task task.request.chord = signature(task) task.request.id = tid task.request.chord["chord_size"] = 10 task.request.group = "group_id" return task
def test_connect_to_region(self): with patch('kombu.async.aws.sqs.regions') as regions: region = Mock(name='region') region.name = 'us-west-1' regions.return_value = [region] conn = connect_to_region('us-west-1', kw=3.33) assert conn is region.connect.return_value region.connect.assert_called_with(kw=3.33) assert connect_to_region('foo') is None
def test_prepare_requests(self): event = Mock(name='event') event.name = 'foo.bar' self.dispatcher.Request = Mock(name='Request') self.dispatcher.subscribers_for_event = Mock(name='subscribers') targets = self.dispatcher.subscribers_for_event.return_value = [ Mock(name='r1'), Mock(name='r2'), Mock(name='r3'), ] targets[0].content_type = 'A' targets[1].content_type = 'A' targets[2].content_type = 'B' codecB = Mock(name='codecB') self._app.settings.THORN_CODECS = {'B': codecB} list(self.dispatcher.prepare_requests( event.name, {'foo': 'bar'}, 501, 30.3, kw=1, )) self._app.Request.assert_has_calls([ call(event.name, {'foo': 'bar'}, 501, targets[0], timeout=30.3, kw=1), call(event.name, {'foo': 'bar'}, 501, targets[1], timeout=30.3, kw=1), call(event.name, codecB(), 501, targets[2], timeout=30.3, kw=1), ])