MCPcopy
hub / github.com/nats-io/nats.go / TestPublishWithScheduleTimeZone

Function TestPublishWithScheduleTimeZone

jetstream/test/publish_test.go:2375–2415  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2373}
2374
2375func 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
2417func TestPublishAsyncWithSchedule(t *testing.T) {
2418 srv := RunBasicJetStreamServer()

Callers

nothing calls this directly

Calls 13

NewFunction · 0.92
WithScheduleCronFunction · 0.92
WithScheduleTargetFunction · 0.92
WithScheduleTimeZoneFunction · 0.92
ConnectMethod · 0.80
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
CreateStreamMethod · 0.65
PublishMethod · 0.65
GetMsgMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected