Pin container image hashes

This commit is contained in:
katexochen 2022-10-06 12:58:56 +02:00 committed by Paul Meyer
parent 884c46179a
commit 4ccd96bf64
4 changed files with 86 additions and 24 deletions

View file

@ -0,0 +1,46 @@
/*
Copyright (c) Edgeless Systems GmbH
SPDX-License-Identifier: AGPL-3.0-only
*/
package versions
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestVersionFromDockerImage(t *testing.T) {
testCases := map[string]struct {
imageName string
wantVersion string
wantPanic bool
}{
"valid image name": {
imageName: "k8s.gcr.io/kube-apiserver:v1.18.0",
wantVersion: "v1.18.0",
},
"valid image name with sha": {
imageName: "k8s.gcr.io/kube-apiserver:v1.18.0@sha256:1234567890abcdef",
wantVersion: "v1.18.0",
},
"invalid image name": {
imageName: "k8s.gcr.io/kube-apiserver",
wantPanic: true,
},
}
for name, tc := range testCases {
t.Run(name, func(t *testing.T) {
assert := assert.New(t)
if tc.wantPanic {
assert.Panics(func() { versionFromDockerImage(tc.imageName) })
} else {
assert.Equal(tc.wantVersion, versionFromDockerImage(tc.imageName))
}
})
}
}