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) } }