package main import ( "testing" "lingniu-vehicle-ingest/go/vehicle-gateway/internal/envelope" ) func TestNATSSinkConfigFromEnvUsesExplicitSubjects(t *testing.T) { t.Setenv("NATS_URL", "nats://172.17.111.56:4222") t.Setenv("NATS_SUBJECT_GB32960_RAW", "custom.raw.gb32960") t.Setenv("NATS_SUBJECT_JT808_RAW", "custom.raw.jt808") t.Setenv("NATS_SUBJECT_YUTONG_MQTT_RAW", "custom.raw.yutong") t.Setenv("NATS_SUBJECT_UNIFIED", "custom.unified") cfg := natsSinkConfigFromEnv() if got, want := cfg.URL, "nats://172.17.111.56:4222"; got != want { t.Fatalf("URL = %q, want %q", got, want) } if got, want := cfg.RawSubjects[envelope.ProtocolGB32960], "custom.raw.gb32960"; got != want { t.Fatalf("gb32960 subject = %q, want %q", got, want) } if got, want := cfg.RawSubjects[envelope.ProtocolJT808], "custom.raw.jt808"; got != want { t.Fatalf("jt808 subject = %q, want %q", got, want) } if got, want := cfg.RawSubjects[envelope.ProtocolYutongMQTT], "custom.raw.yutong"; got != want { t.Fatalf("yutong subject = %q, want %q", got, want) } if got, want := cfg.UnifiedSubject, "custom.unified"; got != want { t.Fatalf("unified subject = %q, want %q", got, want) } }