diff --git a/cmd/soundtouch-cli/main.go b/cmd/soundtouch-cli/main.go index 8ada22f..edc0697 100644 --- a/cmd/soundtouch-cli/main.go +++ b/cmd/soundtouch-cli/main.go @@ -830,6 +830,7 @@ func handleSources(host string, port int, timeout time.Duration) error { availableSources := sources.GetAvailableSources() if len(availableSources) > 0 { fmt.Printf("Ready Sources:\n") + for _, source := range availableSources { fmt.Printf(" • %s", source.GetDisplayName()) if source.SourceAccount != "" && source.SourceAccount != source.Source { @@ -1017,6 +1018,7 @@ func handleCapabilities(host string, port int, timeout time.Duration) error { capNames := capabilities.GetCapabilityNames() if len(capNames) > 0 { fmt.Printf("Extended Capabilities:\n") + for _, capName := range capNames { capability := capabilities.GetCapabilityByName(capName) fmt.Printf(" • %s", capName) @@ -2062,6 +2064,7 @@ func handleGetZoneMembers(client *client.Client) error { fmt.Printf(" Total Devices: %d\n", len(members)) fmt.Printf(" Master: %s\n", zone.Master) fmt.Printf(" Members:\n") + for i, memberID := range members { if memberID == zone.Master { fmt.Printf(" %d. %s (Master)\n", i+1, memberID) diff --git a/pkg/client/bass_test.go b/pkg/client/bass_test.go index 0faf5ce..3afd80b 100644 --- a/pkg/client/bass_test.go +++ b/pkg/client/bass_test.go @@ -447,6 +447,7 @@ func TestClient_DecreaseBass(t *testing.T) { if r.Method == "GET" && r.URL.Path == "/bass" { getCallCount++ var response string + if getCallCount == 1 { // First call - return current bass if tt.currentBass == 3 { diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index 71f6d00..ddced5e 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -431,7 +431,6 @@ func TestClient_GetNowPlaying_ServerError(t *testing.T) { }) _, err := client.GetNowPlaying() - if err == nil { t.Error("Expected error for server error response") } @@ -622,7 +621,6 @@ func TestClient_GetSources_ServerError(t *testing.T) { }) _, err := client.GetSources() - if err == nil { t.Error("Expected error for server error response") } diff --git a/pkg/client/source_selection_integration_test.go b/pkg/client/source_selection_integration_test.go index 173c898..7f3de23 100644 --- a/pkg/client/source_selection_integration_test.go +++ b/pkg/client/source_selection_integration_test.go @@ -302,6 +302,7 @@ func TestClient_ConvenienceSourceMethods_Integration(t *testing.T) { } else { t.Log("✓ SelectTuneIn succeeded") } + break } } @@ -321,6 +322,7 @@ func TestClient_ConvenienceSourceMethods_Integration(t *testing.T) { } else { t.Log("✓ SelectPandora succeeded") } + break } } diff --git a/pkg/client/source_selection_test.go b/pkg/client/source_selection_test.go index ce7250f..a18d699 100644 --- a/pkg/client/source_selection_test.go +++ b/pkg/client/source_selection_test.go @@ -359,6 +359,7 @@ func TestClient_ConvenienceSourceMethods(t *testing.T) { // Call the appropriate convenience method var err error + switch tt.method { case "spotify": err = client.SelectSpotify(tt.sourceAccount) diff --git a/pkg/client/websocket_test.go b/pkg/client/websocket_test.go index a437a57..20cc28b 100644 --- a/pkg/client/websocket_test.go +++ b/pkg/client/websocket_test.go @@ -49,6 +49,7 @@ func setupMockWebSocketServer(t *testing.T) (*httptest.Server, chan []byte) { t.Errorf("Failed to upgrade connection: %v", err) return } + defer func() { _ = conn.Close() }() diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 65ccd68..68fe3f3 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -217,6 +217,7 @@ func TestParseDeviceString_EmptyHost(t *testing.T) { func TestParsePreferredDevices_SingleDevice(t *testing.T) { clearTestEnvVars() _ = os.Setenv("PREFERRED_DEVICES", "192.168.1.100") + defer clearTestEnvVars() devices, err := parsePreferredDevices() @@ -284,6 +285,7 @@ func TestParsePreferredDevices_MultipleDevices(t *testing.T) { func TestParsePreferredDevices_EmptyString(t *testing.T) { clearTestEnvVars() _ = os.Setenv("PREFERRED_DEVICES", "") + defer clearTestEnvVars() devices, err := parsePreferredDevices() @@ -299,6 +301,7 @@ func TestParsePreferredDevices_EmptyString(t *testing.T) { func TestParsePreferredDevices_InvalidDevice(t *testing.T) { clearTestEnvVars() _ = os.Setenv("PREFERRED_DEVICES", "192.168.1.100:invalid") + defer clearTestEnvVars() _, err := parsePreferredDevices() diff --git a/pkg/discovery/mdns.go b/pkg/discovery/mdns.go index c05c3c4..6854dd7 100644 --- a/pkg/discovery/mdns.go +++ b/pkg/discovery/mdns.go @@ -55,7 +55,6 @@ func (m *MDNSDiscoveryService) DiscoverDevices(ctx context.Context) ([]*models.D Timeout: m.timeout, Entries: entries, }) - if err != nil { log.Printf("mDNS query completed with error: %v", err) } else { @@ -105,10 +104,12 @@ func (m *MDNSDiscoveryService) serviceEntryToDevice(entry *mdns.ServiceEntry) *m case entry.AddrV4 != nil: host = entry.AddrV4.String() ipSource = "IPv4" + log.Printf("mDNS: Using IPv4 address: %s", host) case entry.AddrV6 != nil: host = entry.AddrV6.String() ipSource = "IPv6" + log.Printf("mDNS: Using IPv6 address: %s", host) default: // Try to resolve from hostname @@ -124,7 +125,9 @@ func (m *MDNSDiscoveryService) serviceEntryToDevice(entry *mdns.ServiceEntry) *m if ip.To4() != nil { host = ip.String() ipSource = "resolved IPv4" + log.Printf("mDNS: Resolved to IPv4 address: %s", host) + break } } diff --git a/pkg/models/websocket_test.go b/pkg/models/websocket_test.go index f015da2..d4870e6 100644 --- a/pkg/models/websocket_test.go +++ b/pkg/models/websocket_test.go @@ -385,6 +385,7 @@ func BenchmarkParseWebSocketEvent(b *testing.B) { ` b.ResetTimer() + for i := 0; i < b.N; i++ { _, err := ParseWebSocketEvent([]byte(xmlData)) if err != nil { @@ -402,6 +403,7 @@ func BenchmarkWebSocketEventGetEventTypes(b *testing.B) { } b.ResetTimer() + for i := 0; i < b.N; i++ { _ = event.GetEventTypes() }