Files
Reloader/test/e2e/utils/helm_test.go
faizanahmad055 96ac8d1daf Refactor code and fix leader election tests
Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com>
2026-05-11 20:48:54 +02:00

173 lines
3.6 KiB
Go

package utils
import (
"testing"
)
func TestGetImageRepository(t *testing.T) {
tests := []struct {
name string
image string
expected string
}{
{
name: "full image with tag",
image: "ghcr.io/stakater/reloader:v1.0.0",
expected: "ghcr.io/stakater/reloader",
},
{
name: "image with latest tag",
image: "nginx:latest",
expected: "nginx",
},
{
name: "image without tag",
image: "ghcr.io/stakater/reloader",
expected: "ghcr.io/stakater/reloader",
},
{
name: "image with digest",
image: "nginx@sha256:abc123",
expected: "nginx",
},
{
name: "full image with digest",
image: "ghcr.io/stakater/reloader@sha256:deadbeef",
expected: "ghcr.io/stakater/reloader",
},
{
name: "simple image name",
image: "nginx",
expected: "nginx",
},
{
name: "image with port in registry",
image: "localhost:5000/myimage:v1",
expected: "localhost:5000/myimage",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := GetImageRepository(tt.image)
if result != tt.expected {
t.Errorf("GetImageRepository(%q) = %q, want %q", tt.image, result, tt.expected)
}
})
}
}
func TestGetImageTag(t *testing.T) {
tests := []struct {
name string
image string
expected string
}{
{
name: "full image with tag",
image: "ghcr.io/stakater/reloader:v1.0.0",
expected: "v1.0.0",
},
{
name: "image with latest tag",
image: "nginx:latest",
expected: "latest",
},
{
name: "image without tag",
image: "ghcr.io/stakater/reloader",
expected: "latest",
},
{
name: "simple image name",
image: "nginx",
expected: "latest",
},
{
name: "image with port in registry",
image: "localhost:5000/myimage:v1",
expected: "v1",
},
{
name: "tag with sha",
image: "myimage:sha-abc123",
expected: "sha-abc123",
},
{
name: "image with digest",
image: "nginx@sha256:abc123",
expected: "sha256:abc123",
},
{
name: "full image with digest",
image: "ghcr.io/stakater/reloader@sha256:deadbeef",
expected: "sha256:deadbeef",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := GetImageTag(tt.image)
if result != tt.expected {
t.Errorf("GetImageTag(%q) = %q, want %q", tt.image, result, tt.expected)
}
})
}
}
func TestReloaderDeploymentName(t *testing.T) {
tests := []struct {
name string
releaseName string
expected string
}{
{
name: "default release name",
releaseName: "",
expected: "reloader-reloader",
},
{
name: "custom release name",
releaseName: "my-reloader",
expected: "my-reloader-reloader",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := ReloaderDeploymentName(tt.releaseName)
if result != tt.expected {
t.Errorf("ReloaderDeploymentName(%q) = %q, want %q", tt.releaseName, result, tt.expected)
}
})
}
}
func TestReloaderPodSelector(t *testing.T) {
tests := []struct {
name string
releaseName string
expected string
}{
{
name: "default release name",
releaseName: "",
expected: "app=reloader-reloader",
},
{
name: "custom release name",
releaseName: "my-reloader",
expected: "app=my-reloader-reloader",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := ReloaderPodSelector(tt.releaseName)
if result != tt.expected {
t.Errorf("ReloaderPodSelector(%q) = %q, want %q", tt.releaseName, result, tt.expected)
}
})
}
}