Spaces:
Runtime error
Runtime error
File size: 2,598 Bytes
857a91b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | package store
import (
"testing"
"time"
)
func TestCloudTablesCoexistWithExistingData(t *testing.T) {
s := newTestStore(t)
// existing tables still work
u, err := s.Signup("Neo", "neo@zion.io", "redpill1", "")
if err != nil {
t.Fatal(err)
}
if _, err := s.CreateProfile(ModelProfile{WorkspaceID: u.WorkspaceID, SourceType: "huggingface", Provider: "Hugging Face", ExternalID: "x/y", DisplayName: "x/y"}); err != nil {
t.Fatalf("existing model_profiles broken: %v", err)
}
ws := u.WorkspaceID
// join token → register runtime → heartbeat
jt, secret, err := s.MintJoinToken(ws, u.ID, "my space", 1, time.Hour)
if err != nil || jt.ID == "" {
t.Fatalf("mint join token: %v", err)
}
gotWS, err := s.RedeemJoinToken(secret)
if err != nil || gotWS != ws {
t.Fatalf("redeem: ws=%s err=%v", gotWS, err)
}
if _, err := s.RedeemJoinToken(secret); err == nil {
t.Error("single-use join token redeemed twice")
}
rt, token, err := s.RegisterRuntime(Runtime{WorkspaceID: ws, Name: "maya-space", Mode: "hf-space", Kind: "hf-space", HFSpace: "maya/matrixcloud", Caps: []string{"mcp.test"}})
if err != nil || token == "" {
t.Fatalf("register runtime: %v", err)
}
if _, err := s.HeartbeatRuntime(token, "online", []string{"mcp.test", "model.inspect"}); err != nil {
t.Fatalf("heartbeat: %v", err)
}
if _, err := s.HeartbeatRuntime("bogus", "online", nil); err != ErrNotFound {
t.Errorf("expected ErrNotFound for bad token, got %v", err)
}
list, err := s.ListRuntimes(ws, time.Minute)
if err != nil || len(list) != 1 || list[0].Status != "online" || len(list[0].Caps) != 2 {
t.Fatalf("ListRuntimes = %+v err=%v", list, err)
}
_ = rt
// provider credential is encrypted at rest and recoverable server-side
if _, err := s.SetProviderCredential(ws, u.ID, "huggingface", "default", "hf_supersecret_token", map[string]any{"default_model": "Qwen/Qwen2.5-7B-Instruct"}); err != nil {
t.Fatalf("set credential: %v", err)
}
creds, _ := s.ListProviderCredentials(ws)
if len(creds) != 1 || creds[0].Hint == "" || creds[0].Hint == "hf_supersecret_token" {
t.Fatalf("credential should expose only a hint, got %+v", creds)
}
sec, err := s.ProviderSecret(ws, "huggingface", "default")
if err != nil || sec != "hf_supersecret_token" {
t.Fatalf("decrypt provider secret failed: %q %v", sec, err)
}
// usage metering
for i := 0; i < 3; i++ {
_ = s.RecordUsage(ws, u.ID, rt.ID, "model.inspect", 1, nil)
}
used, err := s.UsageSince(ws, time.Now().Add(-time.Hour))
if err != nil || used["model.inspect"] != 3 {
t.Fatalf("usage = %v err=%v", used, err)
}
}
|