def test_share_type_create_with_default_values(self, dhss): name = 'fake_share_type_name' api.share_type_create(self.request, name, dhss) self.manilaclient.share_types.create.assert_called_once_with( name=name, spec_driver_handles_share_servers=dhss, is_public=True)
def test_share_type_create_with_default_values(self, dhss): name = 'fake_share_type_name' api.share_type_create(self.request, name, dhss) self.manilaclient.share_types.create.assert_called_once_with( name=name, spec_driver_handles_share_servers=dhss, spec_snapshot_support=True, is_public=True)
def test_share_type_create_with_custom_values(self, dhss, snapshot_support, is_public): name = 'fake_share_type_name' api.share_type_create(self.request, name, dhss, snapshot_support, is_public) self.manilaclient.share_types.create.assert_called_once_with( name=name, spec_driver_handles_share_servers=dhss, spec_snapshot_support=snapshot_support, is_public=is_public)
def handle(self, request, data): try: spec_dhss = data['spec_driver_handles_share_servers'].lower() allowed_dhss_values = ('true', 'false') if spec_dhss not in allowed_dhss_values: msg = _("Improper value set to required extra spec " "'spec_driver_handles_share_servers'. " "Allowed values are %s. " "Case insensitive.") % allowed_dhss_values raise ValidationError(message=msg) set_dict, unset_list = utils.parse_str_meta(data['extra_specs']) if unset_list: msg = _("Expected only pairs of key=value.") raise ValidationError(message=msg) is_public = (self.enable_public_share_type_creation and data["is_public"]) share_type = manila.share_type_create( request, data["name"], spec_dhss, is_public=is_public) if set_dict: manila.share_type_set_extra_specs( request, share_type.id, set_dict) msg = _("Successfully created share type: %s") % share_type.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: exceptions.handle(request, _('Unable to create share type.')) return False
def handle(self, request, data): try: spec_dhss = data['spec_driver_handles_share_servers'].lower() allowed_dhss_values = ('true', 'false') if spec_dhss not in allowed_dhss_values: msg = _("Improper value set to required extra spec " "'spec_driver_handles_share_servers'. " "Allowed values are %s. " "Case insensitive.") % allowed_dhss_values raise ValidationError(message=msg) set_dict, unset_list = utils.parse_str_meta(data['extra_specs']) if unset_list: msg = _("Expected only pairs of key=value.") raise ValidationError(message=msg) is_public = (self.enable_public_share_type_creation and data["is_public"]) share_type = manila.share_type_create( request, data["name"], spec_dhss, description=data["description"], is_public=is_public) if set_dict: manila.share_type_set_extra_specs(request, share_type.id, set_dict) msg = _("Successfully created share type: %s") % share_type.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: exceptions.handle(request, _('Unable to create share type.')) return False