WitNote / internal /cli /client_test.go
AUXteam's picture
Upload folder using huggingface_hub
6a7089a verified
package cli
import (
"testing"
)
func TestDoGetPrettyPrintsJSON(t *testing.T) {
m := newMockServer()
m.response = `{"a":1,"b":2}`
defer m.close()
client := m.server.Client()
// Just verify it doesn't panic with valid JSON
DoGet(client, m.base(), "", "/health", nil)
}
func TestDoGetNonJSON(t *testing.T) {
m := newMockServer()
m.response = "plain text response"
defer m.close()
client := m.server.Client()
// Should handle non-JSON gracefully
DoGet(client, m.base(), "", "/text", nil)
}
func TestDoPostContentType(t *testing.T) {
m := newMockServer()
defer m.close()
client := m.server.Client()
_ = DoPost(client, m.base(), "", "/action", map[string]any{"kind": "click"})
ct := m.lastHeaders.Get("Content-Type")
if ct != "application/json" {
t.Errorf("expected application/json, got %q", ct)
}
}
func TestResolveInstanceBase(t *testing.T) {
orch := newMockServer()
orch.response = `{"id":"abc123","port":"9901","status":"running"}`
defer orch.close()
got := ResolveInstanceBase(orch.base(), "", "abc123", "127.0.0.1")
if orch.lastPath != "/instances/abc123" {
t.Errorf("expected GET /instances/abc123, got %s", orch.lastPath)
}
if got != "http://127.0.0.1:9901" {
t.Errorf("ResolveInstanceBase = %q, want %q", got, "http://127.0.0.1:9901")
}
}
func TestResolveInstanceBase_ForwardsToken(t *testing.T) {
orch := newMockServer()
orch.response = `{"id":"xyz","port":"9902","status":"running"}`
defer orch.close()
ResolveInstanceBase(orch.base(), "my-token", "xyz", "localhost")
authHeader := orch.lastHeaders.Get("Authorization")
if authHeader != "Bearer my-token" {
t.Errorf("Authorization header = %q, want %q", authHeader, "Bearer my-token")
}
}