summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-04-18 17:01:42 +0000
committerGerrit Code Review <review@openstack.org>2016-04-18 17:01:42 +0000
commite3a6fc27b0cfc9b82801e13d61c2fad3a09bf6b1 (patch)
tree35d9bc4bbfc7bffcfcd0f9a02fac58ce3f874c98 /openstackclient/tests
parent89445855acffc5ae4cf87dc501c09f3434d08bad (diff)
parent926330d3726e9ce7001190730c69bf6ee45b422a (diff)
downloadpython-openstackclient-e3a6fc27b0cfc9b82801e13d61c2fad3a09bf6b1.tar.gz
Merge "Propagate AttributeErrors when lazily loading plugins"
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/common/test_clientmanager.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/openstackclient/tests/common/test_clientmanager.py b/openstackclient/tests/common/test_clientmanager.py
index 6fc5b41e..fa6c3fcc 100644
--- a/openstackclient/tests/common/test_clientmanager.py
+++ b/openstackclient/tests/common/test_clientmanager.py
@@ -41,6 +41,7 @@ auth.get_options_list()
class Container(object):
attr = clientmanager.ClientCache(lambda x: object())
+ buggy_attr = clientmanager.ClientCache(lambda x: x.foo)
def __init__(self):
pass
@@ -72,6 +73,13 @@ class TestClientCache(utils.TestCase):
c = Container()
self.assertEqual(c.attr, c.attr)
+ def test_attribute_error_propagates(self):
+ c = Container()
+ err = self.assertRaises(exc.PluginAttributeError,
+ getattr, c, 'buggy_attr')
+ self.assertNotIsInstance(err, AttributeError)
+ self.assertEqual("'Container' object has no attribute 'foo'", str(err))
+
class TestClientManager(utils.TestCase):