package docker import ( "context" "os" "testing" "time" ) // TestIntegrationCompose — wrapper CLI compose terhadap daemon nyata. func TestIntegrationCompose(t *testing.T) { if _, err := os.Stat("/var/run/docker.sock"); err != nil { t.Skip("docker socket tidak ada") } c := NewCompose("docker compose", "docker") ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) defer cancel() ver, err := c.Version(ctx) if err != nil { t.Skipf("compose CLI tidak tersedia: %v", err) } t.Logf("compose versi %s", ver) projects, err := c.List(ctx) if err != nil { t.Fatalf("List: %v", err) } t.Logf("project compose terdeteksi: %d", len(projects)) for i, p := range projects { if i >= 3 { break } t.Logf(" - %-20s %-12s %v", p.Name, p.Status, p.ConfigFileList()) } }