1
0
mirror of https://github.com/rancher/rke.git synced 2025-07-05 03:28:08 +00:00
rke/cluster/etcd_test.go

62 lines
1.8 KiB
Go

package cluster
import (
"context"
"testing"
"github.com/rancher/rke/metadata"
"github.com/rancher/rke/types"
v3 "github.com/rancher/rke/types"
"github.com/stretchr/testify/assert"
)
func TestGetRestoreImage(t *testing.T) {
ctx := context.Background()
metadata.InitMetadata(ctx)
cluster := &Cluster{
RancherKubernetesEngineConfig: v3.RancherKubernetesEngineConfig{
SystemImages: types.RKESystemImages{
Etcd: "rancher/mirrored-coreos-etcd:v3.5.7",
Alpine: "rancher/rke-tools:v0.1.90",
},
},
}
expectedRestoreImage := cluster.getBackupImage()
restoreImage := cluster.getRestoreImage()
assert.NotEmpty(t, restoreImage, "")
assert.Equal(t, expectedRestoreImage, restoreImage,
"expected restoreImage is different when etcd image version is v3.5.7")
cluster.SystemImages.Etcd = "rancher/mirrored-coreos-etcd:v3.5.8"
expectedRestoreImage = cluster.getBackupImage()
restoreImage = cluster.getRestoreImage()
assert.NotEmpty(t, restoreImage, "")
assert.Equal(t, expectedRestoreImage, restoreImage,
"expected restoreImage is different when etcd image version is greater than v3.5.7")
cluster.SystemImages.Etcd = "rancher/mirrored-coreos-etcd:v3.5.6"
expectedRestoreImage = cluster.SystemImages.Etcd
restoreImage = cluster.getRestoreImage()
assert.NotEmpty(t, restoreImage, "")
assert.Equal(t, expectedRestoreImage, restoreImage,
"expected restoreImage is different when etcd image version is less than v3.5.7")
// test for custom image
cluster.SystemImages.Etcd = "custom/mirrored-coreos-etcd:v3.5.7"
expectedRestoreImage = cluster.SystemImages.Etcd
restoreImage = cluster.getRestoreImage()
assert.NotEmpty(t, restoreImage, "")
assert.Equal(t, expectedRestoreImage, restoreImage,
"expected restoreImage is different when custom etcd image is used")
}