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):
|
class DatastoreDefaultDatastoreNotFound(TroveError):
|
||||||
|
|
||||||
message = _("Please specify datastore. Default datastore "
|
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):
|
class DatastoreDefaultVersionNotFound(TroveError):
|
||||||
|
@ -489,8 +489,15 @@ class DatastoreVersions(object):
|
|||||||
def get_datastore_version(type=None, version=None, return_inactive=False):
|
def get_datastore_version(type=None, version=None, return_inactive=False):
|
||||||
datastore = type or CONF.default_datastore
|
datastore = type or CONF.default_datastore
|
||||||
if not datastore:
|
if not datastore:
|
||||||
raise exception.DatastoreDefaultDatastoreNotFound()
|
raise exception.DatastoreDefaultDatastoreNotDefined()
|
||||||
datastore = Datastore.load(datastore)
|
try:
|
||||||
|
datastore = Datastore.load(datastore)
|
||||||
|
except exception.DatastoreNotFound:
|
||||||
|
if not type:
|
||||||
|
raise exception.DatastoreDefaultDatastoreNotFound(
|
||||||
|
datastore=datastore)
|
||||||
|
raise
|
||||||
|
|
||||||
version = version or datastore.default_version_id
|
version = version or datastore.default_version_id
|
||||||
if not version:
|
if not version:
|
||||||
raise exception.DatastoreDefaultVersionNotFound(
|
raise exception.DatastoreDefaultVersionNotFound(
|
||||||
|
@ -491,7 +491,7 @@ class CreateInstanceFail(object):
|
|||||||
check.guest_status()
|
check.guest_status()
|
||||||
|
|
||||||
@test
|
@test
|
||||||
def test_create_failure_with_datastore_default_notfound(self):
|
def test_create_failure_with_datastore_default_not_defined(self):
|
||||||
if not FAKE:
|
if not FAKE:
|
||||||
raise SkipTest("This test only for fake mode.")
|
raise SkipTest("This test only for fake mode.")
|
||||||
if VOLUME_SUPPORT:
|
if VOLUME_SUPPORT:
|
||||||
@ -511,8 +511,8 @@ class CreateInstanceFail(object):
|
|||||||
volume, databases, users)
|
volume, databases, users)
|
||||||
except exceptions.BadRequest as e:
|
except exceptions.BadRequest as e:
|
||||||
assert_equal(e.message,
|
assert_equal(e.message,
|
||||||
"Please specify datastore. Default datastore "
|
"Please specify datastore. No default datastore "
|
||||||
"cannot be found.")
|
"is defined.")
|
||||||
datastore_models.CONF.default_datastore = \
|
datastore_models.CONF.default_datastore = \
|
||||||
origin_default_datastore
|
origin_default_datastore
|
||||||
|
|
||||||
|
@ -13,6 +13,8 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
from mock import patch
|
||||||
|
|
||||||
from trove.common import exception
|
from trove.common import exception
|
||||||
from trove.datastore import models as datastore_models
|
from trove.datastore import models as datastore_models
|
||||||
from trove.datastore.models import Datastore
|
from trove.datastore.models import Datastore
|
||||||
@ -21,11 +23,22 @@ from trove.tests.unittests.datastore.base import TestDatastoreBase
|
|||||||
|
|
||||||
class TestDatastore(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(
|
self.assertRaises(
|
||||||
exception.DatastoreDefaultDatastoreNotFound,
|
exception.DatastoreDefaultDatastoreNotDefined,
|
||||||
datastore_models.get_datastore_version)
|
datastore_models.get_datastore_version)
|
||||||
|
|
||||||
def test_load_datastore(self):
|
def test_load_datastore(self):
|
||||||
datastore = Datastore.load(self.ds_name)
|
datastore = Datastore.load(self.ds_name)
|
||||||
self.assertEqual(self.ds_name, datastore.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