package api import ( "testing" "forgejo.zerova.net/public/fj/internal/config" ) func TestClient_Hostname(t *testing.T) { client := &Client{ hostname: "codeberg.org", } if client.Hostname() != "codeberg.org" { t.Errorf("Expected hostname 'codeberg.org', got '%s'", client.Hostname()) } } func TestNewClientFromConfig_MissingHost(t *testing.T) { cfg := &config.Config{ Hosts: map[string]config.HostConfig{}, } _, err := NewClientFromConfig(cfg, "nonexistent.org", "", "") if err == nil { t.Error("Expected error for nonexistent host") } } func TestNewClient_EmptyHostname(t *testing.T) { t.Skip("Skipping: NewClient makes actual network calls") // Empty hostname should default to codeberg.org // This test would require mocking the gitea client } func TestNewClient_WithHostname(t *testing.T) { t.Skip("Skipping: NewClient makes actual network calls") // This test would require mocking the gitea client } func TestNewClient_EmptyToken(t *testing.T) { t.Skip("Skipping: NewClient makes actual network calls") // Empty token should work (for public repos) // This test would require mocking the gitea client } func TestNewClientFromConfig_ValidHost(t *testing.T) { t.Skip("Skipping: NewClient makes actual network calls") // This test would require mocking the gitea client } func TestNewClientFromConfig_EmptyHostname(t *testing.T) { t.Skip("Skipping: NewClient makes actual network calls") // Empty hostname should trigger GetHost logic (falls back to codeberg.org) // This test would require mocking the gitea client }