| package cli |
|
|
| import ( |
| "testing" |
| ) |
|
|
| func TestDoGetPrettyPrintsJSON(t *testing.T) { |
| m := newMockServer() |
| m.response = `{"a":1,"b":2}` |
| defer m.close() |
| client := m.server.Client() |
|
|
| |
| 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() |
|
|
| |
| 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") |
| } |
| } |
|
|