diff --git a/internal/normalizers/spc/convective_outlook.go b/internal/normalizers/spc/convective_outlook.go index d6681c3..f858935 100644 --- a/internal/normalizers/spc/convective_outlook.go +++ b/internal/normalizers/spc/convective_outlook.go @@ -22,7 +22,6 @@ const ( providerSPC = "spc" productConvective = "convective" outlookNormalizer = "spc convective outlook" - outlookKind = "outlook" outlookTypeUnknown = 99 ) diff --git a/internal/sinks/postgres/map_test.go b/internal/sinks/postgres/map_test.go index 570d08b..f45c687 100644 --- a/internal/sinks/postgres/map_test.go +++ b/internal/sinks/postgres/map_test.go @@ -27,7 +27,7 @@ func TestMapPostgresEventObservationStructPayload(t *testing.T) { PresentWeather: []model.PresentWeather{{Raw: map[string]any{"a": 1, "b": "x"}}}, } - writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherObservationV1, "observation", obs)) + writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherObservationV1, standards.KindObservation, obs)) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -74,7 +74,7 @@ func TestMapPostgresEventForecastStructPayload(t *testing.T) { }, } - writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastV1, "forecast", run)) + writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastV1, standards.KindForecast, run)) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -122,7 +122,7 @@ func TestMapPostgresEventAlertStructPayload(t *testing.T) { }, } - writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherAlertV1, "alert", run)) + writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherAlertV1, standards.KindAlert, run)) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -163,7 +163,7 @@ func TestMapPostgresEventForecastDiscussionStructPayload(t *testing.T) { LongTerm: &model.WeatherForecastDiscussionSection{Text: "Long term text"}, } - writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastDiscussionV1, "forecast_discussion", run)) + writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastDiscussionV1, standards.KindForecastDiscussion, run)) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -213,7 +213,7 @@ func TestMapPostgresEventWeatherStoryStructPayload(t *testing.T) { }, } - writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherStoryV1, "weather_story", run)) + writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherStoryV1, standards.KindWeatherStory, run)) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -290,7 +290,7 @@ func TestMapPostgresEventOutlookStructPayload(t *testing.T) { }, } - writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, "outlook", run)) + writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, standards.KindOutlook, run)) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -332,7 +332,7 @@ func TestMapPostgresEventOutlookStructPayload(t *testing.T) { } func TestMapPostgresEventOutlookRejectsMissingAsOf(t *testing.T) { - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, "outlook", model.WeatherOutlookRun{})) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, standards.KindOutlook, model.WeatherOutlookRun{})) if err == nil { t.Fatalf("mapPostgresEvent() error = nil, want missing asOf error") } @@ -381,7 +381,7 @@ func TestMapPostgresEventOutlookRejectsMissingIDAndProvider(t *testing.T) { AsOf: time.Date(2026, 6, 11, 19, 45, 0, 0, time.UTC), Outlooks: []model.WeatherOutlook{outlook}, } - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, "outlook", run)) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, standards.KindOutlook, run)) if err == nil { t.Fatalf("mapPostgresEvent() error = nil, want %q", tt.wantErr) } @@ -405,7 +405,7 @@ func TestMapPostgresEventOutlookRejectsMissingRequiredTimes(t *testing.T) { Geometry: json.RawMessage(`{"type":"Polygon","coordinates":[[[-91,38],[-90,38],[-90,39],[-91,39],[-91,38]]]}`), }}, } - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, "outlook", run)) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, standards.KindOutlook, run)) if err == nil { t.Fatalf("mapPostgresEvent() error = nil, want missing time error") } @@ -430,7 +430,7 @@ func TestMapPostgresEventOutlookRejectsEmptyGeometry(t *testing.T) { ExpiresAt: time.Date(2026, 6, 12, 12, 0, 0, 0, time.UTC), }}, } - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, "outlook", run)) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherOutlookV1, standards.KindOutlook, run)) if err == nil { t.Fatalf("mapPostgresEvent() error = nil, want geometry error") } @@ -440,7 +440,7 @@ func TestMapPostgresEventOutlookRejectsEmptyGeometry(t *testing.T) { } func TestMapPostgresEventWeatherStoryRejectsMissingAsOf(t *testing.T) { - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherStoryV1, "weather_story", model.WeatherStoryRun{})) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherStoryV1, standards.KindWeatherStory, model.WeatherStoryRun{})) if err == nil { t.Fatalf("mapPostgresEvent() error = nil, want missing asOf error") } @@ -454,7 +454,7 @@ func TestMapPostgresEventWeatherStoryRejectsMissingStoryTimes(t *testing.T) { AsOf: time.Date(2026, 5, 30, 9, 0, 34, 0, time.UTC), Stories: []model.WeatherStory{{Title: "missing times"}}, } - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherStoryV1, "weather_story", run)) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherStoryV1, standards.KindWeatherStory, run)) if err == nil { t.Fatalf("mapPostgresEvent() error = nil, want missing story times error") } @@ -484,7 +484,7 @@ func TestMapPostgresEventMapPayload(t *testing.T) { t.Fatalf("json.Unmarshal() error = %v", err) } - writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastV1, "forecast", payload)) + writes, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastV1, standards.KindForecast, payload)) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -499,7 +499,7 @@ func TestMapPostgresEventMapPayload(t *testing.T) { } func TestMapPostgresEventUnknownSchemaNoOp(t *testing.T) { - writes, err := mapPostgresEvent(context.Background(), testEvent("weather.unknown.v1", "observation", map[string]any{"x": 1})) + writes, err := mapPostgresEvent(context.Background(), testEvent("weather.unknown.v1", standards.KindObservation, map[string]any{"x": 1})) if err != nil { t.Fatalf("mapPostgresEvent() error = %v", err) } @@ -509,7 +509,7 @@ func TestMapPostgresEventUnknownSchemaNoOp(t *testing.T) { } func TestMapPostgresEventMalformedPayload(t *testing.T) { - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastV1, "forecast", "bad")) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastV1, standards.KindForecast, "bad")) if err == nil { t.Fatalf("mapPostgresEvent() expected error for malformed payload") } @@ -519,7 +519,7 @@ func TestMapPostgresEventMalformedPayload(t *testing.T) { } func TestMapPostgresEventForecastDiscussionMalformedPayload(t *testing.T) { - _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastDiscussionV1, "forecast_discussion", "bad")) + _, err := mapPostgresEvent(context.Background(), testEvent(standards.SchemaWeatherForecastDiscussionV1, standards.KindForecastDiscussion, "bad")) if err == nil { t.Fatalf("mapPostgresEvent() expected error for malformed payload") }