package sources import ( "strings" "testing" "gitea.maximumdirect.net/ejr/feedkit/config" fksource "gitea.maximumdirect.net/ejr/feedkit/sources" ) func TestRegisterBuiltinsRegistersNWSHourlyForecastDriver(t *testing.T) { reg := fksource.NewRegistry() RegisterBuiltins(reg) in, err := reg.BuildInput(sourceConfigForDriver("nws_forecast_hourly")) if err != nil { t.Fatalf("BuildInput(nws_forecast_hourly) error = %v", err) } if _, ok := in.(fksource.PollSource); !ok { t.Fatalf("BuildInput(nws_forecast_hourly) type = %T, want PollSource", in) } } func TestRegisterBuiltinsDoesNotRegisterLegacyNWSForecastDriver(t *testing.T) { reg := fksource.NewRegistry() RegisterBuiltins(reg) _, err := reg.BuildInput(sourceConfigForDriver("nws_forecast")) if err == nil { t.Fatalf("BuildInput(nws_forecast) expected unknown driver error") } if !strings.Contains(err.Error(), `unknown source driver: "nws_forecast"`) { t.Fatalf("error = %q, want unknown source driver for nws_forecast", err) } } func sourceConfigForDriver(driver string) config.SourceConfig { return config.SourceConfig{ Name: "test-source", Driver: driver, Mode: config.SourceModePoll, Params: map[string]any{ "url": "https://example.invalid", "user_agent": "test-agent", }, } }