mirror of
https://github.com/rancher/rke.git
synced 2025-07-05 03:28:08 +00:00
62 lines
1.8 KiB
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")
|
|
}
|