diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-04-18 17:01:42 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-04-18 17:01:42 +0000 |
| commit | e3a6fc27b0cfc9b82801e13d61c2fad3a09bf6b1 (patch) | |
| tree | 35d9bc4bbfc7bffcfcd0f9a02fac58ce3f874c98 /openstackclient/tests | |
| parent | 89445855acffc5ae4cf87dc501c09f3434d08bad (diff) | |
| parent | 926330d3726e9ce7001190730c69bf6ee45b422a (diff) | |
| download | python-openstackclient-e3a6fc27b0cfc9b82801e13d61c2fad3a09bf6b1.tar.gz | |
Merge "Propagate AttributeErrors when lazily loading plugins"
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/common/test_clientmanager.py | 8 |
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): |
