package handler
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestValidateGVRParams(t *testing.T) {
tests := []struct {
name string
version string
resource string
wantErr bool
}{
{"all filled", "v1", "namespaces", false},
{"missing version", "", "storageclasses", true},
{"missing resource", "v1", "", true},
{"both empty", "", "", true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := validateGVRParams("", tt.version, tt.resource)
if tt.wantErr {
assert.Error(t, err)
} else {
assert.NoError(t, err)
}
})
}
}
func TestContainsSlash(t *testing.T) {
assert.True(t, containsSlash("pods/log"))
assert.False(t, containsSlash("pods"))
}
func TestGetClusterResourceHandlerSingleton(t *testing.T) {
h1 := GetClusterResourceHandler()
h2 := GetClusterResourceHandler()
assert.Equal(t, h1, h2)
}