36 lines
1.4 KiB
Go
36 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"slices"
|
|
"testing"
|
|
|
|
"git.novox.be/novox/mesh-sdk/go/catalogue"
|
|
)
|
|
|
|
const pin = "@sha256:e4bf19f15fd3218814a4e3c9e0064e1334bd8aa20d5984b9f1a0afd084f8cc00"
|
|
|
|
// 1824: a short base image name is qualified the way the controller's parseReference does (the public hub, `library/`
|
|
// for a single name), because buildah has no unqualified-search registry here; a qualified name is left as it is.
|
|
func TestAShortBaseImageNameIsQualifiedAsTheHubsAndAQualifiedOneIsKept(t *testing.T) {
|
|
for in, want := range map[string]string{
|
|
"nats" + pin: "docker.io/library/nats" + pin,
|
|
"nats:2.11.17-alpine" + pin: "docker.io/library/nats:2.11.17-alpine" + pin,
|
|
"n8nio/n8n" + pin: "docker.io/n8nio/n8n" + pin,
|
|
"docker.io/library/alpine" + pin: "docker.io/library/alpine" + pin,
|
|
"ghcr.io/org/app:1" + pin: "ghcr.io/org/app:1" + pin,
|
|
"localhost:5000/x/y" + pin: "localhost:5000/x/y" + pin,
|
|
"registry-1.docker.io/library/a": "registry-1.docker.io/library/a",
|
|
} {
|
|
if got := qualifyImage(in); got != want {
|
|
t.Errorf("%s = %s, want %s", in, got, want)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestTheBuildArgsCarryTheQualifiedName(t *testing.T) {
|
|
m := catalogue.Manifest{Build: &catalogue.Build{On: []catalogue.BuildsOn{{Arg: "NATS_BASE", Image: "nats" + pin}}}}
|
|
if got, want := imageArgs(m), []string{"--build-arg", "NATS_BASE=docker.io/library/nats" + pin}; !slices.Equal(got, want) {
|
|
t.Errorf("%v, want %v", got, want)
|
|
}
|
|
}
|