feat(platform): harden telemetry pipeline and unify Semi UI workspaces
This commit is contained in:
@@ -187,7 +187,9 @@ func TestUpsertSourceMileageTruncatesSubsecondEventTimesAtDayBoundary(t *testing
|
||||
func TestUpsertSourceMileageUsesEventTimeBoundaries(t *testing.T) {
|
||||
for _, want := range []string{
|
||||
"first_total_mileage_km = CASE",
|
||||
"VALUES(first_event_time) >= first_event_time",
|
||||
"VALUES(first_event_time) <= first_event_time",
|
||||
"VALUES(first_event_time) < CAST(CONCAT(VALUES(stat_date), ' 00:00:00') AS DATETIME)",
|
||||
"latest_total_mileage_km = CASE",
|
||||
"VALUES(latest_event_time) >= latest_event_time",
|
||||
"daily_mileage_km = CASE",
|
||||
@@ -334,6 +336,22 @@ func TestNormalizePlatformSourceMileageMergesLegacyIPKeys(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizePlatformSourceMileageExcludesIncompleteLegacyTotals(t *testing.T) {
|
||||
for name, query := range map[string]string{
|
||||
"insert": normalizePlatformSourceMileageInsertSQL,
|
||||
"delete": normalizePlatformSourceMileageDeleteSQL,
|
||||
} {
|
||||
for _, predicate := range []string{
|
||||
"s.first_total_mileage_km IS NOT NULL",
|
||||
"s.latest_total_mileage_km IS NOT NULL",
|
||||
} {
|
||||
if !strings.Contains(query, predicate) {
|
||||
t.Fatalf("%s query missing incomplete-total guard %q:\n%s", name, predicate, query)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizePlatformSourceMileageForDateNormalizesAndProjectsLegacyVINs(t *testing.T) {
|
||||
db, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual))
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user