refactor(go): keep realtime cache vin scoped
This commit is contained in:
@@ -297,7 +297,7 @@ func TestRepositoryOnlineStatus(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepositoryUpdatesPhoneOnlyVehicleKey(t *testing.T) {
|
||||
func TestRepositorySkipsFramesWithoutVIN(t *testing.T) {
|
||||
repo, closeFn := newTestRepository(t)
|
||||
defer closeFn()
|
||||
ctx := context.Background()
|
||||
@@ -315,23 +315,18 @@ func TestRepositoryUpdatesPhoneOnlyVehicleKey(t *testing.T) {
|
||||
t.Fatalf("Update() error = %v", err)
|
||||
}
|
||||
|
||||
vehicleKey := "JT808:13307811170"
|
||||
merged, err := repo.GetMerged(ctx, vehicleKey)
|
||||
if err != nil {
|
||||
t.Fatalf("GetMerged() error = %v", err)
|
||||
if _, err := repo.GetMerged(ctx, "JT808:13307811170"); err == nil {
|
||||
t.Fatal("phone-only frame should not create a merged realtime snapshot")
|
||||
}
|
||||
if merged.VehicleKey != vehicleKey || merged.VIN != "" {
|
||||
t.Fatalf("unexpected identity: %#v", merged)
|
||||
if _, err := repo.GetRealtimeRaw(ctx, "JT808:13307811170", envelope.ProtocolJT808); err == nil {
|
||||
t.Fatal("phone-only frame should not create realtime-raw")
|
||||
}
|
||||
if merged.Fields[envelope.FieldTotalMileageKM] != 10003.7 {
|
||||
t.Fatalf("merged fields = %#v", merged.Fields)
|
||||
}
|
||||
status, err := repo.IsOnline(ctx, vehicleKey)
|
||||
status, err := repo.IsOnline(ctx, "JT808:13307811170")
|
||||
if err != nil {
|
||||
t.Fatalf("IsOnline() error = %v", err)
|
||||
}
|
||||
if !status.Online || status.VehicleKey != vehicleKey {
|
||||
t.Fatalf("online status = %#v", status)
|
||||
if status.Online {
|
||||
t.Fatalf("phone-only frame should not mark realtime online: %#v", status)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,7 +399,7 @@ func TestHandlerReturnsMergedSnapshot(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandlerReturnsPhoneOnlyVehicleKeySnapshot(t *testing.T) {
|
||||
func TestHandlerReturnsNotFoundForPhoneOnlyVehicleKey(t *testing.T) {
|
||||
repo, closeFn := newTestRepository(t)
|
||||
defer closeFn()
|
||||
if err := repo.Update(context.Background(), envelope.FrameEnvelope{
|
||||
@@ -420,12 +415,9 @@ func TestHandlerReturnsPhoneOnlyVehicleKeySnapshot(t *testing.T) {
|
||||
req := httptest.NewRequest(http.MethodGet, "/api/realtime/vehicles/JT808:13307811170", nil)
|
||||
rec := httptest.NewRecorder()
|
||||
NewHandler(repo).ServeHTTP(rec, req)
|
||||
if rec.Code != http.StatusOK {
|
||||
if rec.Code != http.StatusNotFound {
|
||||
t.Fatalf("status = %d body=%s", rec.Code, rec.Body.String())
|
||||
}
|
||||
if !stringsContains(rec.Body.String(), `"vehicle_key":"JT808:13307811170"`) {
|
||||
t.Fatalf("unexpected body: %s", rec.Body.String())
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandlerReturnsRealtimeRaw(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user