Guru Meditation Reports broken without version_string
The versions from many openstack projects don't provide the vendor_string,product_string,version_string_with_package. We need to keep compatible with these projects. Closes-Bug:#1456465 Change-Id: I688ef29b84541d3261f6b9395b3f591b276aa071 (cherry-picked from oslo-incubator commit 14874b8a836b9580a94a118ed535898cfa76362f)
This commit is contained in:
parent
7a6ccda607
commit
99a11312ed
|
@ -40,7 +40,21 @@ class PackageReportGenerator(object):
|
|||
self.version_obj = version_obj
|
||||
|
||||
def __call__(self):
|
||||
return vm.PackageModel(
|
||||
self.version_obj.vendor_string(),
|
||||
self.version_obj.product_string(),
|
||||
self.version_obj.version_string_with_package())
|
||||
if hasattr(self.version_obj, "vendor_string"):
|
||||
vendor_string = self.version_obj.vendor_string()
|
||||
else:
|
||||
vendor_string = None
|
||||
|
||||
if hasattr(self.version_obj, "product_string"):
|
||||
product_string = self.version_obj.product_string()
|
||||
else:
|
||||
product_string = None
|
||||
|
||||
if hasattr(self.version_obj, "version_string_with_package"):
|
||||
version_string_with_package = self.version_obj.\
|
||||
version_string_with_package()
|
||||
else:
|
||||
version_string_with_package = None
|
||||
|
||||
return vm.PackageModel(vendor_string, product_string,
|
||||
version_string_with_package)
|
||||
|
|
|
@ -123,3 +123,19 @@ class TestOpenstackGenerators(base.BaseTestCase):
|
|||
'vendor = Cheese Shoppe\n'
|
||||
'version = 1.0.0')
|
||||
self.assertEqual(target_str, six.text_type(model))
|
||||
|
||||
def test_package_report_generator_without_vendor_string(self):
|
||||
class VersionObj(object):
|
||||
def product_string(self):
|
||||
return 'Sharp Cheddar'
|
||||
|
||||
def version_string_with_package(self):
|
||||
return '1.0.0'
|
||||
|
||||
model = os_pgen.PackageReportGenerator(VersionObj())()
|
||||
model.set_current_view_type('text')
|
||||
|
||||
target_str = ('product = Sharp Cheddar\n'
|
||||
'vendor = None\n'
|
||||
'version = 1.0.0')
|
||||
self.assertEqual(target_str, six.text_type(model))
|
||||
|
|
Loading…
Reference in New Issue