(t *testing.T)
| 2373 | } |
| 2374 | |
| 2375 | func TestPublishWithScheduleTimeZone(t *testing.T) { |
| 2376 | srv := RunBasicJetStreamServer() |
| 2377 | defer shutdownJSServerAndRemoveStorage(t, srv) |
| 2378 | nc, err := nats.Connect(srv.ClientURL()) |
| 2379 | if err != nil { |
| 2380 | t.Fatalf("Unexpected error: %v", err) |
| 2381 | } |
| 2382 | defer nc.Close() |
| 2383 | |
| 2384 | js, err := jetstream.New(nc) |
| 2385 | if err != nil { |
| 2386 | t.Fatalf("Unexpected error: %v", err) |
| 2387 | } |
| 2388 | |
| 2389 | ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) |
| 2390 | defer cancel() |
| 2391 | stream, err := js.CreateStream(ctx, jetstream.StreamConfig{ |
| 2392 | Name: "SCHED", |
| 2393 | Subjects: []string{"schedule.>", "target.>"}, |
| 2394 | AllowMsgSchedules: true, |
| 2395 | }) |
| 2396 | if err != nil { |
| 2397 | t.Fatalf("Unexpected error: %v", err) |
| 2398 | } |
| 2399 | |
| 2400 | ack, err := js.Publish(ctx, "schedule.tz", nil, |
| 2401 | jetstream.WithScheduleCron("0 0 9 * * *"), |
| 2402 | jetstream.WithScheduleTarget("target.tz"), |
| 2403 | jetstream.WithScheduleTimeZone("America/New_York"), |
| 2404 | ) |
| 2405 | if err != nil { |
| 2406 | t.Fatalf("Unexpected error: %v", err) |
| 2407 | } |
| 2408 | gotMsg, err := stream.GetMsg(ctx, ack.Sequence) |
| 2409 | if err != nil { |
| 2410 | t.Fatalf("Unexpected error: %v", err) |
| 2411 | } |
| 2412 | if got := gotMsg.Header.Get(jetstream.ScheduleTimeZoneHeader); got != "America/New_York" { |
| 2413 | t.Fatalf("Expected schedule time zone header %q; got: %q", "America/New_York", got) |
| 2414 | } |
| 2415 | } |
| 2416 | |
| 2417 | func TestPublishAsyncWithSchedule(t *testing.T) { |
| 2418 | srv := RunBasicJetStreamServer() |
nothing calls this directly
no test coverage detected