Add raise unit test for update and replace tuple in sqlalchemy

Change-Id: I6f244639954db856f713e08f7c3dfdb2618f4ecd
This commit is contained in:
gengchc2 2018-12-25 01:15:06 -08:00
parent 0e3a3d366b
commit 81198a782a
3 changed files with 47 additions and 3 deletions

View File

@ -197,12 +197,9 @@ def update_tuple(tablename, user_id, tuple_id, tuple_values, project_id=None):
query = query.filter_by(user_id=user_id).filter_by(id=tuple_id)
result = query.update(tuple_values)
except Exception as e:
session.close()
raise freezer_api_exc.StorageEngineError(
message='Mysql operation failed {0}'.format(e))
session.close()
if not result:
raise freezer_api_exc.DocumentNotFound(
message='Tuple not registered with ID'

View File

@ -146,3 +146,25 @@ class ApiTestCase(base.DbTestCase):
mock_tuple.save.side_effect = Exception('regular test failure')
self.assertRaises(freezer_api_exc.StorageEngineError,
api.add_tuple, mock_tuple)
@patch('oslo_db.sqlalchemy.utils.model_query')
def test_raises_update_tuple(self, mock_model_query):
mock_tuple_values = mock.MagicMock()
mock_model_query.side_effect = Exception('regular test failure')
self.assertRaises(freezer_api_exc.StorageEngineError,
api.update_tuple, models.Job, self.fake_user_id,
self.fake_job_id, mock_tuple_values)
def test_raises_update_tuple_notfound(self):
mock_tuple_values = mock.MagicMock()
self.assertRaises(freezer_api_exc.DocumentNotFound,
api.update_tuple, models.Job, self.fake_user_id,
self.fake_job_id, mock_tuple_values)
@patch('oslo_db.sqlalchemy.utils.model_query')
def test_raises_replace_tuple(self, mock_model_query):
mock_tuple_values = mock.MagicMock()
mock_model_query.side_effect = Exception('regular test failure')
self.assertRaises(freezer_api_exc.StorageEngineError,
api.replace_tuple, models.Job, self.fake_user_id,
self.fake_job_id, mock_tuple_values)

View File

@ -154,3 +154,28 @@ class ApiTestCase(base.DbTestCase):
mock_tuple.save.side_effect = Exception('regular test failure')
self.assertRaises(freezer_api_exc.StorageEngineError,
api.add_tuple, mock_tuple)
@patch('oslo_db.sqlalchemy.utils.model_query')
def test_raises_update_tuple(self, mock_model_query):
mock_tuple_values = mock.MagicMock()
mock_model_query.side_effect = Exception('regular test failure')
self.assertRaises(freezer_api_exc.StorageEngineError,
api.update_tuple, models.Job, self.fake_user_id,
self.fake_job_id, mock_tuple_values,
project_id=self.fake_project_id)
def test_raises_update_tuple_notfound(self):
mock_tuple_values = mock.MagicMock()
self.assertRaises(freezer_api_exc.DocumentNotFound,
api.update_tuple, models.Job, self.fake_user_id,
self.fake_job_id, mock_tuple_values,
project_id=self.fake_project_id)
@patch('oslo_db.sqlalchemy.utils.model_query')
def test_raises_replace_tuple(self, mock_model_query):
mock_tuple_values = mock.MagicMock()
mock_model_query.side_effect = Exception('regular test failure')
self.assertRaises(freezer_api_exc.StorageEngineError,
api.replace_tuple, models.Job, self.fake_user_id,
self.fake_job_id, mock_tuple_values,
project_id=self.fake_project_id)