291
291
region='RegionOne', service='nova',
292
292
publicurl=publicurl, adminurl=adminurl,
293
293
internalurl=internalurl)
295
@patch.object(utils, 'uuid')
296
@patch.object(utils, 'relation_set')
297
@patch.object(utils, 'relation_get')
298
@patch.object(utils, 'relation_ids')
299
@patch.object(utils, 'is_elected_leader')
300
def test_send_notifications(self, mock_is_elected_leader,
301
mock_relation_ids, mock_relation_get,
302
mock_relation_set, mock_uuid):
303
relation_id = 'testrel:0'
304
mock_uuid.uuid4.return_value = '1234'
305
mock_relation_ids.return_value = [relation_id]
306
mock_is_elected_leader.return_value = False
307
utils.send_notifications({'foo-endpoint-changed': 1})
308
self.assertFalse(mock_relation_set.called)
310
mock_is_elected_leader.return_value = True
311
utils.send_notifications({})
312
self.assertFalse(mock_relation_set.called)
314
settings = {'foo-endpoint-changed': 1}
315
utils.send_notifications(settings)
316
self.assertTrue(mock_relation_set.called)
317
mock_relation_set.assert_called_once_with(relation_id=relation_id,
318
relation_settings=settings)
319
mock_relation_set.reset_mock()
320
settings = {'foo-endpoint-changed': 1}
321
utils.send_notifications(settings, force=True)
322
self.assertTrue(mock_relation_set.called)
323
settings['trigger'] = '1234'
324
mock_relation_set.assert_called_once_with(relation_id=relation_id,
325
relation_settings=settings)