Merge "Skip tasks run when there is no subscriber"

This commit is contained in:
Jenkins 2015-08-05 02:49:19 +00:00 committed by Gerrit Code Review
commit 55f1e3dbd1
2 changed files with 13 additions and 3 deletions

View File

@ -63,8 +63,9 @@ class NotifierDriver(object):
for m in messages:
wh_flow.add(self._generate_task(s['subscriber'], m))
e = engines.load(wh_flow, executor=self.executor,
engine='parallel')
e.run()
if wh_flow:
e = engines.load(wh_flow, executor=self.executor,
engine='parallel')
e.run()
else:
LOG.error('Failed to get subscription controller.')

View File

@ -78,3 +78,12 @@ class NotifierTest(testing.TestBase):
subscriber = self.subscription[0]['subscriber']
new_task = self.driver._generate_task(subscriber, self.messages)
self.assertIsInstance(new_task, task.webhook.WebhookTask)
def test_post_no_subscriber(self):
ctlr = mock.MagicMock()
ctlr.list = mock.Mock(return_value=iter([[]]))
driver = notifier.NotifierDriver(subscription_controller=ctlr)
with mock.patch('requests.post') as mock_post:
driver.post('fake_queue', self.messages, self.client_id,
self.project)
self.assertEqual(0, mock_post.call_count)