Moves setup files into embedded package.
This commit is contained in:
164
internal/setup/embedded_test.go
Normal file
164
internal/setup/embedded_test.go
Normal file
@@ -0,0 +1,164 @@
|
||||
package setup
|
||||
|
||||
import (
|
||||
"io/fs"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestListServices(t *testing.T) {
|
||||
services, err := ListServices()
|
||||
if err != nil {
|
||||
t.Fatalf("ListServices failed: %v", err)
|
||||
}
|
||||
|
||||
if len(services) == 0 {
|
||||
t.Fatal("Expected at least one service, got none")
|
||||
}
|
||||
|
||||
t.Logf("Found %d services: %v", len(services), services)
|
||||
|
||||
// Check for known services
|
||||
expectedServices := []string{"traefik", "metallb", "coredns"}
|
||||
for _, expected := range expectedServices {
|
||||
found := false
|
||||
for _, service := range services {
|
||||
if service == expected {
|
||||
found = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !found {
|
||||
t.Errorf("Expected service %q not found in list", expected)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestServiceExists(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
service string
|
||||
expected bool
|
||||
}{
|
||||
{"existing service", "traefik", true},
|
||||
{"non-existent service", "nonexistent", false},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
exists := ServiceExists(tt.service)
|
||||
if exists != tt.expected {
|
||||
t.Errorf("ServiceExists(%q) = %v, want %v", tt.service, exists, tt.expected)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetManifest(t *testing.T) {
|
||||
services, err := ListServices()
|
||||
if err != nil {
|
||||
t.Fatalf("ListServices failed: %v", err)
|
||||
}
|
||||
|
||||
if len(services) == 0 {
|
||||
t.Skip("No services to test")
|
||||
}
|
||||
|
||||
// Test the first service
|
||||
serviceName := services[0]
|
||||
manifest, err := GetManifest(serviceName)
|
||||
if err != nil {
|
||||
t.Fatalf("GetManifest(%q) failed: %v", serviceName, err)
|
||||
}
|
||||
|
||||
if manifest.Name == "" {
|
||||
t.Error("Manifest name is empty")
|
||||
}
|
||||
|
||||
t.Logf("Service: %s, Manifest: %+v", serviceName, manifest)
|
||||
}
|
||||
|
||||
func TestGetServiceFile(t *testing.T) {
|
||||
// Test getting wild-manifest.yaml
|
||||
data, err := GetServiceFile("traefik", "wild-manifest.yaml")
|
||||
if err != nil {
|
||||
t.Fatalf("GetServiceFile failed: %v", err)
|
||||
}
|
||||
|
||||
if len(data) == 0 {
|
||||
t.Error("Expected non-empty file data")
|
||||
}
|
||||
|
||||
t.Logf("Retrieved wild-manifest.yaml, size: %d bytes", len(data))
|
||||
}
|
||||
|
||||
func TestGetServiceFS(t *testing.T) {
|
||||
serviceFS, err := GetServiceFS("traefik")
|
||||
if err != nil {
|
||||
t.Fatalf("GetServiceFS failed: %v", err)
|
||||
}
|
||||
|
||||
// Verify we can read the filesystem
|
||||
entries, err := fs.ReadDir(serviceFS, ".")
|
||||
if err != nil {
|
||||
t.Fatalf("ReadDir failed: %v", err)
|
||||
}
|
||||
|
||||
if len(entries) == 0 {
|
||||
t.Error("Expected non-empty service directory")
|
||||
}
|
||||
|
||||
t.Logf("Service FS entries: %d", len(entries))
|
||||
for _, entry := range entries {
|
||||
t.Logf(" - %s (dir: %v)", entry.Name(), entry.IsDir())
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetKustomizeTemplate(t *testing.T) {
|
||||
templateFS, err := GetKustomizeTemplate("traefik")
|
||||
if err != nil {
|
||||
t.Fatalf("GetKustomizeTemplate failed: %v", err)
|
||||
}
|
||||
|
||||
// Verify we can read the template filesystem
|
||||
entries, err := fs.ReadDir(templateFS, ".")
|
||||
if err != nil {
|
||||
t.Fatalf("ReadDir failed: %v", err)
|
||||
}
|
||||
|
||||
if len(entries) == 0 {
|
||||
t.Error("Expected non-empty kustomize.template directory")
|
||||
}
|
||||
|
||||
t.Logf("Kustomize template entries: %d", len(entries))
|
||||
for _, entry := range entries {
|
||||
t.Logf(" - %s (dir: %v)", entry.Name(), entry.IsDir())
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetNonExistentService(t *testing.T) {
|
||||
_, err := GetManifest("nonexistent-service")
|
||||
if err == nil {
|
||||
t.Error("Expected error for non-existent service, got nil")
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetClusterNodesFS(t *testing.T) {
|
||||
clusterNodesFS, err := GetClusterNodesFS()
|
||||
if err != nil {
|
||||
t.Fatalf("GetClusterNodesFS failed: %v", err)
|
||||
}
|
||||
|
||||
entries, err := fs.ReadDir(clusterNodesFS, ".")
|
||||
if err != nil {
|
||||
t.Fatalf("ReadDir failed: %v", err)
|
||||
}
|
||||
|
||||
if len(entries) == 0 {
|
||||
t.Error("Expected non-empty cluster-nodes directory")
|
||||
}
|
||||
|
||||
t.Logf("Cluster-nodes entries: %d", len(entries))
|
||||
for _, entry := range entries {
|
||||
t.Logf(" - %s (dir: %v)", entry.Name(), entry.IsDir())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user