~hopem/charms/precise/keystone/stable-fix-legacy-import-error

« back to all changes in this revision

Viewing changes to unit_tests/test_keystone_utils.py

  • Committer: Edward Hope-Morley
  • Date: 2014-12-17 17:54:26 UTC
  • mfrom: (89.1.21 keystone.notifications)
  • Revision ID: edward.hope-morley@canonical.com-20141217175426-li6c8kzkjrcyrwd6
[hopem,r=wolsen,jamespage]
 
Adds keystone identity-notifications interface
  
This allows related units to receive broadcasts when
resources e.g. endpoints, change.

Closes-Bug: 1401861

Show diffs side-by-side

added added

removed removed

Lines of Context:
291
291
            region='RegionOne', service='nova',
292
292
            publicurl=publicurl, adminurl=adminurl,
293
293
            internalurl=internalurl)
 
294
 
 
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)
 
309
 
 
310
        mock_is_elected_leader.return_value = True
 
311
        utils.send_notifications({})
 
312
        self.assertFalse(mock_relation_set.called)
 
313
 
 
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)