package vllm import ( "context" "net/http" "net/http/httptest" "strings" "testing" "go.uber.org/zap" "iop/apps/node/internal/runtime" "iop/packages/go/config" ) func TestVllmCapabilitiesQueryModels(t *testing.T) { server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/v1/models" { t.Fatalf("unexpected path %s", r.URL.Path) } _, _ = w.Write([]byte(`{"object":"list","data":[{"id":"model-a"},{"id":"model-b"}]}`)) })) defer server.Close() adapter := New(config.VllmConf{Endpoint: server.URL}, zap.NewNop()) caps, err := adapter.Capabilities(context.Background()) if err != nil { t.Fatalf("Capabilities failed: %v", err) } if got := strings.Join(caps.Targets, ","); got != "model-a,model-b" { t.Fatalf("targets: got %q", got) } } func TestVllmExecuteDisabled(t *testing.T) { adapter := New(config.VllmConf{Endpoint: "http://localhost:8000"}, zap.NewNop()) err := adapter.Execute(context.Background(), runtime.ExecutionSpec{ RunID: "run-1", Target: "model-a", }, nil) if err == nil { t.Fatal("expected disabled execution error") } if !strings.Contains(err.Error(), "experimental adapter disabled") { t.Fatalf("expected experimental disabled error, got %v", err) } }