From b3487484d8250ef7036e75d8dbd85e30d629a35e Mon Sep 17 00:00:00 2001 From: whoami-rajat Date: Thu, 2 Aug 2018 17:06:05 +0000 Subject: [PATCH] __repr__ crashes when empty dict passed The Capabilities class __repr__ method crashes when along with any manager object, the info is passed as empty dict. This patch handles the issue. Change-Id: Ife5cfc82137d107b27b011aa83c3a9c89e78d701 Closes-Bug: #1785091 --- cinderclient/tests/unit/v2/test_capabilities.py | 5 +++++ cinderclient/v2/capabilities.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cinderclient/tests/unit/v2/test_capabilities.py b/cinderclient/tests/unit/v2/test_capabilities.py index 0437cc0f2..01a132d95 100644 --- a/cinderclient/tests/unit/v2/test_capabilities.py +++ b/cinderclient/tests/unit/v2/test_capabilities.py @@ -53,3 +53,8 @@ class CapabilitiesTest(utils.TestCase): cap = Capabilities(None, FAKE_CAPABILITY) self.assertEqual( "" % FAKE_CAPABILITY['namespace'], repr(cap)) + + def test__repr__when_empty(self): + cap = Capabilities(None, {}) + self.assertEqual( + "", repr(cap)) diff --git a/cinderclient/v2/capabilities.py b/cinderclient/v2/capabilities.py index 305397f44..2045f02be 100644 --- a/cinderclient/v2/capabilities.py +++ b/cinderclient/v2/capabilities.py @@ -22,7 +22,7 @@ class Capabilities(base.Resource): NAME_ATTR = 'name' def __repr__(self): - return "" % self._info['namespace'] + return "" % self._info.get('namespace') class CapabilitiesManager(base.Manager):