fj/internal/api/client_test.go
sid c293e233d2
Some checks are pending
CI / lint (push) Waiting to run
CI / build (push) Waiting to run
CI / test (push) Waiting to run
CI / functional (push) Blocked by required conditions
feat: add directory-scoped host defaults (match_dirs) and repo list --limit
Add match_dirs field to host config entries for directory-based host
resolution. When no --hostname flag, FGJ_HOST env var, or git remote is
detected, the longest matching directory prefix determines the host.
Symlinks are resolved on both sides for macOS compatibility (/tmp →
/private/tmp). Also adds --limit/-L flag to repo list.
2026-03-23 12:42:24 -06:00

56 lines
1.5 KiB
Go

package api
import (
"testing"
"forgejo.zerova.net/sid/fgj-sid/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
}