slapos.slap: fix __getattr__ of product collection.

so that product.foo works.
parent 626cedb7
...@@ -177,8 +177,9 @@ class SoftwareProductCollection(object): ...@@ -177,8 +177,9 @@ class SoftwareProductCollection(object):
def __init__(self, logger, slap): def __init__(self, logger, slap):
self.logger = logger self.logger = logger
self.slap = slap self.slap = slap
self.__getattr__ = self.get self.get = self.__getattr__
def get(self, software_product):
def __getattr__(self, software_product):
self.logger.info('Getting best Software Release corresponging to ' self.logger.info('Getting best Software Release corresponging to '
'this Software Product...') 'this Software Product...')
software_release_list = \ software_release_list = \
......
...@@ -1143,15 +1143,17 @@ class TestSoftwareProductCollection(SlapMixin): ...@@ -1143,15 +1143,17 @@ class TestSoftwareProductCollection(SlapMixin):
self.product_collection.get, 'random_reference', self.product_collection.get, 'random_reference',
) )
def test_get_product_gettattr(self): def test_get_product_getattr(self):
""" """
Test that __getattr__ method is bound to get() method. Test that __getattr__ method is bound to get() method.
""" """
self.getSoftwareReleaseListFromSoftwareProduct_response = [] self.getSoftwareReleaseListFromSoftwareProduct_response = ['0']
self.product_collection.foo
self.assertEqual( self.assertEqual(
self.product_collection.__getattr__, self.product_collection.__getattr__,
self.product_collection.get self.product_collection.get
) )
self.assertEqual(self.product_collection.foo, '0')
if __name__ == '__main__': if __name__ == '__main__':
print 'You can point to any SLAP server by setting TEST_SLAP_SERVER_URL '\ print 'You can point to any SLAP server by setting TEST_SLAP_SERVER_URL '\
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment