def test_adding_and_removing_notifier_module(self):
        self.config(notification_driver='openstack.common.'
                                        'notifier.list_notifier',
                    list_notifier_drivers=[])

        list_notifier.add_driver('openstack.common.notifier.no_op_notifier')
        api.notify(None, 'publisher_id', 'event_type',
                   api.WARN, dict(a=3))
        self.assertEqual(self.notify_count, 1)

        list_notifier.remove_driver('openstack.common.notifier.no_op_notifier')

        api.notify(None, 'publisher_id', 'event_type',
                   api.WARN, dict(a=3))
        self.assertEqual(self.notify_count, 1)
    def test_adding_and_removing_notifier_object(self):
        self.notifier_object = SimpleNotifier()
        self.config(notification_driver='openstack.common.'
                                        'notifier.list_notifier',
                    list_notifier_drivers=[
                        'openstack.common.notifier.no_op_notifier'])

        list_notifier.add_driver(self.notifier_object)
        api.notify(None, 'publisher_id', 'event_type',
                   api.WARN, dict(a=3))
        self.assertEqual(self.notify_count, 1)
        self.assertTrue(self.notifier_object.notified)

        self.notifier_object.notified = False
        list_notifier.remove_driver(self.notifier_object)

        api.notify(None, 'publisher_id', 'event_type',
                   api.WARN, dict(a=3))
        self.assertEqual(self.notify_count, 2)
        self.assertFalse(self.notifier_object.notified)