From eb4f5c4fa03f34918e70af52773e95cccf51a039 Mon Sep 17 00:00:00 2001
From: Dmitry Mescheryakov <dmescheryakov@mirantis.com>
Date: Fri, 28 Apr 2017 17:53:33 +0400
Subject: [PATCH] Fix notification tests not unmocking logging

Right now two tests mock logging module globally which leads to
another test failure (TestRoutingNotifier.test_notify_filtered)
on my env.

Change-Id: Ifa47ee96dae79ea44dbe17a2d125401589ff13dd
---
 oslo_messaging/tests/notify/test_notifier.py | 29 +++++++++++---------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/oslo_messaging/tests/notify/test_notifier.py b/oslo_messaging/tests/notify/test_notifier.py
index 7484311f9..b9d11516d 100755
--- a/oslo_messaging/tests/notify/test_notifier.py
+++ b/oslo_messaging/tests/notify/test_notifier.py
@@ -319,6 +319,8 @@ class TestLogNotifier(test_utils.BaseTestCase):
 
         mock_utcnow.return_value = datetime.datetime.utcnow()
 
+        logger = mock.Mock()
+
         message = {
             'message_id': str(message_id),
             'publisher_id': 'test.localhost',
@@ -328,15 +330,15 @@ class TestLogNotifier(test_utils.BaseTestCase):
             'timestamp': str(timeutils.utcnow()),
         }
 
-        logger = mock.Mock()
-        logging.getLogger = mock.Mock()
-        logging.getLogger.return_value = logger
+        with mock.patch.object(logging, 'getLogger') as gl:
+            gl.return_value = logger
 
-        notifier.info({}, 'test.notify', 'bar')
+            notifier.info({}, 'test.notify', 'bar')
+
+            uuid.uuid4.assert_called_once_with()
+            logging.getLogger.assert_called_once_with(
+                'oslo.messaging.notification.test.notify')
 
-        uuid.uuid4.assert_called_once_with()
-        logging.getLogger.assert_called_once_with('oslo.messaging.'
-                                                  'notification.test.notify')
         logger.info.assert_called_once_with(JsonMessageMatcher(message))
 
         self.assertTrue(notifier.is_enabled())
@@ -349,14 +351,15 @@ class TestLogNotifier(test_utils.BaseTestCase):
                                                   'notification.foo'))
         logger.sample = None
 
-        logging.getLogger = mock.Mock()
-        logging.getLogger.return_value = logger
-
         msg = {'event_type': 'foo'}
-        driver.notify(None, msg, "sample", None)
 
-        logging.getLogger.assert_called_once_with('oslo.messaging.'
-                                                  'notification.foo')
+        with mock.patch.object(logging, 'getLogger') as gl:
+            gl.return_value = logger
+
+            driver.notify(None, msg, "sample", None)
+
+            logging.getLogger.assert_called_once_with('oslo.messaging.'
+                                                      'notification.foo')
 
     def test_mask_passwords(self):
         # Ensure that passwords are masked with notifications