Fix leaked mocks in the 'guestagent/test_api' module

Make all test suites in the module extend
'trove_testtools.TestCase' to enable dangling mock detector.

There was also a need to add a mocked entry to
upgrade/test_models.py. Previous implementation was
working because of leaked mock from guestagent/test_api.py

Needed an update to guestagent/test_vertica_api.py which was
earlier passing because of leaked mock from guestagent/test_api.py.

Change-Id: If8d654c3a6d2f47d2a4ffa70bab72201dd053226
Partial-Bug: 1448273
This commit is contained in:
Sushil Kumar 2015-05-14 14:40:35 +00:00
parent 7a68ec634b
commit ab2cea10b6
3 changed files with 12 additions and 7 deletions

View File

@ -15,7 +15,6 @@ from eventlet import Timeout
import mock
from oslo_messaging.rpc.client import RemoteError
import oslo_messaging as messaging
import testtools
from testtools.matchers import Is
import trove.common.context as context
@ -23,6 +22,7 @@ from trove.common import exception
from trove.common.remote import guest_client
from trove.guestagent import api
from trove import rpc
from trove.tests.unittests import trove_testtools
REPLICATION_SNAPSHOT = {'master': {'id': '123', 'host': '192.168.0.1',
'port': 3306},
@ -48,11 +48,11 @@ def _mock_call(cmd, timeout, version=None, username=None, hostname=None,
raise BaseException("Test Failed")
class ApiTest(testtools.TestCase):
def setUp(self):
class ApiTest(trove_testtools.TestCase):
@mock.patch.object(rpc, 'get_client')
def setUp(self, *args):
super(ApiTest, self).setUp()
self.context = context.TroveContext()
rpc.get_client = mock.Mock()
self.guest = api.API(self.context, 0)
self.guest._cast = _mock_call_pwd_change
self.guest._call = _mock_call
@ -456,7 +456,7 @@ class ApiTest(testtools.TestCase):
self.call_context.cast = mock.Mock()
class ApiStrategyTest(testtools.TestCase):
class ApiStrategyTest(trove_testtools.TestCase):
@mock.patch('trove.guestagent.api.API.__init__',
mock.Mock(return_value=None))

View File

@ -20,6 +20,7 @@ from trove.common import exception
from trove.common.rpc.version import RPC_API_VERSION
from trove.common.strategies.cluster.experimental.vertica.guestagent import (
VerticaGuestAgentAPI)
from trove import rpc
from trove.tests.unittests import trove_testtools
@ -35,7 +36,8 @@ def _mock_call(cmd, timeout, version=None, user=None,
class ApiTest(trove_testtools.TestCase):
def setUp(self):
@mock.patch.object(rpc, 'get_client')
def setUp(self, *args):
super(ApiTest, self).setUp()
self.context = context.TroveContext()
self.guest = VerticaGuestAgentAPI(self.context, 0)

View File

@ -15,6 +15,7 @@
#
from mock import Mock, patch
from trove.extensions.mgmt.upgrade.models import UpgradeMessageSender
from trove import rpc
from trove.tests.unittests import trove_testtools
@ -64,7 +65,9 @@ class TestUpgradeModel(trove_testtools.TestCase):
"config_location": "http://swift/trove-guestagent.conf"})
@patch('trove.guestagent.api.API.upgrade')
def _assert_create_with_metadata(self, api_upgrade_mock, metadata=None):
@patch.object(rpc, 'get_client')
def _assert_create_with_metadata(self, mock_client, api_upgrade_mock,
metadata=None):
"""Excercise UpgradeMessageSender.create() call.
"""
context = Mock()