def __getattr__(self, item): # Verify is an update of a proper GBP object def _is_sc_resource(plural): return plural in service_chain.RESOURCE_ATTRIBUTE_MAP def _is_gbp_resource(plural): return plural in gpolicy.RESOURCE_ATTRIBUTE_MAP def _is_valid_resource(plural): return _is_gbp_resource(plural) or _is_sc_resource(plural) # Update Method if item.startswith('update_'): resource = item[len('update_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def update_wrapper(id, **kwargs): return self._update_resource(id, resource, **kwargs) return update_wrapper # Show Method if item.startswith('show_'): resource = item[len('show_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def show_wrapper(id, **kwargs): return self._show_resource(id, plural, **kwargs) return show_wrapper # Create Method if item.startswith('create_'): resource = item[len('create_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def create_wrapper(**kwargs): return self._create_resource(resource, **kwargs) return create_wrapper # Delete Method if item.startswith('delete_'): resource = item[len('delete_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def delete_wrapper(id, **kwargs): return self._delete_resource(id, plural, **kwargs) return delete_wrapper raise AttributeError
def __getattr__(self, item): # Verify is an update of a proper GBP object def _is_sc_resource(plural): return plural in service_chain.RESOURCE_ATTRIBUTE_MAP def _is_gbp_resource(plural): return plural in gpolicy.RESOURCE_ATTRIBUTE_MAP def _is_valid_resource(plural): return _is_gbp_resource(plural) or _is_sc_resource(plural) # Update Method if item.startswith('update_'): resource = item[len('update_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def update_wrapper(id, **kwargs): return self._update_resource(id, resource, **kwargs) return update_wrapper # Show Method if item.startswith('show_'): resource = item[len('show_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def show_wrapper(id, **kwargs): return self._show_resource(id, plural, **kwargs) return show_wrapper # Create Method if item.startswith('create_'): resource = item[len('create_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def create_wrapper(**kwargs): return self._create_resource(resource, **kwargs) return create_wrapper # Delete Method if item.startswith('delete_'): resource = item[len('delete_'):] plural = cm.get_resource_plural(resource) if _is_valid_resource(plural): def delete_wrapper(id, **kwargs): return self._delete_resource(id, plural, **kwargs) return delete_wrapper raise AttributeError
def _test_attr(self, type): # Test create with default value. acronim = _acronim(type) plural = cm.get_resource_plural(type) obj = getattr(self, 'create_%s' % type)() id = obj[type]['id'] val = obj[type][acronim + '_extension'] self.assertIsNone(val) req = self.new_show_request(plural, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertIsNone(val) # Test list. res = self._list(plural) val = res[plural][0][acronim + '_extension'] self.assertIsNone(val) # Test create with explict value. kwargs = {acronim + '_extension': "abc"} obj = getattr(self, 'create_%s' % type)(**kwargs) id = obj[type]['id'] val = obj[type][acronim + '_extension'] self.assertEqual("abc", val) req = self.new_show_request(plural, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertEqual("abc", val) # Test update. data = {type: {acronim + '_extension': "def"}} req = self.new_update_request(plural, data, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertEqual("def", val) req = self.new_show_request(plural, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertEqual("def", val)
def _test_attr(self, type): # Test create with default value. acronim = _acronim(type) plural = cm.get_resource_plural(type) obj = getattr(self, 'create_%s' % type)() id = obj[type]['id'] val = obj[type][acronim + '_extension'] self.assertEqual("", val) req = self.new_show_request(plural, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertEqual("", val) # Test list. res = self._list(plural) val = res[plural][0][acronim + '_extension'] self.assertEqual("", val) # Test create with explict value. kwargs = {acronim + '_extension': "abc"} obj = getattr(self, 'create_%s' % type)(**kwargs) id = obj[type]['id'] val = obj[type][acronim + '_extension'] self.assertEqual("abc", val) req = self.new_show_request(plural, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertEqual("abc", val) # Test update. data = {type: {acronim + '_extension': "def"}} req = self.new_update_request(plural, data, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertEqual("def", val) req = self.new_show_request(plural, id) res = self.deserialize(self.fmt, req.get_response(self.ext_api)) val = res[type][acronim + '_extension'] self.assertEqual("def", val)