Merge "Use correct message for missing default datastore"
This commit is contained in:
commit
f753f9b31c
@ -144,7 +144,13 @@ class DatastoreVersionInactive(TroveError):
|
||||
class DatastoreDefaultDatastoreNotFound(TroveError):
|
||||
|
||||
message = _("Please specify datastore. Default datastore "
|
||||
"cannot be found.")
|
||||
"'%(datastore)s' cannot be found.")
|
||||
|
||||
|
||||
class DatastoreDefaultDatastoreNotDefined(TroveError):
|
||||
|
||||
message = _("Please specify datastore. No default datastore "
|
||||
"is defined.")
|
||||
|
||||
|
||||
class DatastoreDefaultVersionNotFound(TroveError):
|
||||
|
@ -489,8 +489,15 @@ class DatastoreVersions(object):
|
||||
def get_datastore_version(type=None, version=None, return_inactive=False):
|
||||
datastore = type or CONF.default_datastore
|
||||
if not datastore:
|
||||
raise exception.DatastoreDefaultDatastoreNotFound()
|
||||
raise exception.DatastoreDefaultDatastoreNotDefined()
|
||||
try:
|
||||
datastore = Datastore.load(datastore)
|
||||
except exception.DatastoreNotFound:
|
||||
if not type:
|
||||
raise exception.DatastoreDefaultDatastoreNotFound(
|
||||
datastore=datastore)
|
||||
raise
|
||||
|
||||
version = version or datastore.default_version_id
|
||||
if not version:
|
||||
raise exception.DatastoreDefaultVersionNotFound(
|
||||
|
@ -491,7 +491,7 @@ class CreateInstanceFail(object):
|
||||
check.guest_status()
|
||||
|
||||
@test
|
||||
def test_create_failure_with_datastore_default_notfound(self):
|
||||
def test_create_failure_with_datastore_default_not_defined(self):
|
||||
if not FAKE:
|
||||
raise SkipTest("This test only for fake mode.")
|
||||
if VOLUME_SUPPORT:
|
||||
@ -511,8 +511,8 @@ class CreateInstanceFail(object):
|
||||
volume, databases, users)
|
||||
except exceptions.BadRequest as e:
|
||||
assert_equal(e.message,
|
||||
"Please specify datastore. Default datastore "
|
||||
"cannot be found.")
|
||||
"Please specify datastore. No default datastore "
|
||||
"is defined.")
|
||||
datastore_models.CONF.default_datastore = \
|
||||
origin_default_datastore
|
||||
|
||||
|
@ -13,6 +13,8 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from mock import patch
|
||||
|
||||
from trove.common import exception
|
||||
from trove.datastore import models as datastore_models
|
||||
from trove.datastore.models import Datastore
|
||||
@ -21,11 +23,22 @@ from trove.tests.unittests.datastore.base import TestDatastoreBase
|
||||
|
||||
class TestDatastore(TestDatastoreBase):
|
||||
|
||||
def test_create_failure_with_datastore_default_notfound(self):
|
||||
def test_create_failure_with_datastore_default_not_defined(self):
|
||||
self.assertRaises(
|
||||
exception.DatastoreDefaultDatastoreNotFound,
|
||||
exception.DatastoreDefaultDatastoreNotDefined,
|
||||
datastore_models.get_datastore_version)
|
||||
|
||||
def test_load_datastore(self):
|
||||
datastore = Datastore.load(self.ds_name)
|
||||
self.assertEqual(self.ds_name, datastore.name)
|
||||
|
||||
@patch.object(datastore_models, 'CONF')
|
||||
def test_create_failure_with_datastore_default(self, mock_conf):
|
||||
mock_conf.default_datastore = 'bad_ds'
|
||||
self.assertRaisesRegexp(exception.DatastoreDefaultDatastoreNotFound,
|
||||
"Default datastore 'bad_ds' cannot be found",
|
||||
datastore_models.get_datastore_version)
|
||||
self.assertRaisesRegexp(exception.DatastoreNotFound,
|
||||
"Datastore 'my_ds' cannot be found",
|
||||
datastore_models.get_datastore_version,
|
||||
'my_ds')
|
||||
|
Loading…
Reference in New Issue
Block a user