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

Function TestObjectDeleteMarkers

jetstream/test/object_test.go:353–392  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

351}
352
353func TestObjectDeleteMarkers(t *testing.T) {
354 s := RunBasicJetStreamServer()
355 defer shutdownJSServerAndRemoveStorage(t, s)
356
357 nc, js := jsClient(t, s)
358 defer nc.Close()
359 ctx := context.Background()
360
361 obs, err := js.CreateObjectStore(ctx, jetstream.ObjectStoreConfig{Bucket: "OBJS"})
362 expectOk(t, err)
363
364 msg := bytes.Repeat([]byte("A"), 100)
365 _, err = obs.PutBytes(ctx, "A", msg)
366 expectOk(t, err)
367
368 err = obs.Delete(ctx, "A")
369 expectOk(t, err)
370
371 si, err := js.Stream(ctx, "OBJ_OBJS")
372 expectOk(t, err)
373
374 // We should have one message left, the "delete" marker.
375 if si.CachedInfo().State.Msgs != 1 {
376 t.Fatalf("Expected 1 marker msg, got %d msgs", si.CachedInfo().State.Msgs)
377 }
378 // For deleted object return error
379 _, err = obs.GetInfo(ctx, "A")
380 expectErr(t, err, jetstream.ErrObjectNotFound)
381 _, err = obs.Get(ctx, "A")
382 expectErr(t, err, jetstream.ErrObjectNotFound)
383
384 info, err := obs.GetInfo(ctx, "A", jetstream.GetObjectInfoShowDeleted())
385 expectOk(t, err)
386 // Make sure we have a delete marker, this will be there to drive Watch functionality.
387 if !info.Deleted {
388 t.Fatalf("Expected info to be marked as deleted")
389 }
390 _, err = obs.Get(ctx, "A", jetstream.GetObjectShowDeleted())
391 expectOk(t, err)
392}
393
394func TestObjectMultiWithDelete(t *testing.T) {
395 s := RunBasicJetStreamServer()

Callers

nothing calls this directly

Calls 15

GetObjectInfoShowDeletedFunction · 0.92
GetObjectShowDeletedFunction · 0.92
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
jsClientFunction · 0.70
expectOkFunction · 0.70
expectErrFunction · 0.70
CreateObjectStoreMethod · 0.65
PutBytesMethod · 0.65
DeleteMethod · 0.65
StreamMethod · 0.65

Tested by

no test coverage detected