def handle(self, request, data): try: set_dict, unset_list = utils.parse_str_meta(data['extra_specs']) if set_dict: manila.share_type_set_extra_specs( request, self.initial["id"], set_dict) if unset_list: get = manila.share_type_get_extra_specs( request, self.initial["id"]) # NOTE(vponomaryov): skip keys that are already unset to_unset = set(unset_list).intersection(set(get.keys())) if to_unset: manila.share_type_unset_extra_specs( request, self.initial["id"], to_unset) msg = _("Successfully updated extra specs for share type '%s'.") msg = msg % self.initial['name'] messages.success(request, msg) return True except ValidationError as e: # handle error without losing dialog self.api_error(e.messages[0]) return False except Exception: msg = _("Unable to update extra_specs for share type.") exceptions.handle(request, msg) return False
def handle(self, request, data): try: set_dict, unset_list = utils.parse_str_meta(data['extra_specs']) if set_dict: manila.share_type_set_extra_specs(request, self.initial["id"], set_dict) if unset_list: get = manila.share_type_get_extra_specs( request, self.initial["id"]) # NOTE(vponomaryov): skip keys that are already unset to_unset = set(unset_list).intersection(set(get.keys())) if to_unset: manila.share_type_unset_extra_specs( request, self.initial["id"], to_unset) msg = _("Successfully updated extra specs for share type '%s'.") msg = msg % self.initial['name'] messages.success(request, msg) return True except ValidationError as e: # handle error without losing dialog self.api_error(e.messages[0]) return False except Exception: msg = _("Unable to update extra_specs for share type.") exceptions.handle(request, msg) return False
def test_share_type_unset_extra_specs(self): keys = ["foo", "bar"] api.share_type_unset_extra_specs(self.request, self.id, keys) share_types_get = self.manilaclient.share_types.get share_types_get.assert_called_once_with(self.id) share_types_get.return_value.unset_keys.assert_called_once_with(keys)
def test_share_type_unset_extra_specs(self): keys = ["foo", "bar"] api.share_type_unset_extra_specs(self.request, self.id, keys) share_types_get = self.manilaclient.share_types.get share_types_get.assert_called_once_with(self.id) share_types_get.return_value.unset_keys.assert_called_once_with(keys)