Fixes the unsafe global mocks

It was found during some earlier reviews the following modules
had global mocks which needed to be fixed:

- trove/tests/unittests/backup/test_backup_models.py
- trove/tests/unittests/backup/test_backupagent.py
- trove/tests/unittests/instance/test_instance_models.py

Fixed these global unmocked and unsafe mocked entries.

While fixing these entries found that some tests were passing
because of these leaked mocks in following modules,
resolved those tests, too:
- trove/tests/unittests/taskmanager/test_api.py
- trove/tests/unittests/taskmanager/test_vertica_clusters.py

Change-Id: Ifcd11ea7e4dce25b927ec2e2eea0bae0251c2a8f
Closes-Bug: #1459205
Closes-Bug: #1459206
Closes-Bug: #1459207
This commit is contained in:
Sushil Kumar 2015-05-27 11:46:02 +00:00
parent ab2cea10b6
commit 53e7ea9d72
5 changed files with 18 additions and 7 deletions

View File

@ -46,8 +46,6 @@ BACKUP_DESC = 'Backup test'
BACKUP_FILENAME = '45a3d8cb-ade8-484c-a8a5-0c3c7286fb2f.xbstream.gz'
BACKUP_LOCATION = 'https://hpcs.com/tenant/database_backups/' + BACKUP_FILENAME
api.API.get_client = MagicMock()
class BackupCreateTest(trove_testtools.TestCase):
def setUp(self):
@ -62,6 +60,7 @@ class BackupCreateTest(trove_testtools.TestCase):
models.DBBackup.find_by(
tenant_id=self.context.tenant).delete()
@patch.object(api.API, 'get_client', MagicMock(return_value=MagicMock()))
def test_create(self):
instance = MagicMock()
with patch.object(instance_models.BuiltInstance, 'load',
@ -96,6 +95,7 @@ class BackupCreateTest(trove_testtools.TestCase):
self.assertEqual(instance.datastore_version.id,
db_record['datastore_version_id'])
@patch.object(api.API, 'get_client', MagicMock(return_value=MagicMock()))
def test_create_incremental(self):
instance = MagicMock()
parent = MagicMock(spec=models.DBBackup)

View File

@ -32,9 +32,6 @@ from trove.guestagent.strategies.backup.base import UnknownBackupType
from trove.guestagent.strategies.storage.base import Storage
from trove.tests.unittests import trove_testtools
conductor_api.API.get_client = Mock()
conductor_api.API.update_backup = Mock()
def create_fake_data():
from random import choice
@ -251,6 +248,9 @@ class BackupAgentTest(trove_testtools.TestCase):
self.assertIsNone(backup_runner.zip_cmd)
self.assertEqual('BackupRunner', backup_runner.backup_type)
@patch.object(conductor_api.API, 'get_client', Mock(return_value=Mock()))
@patch.object(conductor_api.API, 'update_backup',
Mock(return_value=Mock()))
def test_execute_backup(self):
"""This test should ensure backup agent
ensures that backup and storage is not running
@ -293,6 +293,9 @@ class BackupAgentTest(trove_testtools.TestCase):
backup_type=backup_info['type'],
state=BackupState.COMPLETED))
@patch.object(conductor_api.API, 'get_client', Mock(return_value=Mock()))
@patch.object(conductor_api.API, 'update_backup',
Mock(return_value=Mock()))
def test_execute_bad_process_backup(self):
agent = backupagent.BackupAgent()
backup_info = {'id': '123',
@ -330,6 +333,9 @@ class BackupAgentTest(trove_testtools.TestCase):
backup_type=backup_info['type'],
state=BackupState.FAILED))
@patch.object(conductor_api.API, 'get_client', Mock(return_value=Mock()))
@patch.object(conductor_api.API, 'update_backup',
Mock(return_value=Mock()))
def test_execute_lossy_backup(self):
"""This test verifies that incomplete writes to swift will fail."""
with patch.object(MockSwift, 'save',
@ -393,6 +399,7 @@ class BackupAgentTest(trove_testtools.TestCase):
context=None, backup_info=bkup_info,
restore_location='/var/lib/mysql')
@patch.object(conductor_api.API, 'get_client', Mock(return_value=Mock()))
@patch.object(MockSwift, 'load_metadata', return_value={'lsn': '54321'})
@patch.object(MockStorage, 'save_metadata')
@patch.object(backupagent, 'get_storage_strategy', return_value=MockSwift)
@ -426,6 +433,7 @@ class BackupAgentTest(trove_testtools.TestCase):
ANY,
meta))
@patch.object(conductor_api.API, 'get_client', Mock(return_value=Mock()))
def test_backup_incremental_bad_metadata(self):
with patch.object(backupagent, 'get_storage_strategy',
return_value=MockSwift):

View File

@ -11,7 +11,7 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from mock import Mock
from mock import Mock, patch
from trove.backup import models as backup_models
from trove.common import cfg
from trove.common import exception
@ -31,7 +31,6 @@ from trove.tests.unittests.util import util
import uuid
CONF = cfg.CONF
task_api.API.get_client = Mock()
class SimpleInstanceTest(trove_testtools.TestCase):
@ -104,6 +103,7 @@ class SimpleInstanceTest(trove_testtools.TestCase):
class CreateInstanceTest(trove_testtools.TestCase):
@patch.object(task_api.API, 'get_client', Mock(return_value=Mock()))
def setUp(self):
util.init_db()
self.context = Mock()
@ -173,6 +173,7 @@ class CreateInstanceTest(trove_testtools.TestCase):
return_value=True)
super(CreateInstanceTest, self).setUp()
@patch.object(task_api.API, 'get_client', Mock(return_value=Mock()))
def tearDown(self):
self.db_info.delete()
self.backup.delete()

View File

@ -28,6 +28,7 @@ from trove.tests.unittests import trove_testtools
class ApiTest(trove_testtools.TestCase):
@patch.object(task_api.API, 'get_client')
def setUp(self, *args):
super(ApiTest, self).setUp()
self.context = context.TroveContext()

View File

@ -173,6 +173,7 @@ class VerticaClusterTasksTest(trove_testtools.TestCase):
class VerticaTaskManagerAPITest(trove_testtools.TestCase):
@patch.object(rpc, 'get_client', Mock(return_value=Mock()))
def setUp(self):
super(VerticaTaskManagerAPITest, self).setUp()
self.context = context.TroveContext()