mirror of https://github.com/portainer/portainer
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
5.8 KiB
120 lines
5.8 KiB
2 years ago
|
package images
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestImageParser(t *testing.T) {
|
||
|
is := assert.New(t)
|
||
|
|
||
|
// portainer/portainer-ee
|
||
|
t.Run("", func(t *testing.T) {
|
||
|
image, err := ParseImage(ParseImageOptions{
|
||
|
Name: "portainer/portainer-ee",
|
||
|
})
|
||
|
is.NoError(err, "")
|
||
|
is.Equal("docker.io/portainer/portainer-ee:latest", image.FullName())
|
||
|
is.Equal("portainer/portainer-ee", image.opts.Name)
|
||
|
is.Equal("latest", image.Tag)
|
||
|
is.Equal("portainer/portainer-ee", image.Path)
|
||
|
is.Equal("docker.io", image.Domain)
|
||
|
is.Equal("docker.io/portainer/portainer-ee", image.Name())
|
||
|
is.Equal("latest", image.Reference())
|
||
|
is.Equal("docker.io/portainer/portainer-ee:latest", image.String())
|
||
|
|
||
|
})
|
||
|
// gcr.io/k8s-minikube/kicbase@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2
|
||
|
t.Run("", func(t *testing.T) {
|
||
|
image, err := ParseImage(ParseImageOptions{
|
||
|
Name: "gcr.io/k8s-minikube/kicbase@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2",
|
||
|
})
|
||
|
is.NoError(err, "")
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.FullName())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.opts.Name)
|
||
|
is.Equal("", image.Tag)
|
||
|
is.Equal("k8s-minikube/kicbase", image.Path)
|
||
|
is.Equal("gcr.io", image.Domain)
|
||
|
is.Equal("https://gcr.io/k8s-minikube/kicbase", image.HubLink)
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase", image.Name())
|
||
|
is.Equal("sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.Reference())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.String())
|
||
|
})
|
||
|
|
||
|
// gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2
|
||
|
t.Run("", func(t *testing.T) {
|
||
|
image, err := ParseImage(ParseImageOptions{
|
||
|
Name: "gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2",
|
||
|
})
|
||
|
is.NoError(err, "")
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30", image.FullName())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.opts.Name)
|
||
|
is.Equal("v0.0.30", image.Tag)
|
||
|
is.Equal("k8s-minikube/kicbase", image.Path)
|
||
|
is.Equal("gcr.io", image.Domain)
|
||
|
is.Equal("https://gcr.io/k8s-minikube/kicbase", image.HubLink)
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase", image.Name())
|
||
|
is.Equal("sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.Reference())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.String())
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestUpdateParsedImage(t *testing.T) {
|
||
|
is := assert.New(t)
|
||
|
|
||
|
// gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2
|
||
|
t.Run("", func(t *testing.T) {
|
||
|
image, err := ParseImage(ParseImageOptions{
|
||
|
Name: "gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2",
|
||
|
})
|
||
|
is.NoError(err, "")
|
||
|
_ = image.WithTag("v0.0.31")
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.31", image.FullName())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.opts.Name)
|
||
|
is.Equal("v0.0.31", image.Tag)
|
||
|
is.Equal("k8s-minikube/kicbase", image.Path)
|
||
|
is.Equal("gcr.io", image.Domain)
|
||
|
is.Equal("https://gcr.io/k8s-minikube/kicbase", image.HubLink)
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase", image.Name())
|
||
|
is.Equal("sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.Reference())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.31@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.String())
|
||
|
})
|
||
|
|
||
|
// gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2
|
||
|
t.Run("", func(t *testing.T) {
|
||
|
image, err := ParseImage(ParseImageOptions{
|
||
|
Name: "gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2",
|
||
|
})
|
||
|
is.NoError(err, "")
|
||
|
_ = image.WithDigest("sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b3")
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30", image.FullName())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.opts.Name)
|
||
|
is.Equal("v0.0.30", image.Tag)
|
||
|
is.Equal("k8s-minikube/kicbase", image.Path)
|
||
|
is.Equal("gcr.io", image.Domain)
|
||
|
is.Equal("https://gcr.io/k8s-minikube/kicbase", image.HubLink)
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase", image.Name())
|
||
|
is.Equal("sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b3", image.Reference())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b3", image.String())
|
||
|
})
|
||
|
|
||
|
// gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2
|
||
|
t.Run("", func(t *testing.T) {
|
||
|
image, err := ParseImage(ParseImageOptions{
|
||
|
Name: "gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2",
|
||
|
})
|
||
|
is.NoError(err, "")
|
||
|
_ = image.trimDigest()
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30", image.FullName())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30@sha256:02c921df998f95e849058af14de7045efc3954d90320967418a0d1f182bbc0b2", image.opts.Name)
|
||
|
is.Equal("v0.0.30", image.Tag)
|
||
|
is.Equal("k8s-minikube/kicbase", image.Path)
|
||
|
is.Equal("gcr.io", image.Domain)
|
||
|
is.Equal("https://gcr.io/k8s-minikube/kicbase", image.HubLink)
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase", image.Name())
|
||
|
is.Equal("v0.0.30", image.Reference())
|
||
|
is.Equal("gcr.io/k8s-minikube/kicbase:v0.0.30", image.String())
|
||
|
})
|
||
|
}
|