mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-18 04:10:22 +00:00
da40d8e05e
go-ceph v0.3 adds constants for ImageFeature values and their names. Instead of hardcoding "layering" in several places, use the constant given by librbd. The rbdVolume.ImageFeatures does not seem to be used anywhere after the conversion. Stashing the image metadata does include the ImageFeatures as these are retrieved when getting the image information. It is safe to drop ImageFeatures altogether and only use the imageFeatureSet instead. Signed-off-by: Niels de Vos <ndevos@redhat.com>
63 lines
1.6 KiB
Go
63 lines
1.6 KiB
Go
/*
|
|
Copyright 2020 The Ceph-CSI Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package rbd
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
librbd "github.com/ceph/go-ceph/rbd"
|
|
)
|
|
|
|
func TestIsLegacyVolumeID(t *testing.T) {
|
|
tests := []struct {
|
|
volID string
|
|
isLegacy bool
|
|
}{
|
|
{"prefix-bda37d42-9979-420f-9389-74362f3f98f6", false},
|
|
{"csi-rbd-vo-f997e783-ff00-48b0-8cc7-30cb36c3df3d", false},
|
|
{"csi-rbd-vol-this-is-clearly-not-a-valid-UUID----", false},
|
|
{"csi-rbd-vol-b82f27de-3b3a-43f2-b5e7-9f8d0aad04e9", true},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
if got := isLegacyVolumeID(test.volID); got != test.isLegacy {
|
|
t.Errorf("isLegacyVolumeID(%s) = %t, want %t", test.volID, got, test.isLegacy)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestHasSnapshotFeature(t *testing.T) {
|
|
tests := []struct {
|
|
features string
|
|
hasFeature bool
|
|
}{
|
|
{"foo", false},
|
|
{"foo,bar", false},
|
|
{"foo,layering,bar", true},
|
|
}
|
|
|
|
rv := rbdVolume{}
|
|
|
|
for _, test := range tests {
|
|
rv.imageFeatureSet = librbd.FeatureSetFromNames(strings.Split(test.features, ","))
|
|
if got := rv.hasSnapshotFeature(); got != test.hasFeature {
|
|
t.Errorf("hasSnapshotFeature(%s) = %t, want %t", test.features, got, test.hasFeature)
|
|
}
|
|
}
|
|
}
|