feat(platform): harden telemetry pipeline and unify Semi UI workspaces

This commit is contained in:
lingniu
2026-07-18 00:26:36 +08:00
parent 65b4e4f055
commit 159c80b0ae
136 changed files with 21616 additions and 1785 deletions

View File

@@ -4,6 +4,7 @@ import (
"bytes"
"context"
"encoding/json"
"errors"
"net/http"
"net/http/httptest"
"regexp"
@@ -15,6 +16,33 @@ import (
"github.com/DATA-DOG/go-sqlmock"
)
func TestAlertSchemaProbeRetriesAfterCanceledRequestAndCachesSuccess(t *testing.T) {
db, mock, err := sqlmock.New()
if err != nil {
t.Fatal(err)
}
defer db.Close()
store := NewProductionStore(db, nil, "")
ctx, cancel := context.WithCancel(context.Background())
cancel()
if err := store.ensureAlertSchema(ctx); !errors.Is(err, context.Canceled) {
t.Fatalf("expected canceled schema probe, got %v", err)
}
mock.ExpectQuery(regexp.QuoteMeta(`SELECT COUNT(*) FROM vehicle_alert_rule`)).
WillReturnRows(sqlmock.NewRows([]string{"count"}).AddRow(1))
if err := store.ensureAlertSchema(t.Context()); err != nil {
t.Fatalf("expected retry to succeed, got %v", err)
}
if err := store.ensureAlertSchema(t.Context()); err != nil {
t.Fatalf("expected successful probe to stay cached, got %v", err)
}
if err := mock.ExpectationsWereMet(); err != nil {
t.Fatal(err)
}
}
type configuredMetricStore struct {
*MockStore
definitions []MetricDefinition