(t *testing.T)
| 326 | } |
| 327 | |
| 328 | func TestObjectMultiWithDelete(t *testing.T) { |
| 329 | s := RunBasicJetStreamServer() |
| 330 | defer shutdownJSServerAndRemoveStorage(t, s) |
| 331 | |
| 332 | nc, js := jsClient(t, s) |
| 333 | defer nc.Close() |
| 334 | |
| 335 | obs, err := js.CreateObjectStore(&nats.ObjectStoreConfig{Bucket: "2OD"}) |
| 336 | expectOk(t, err) |
| 337 | |
| 338 | pa := bytes.Repeat([]byte("A"), 2_000_000) |
| 339 | pb := bytes.Repeat([]byte("B"), 3_000_000) |
| 340 | |
| 341 | _, err = obs.PutBytes("A", pa) |
| 342 | expectOk(t, err) |
| 343 | |
| 344 | // Hold onto this so we can make sure DeleteObject clears all messages, chunks and meta. |
| 345 | si, err := js.StreamInfo("OBJ_2OD") |
| 346 | expectOk(t, err) |
| 347 | |
| 348 | _, err = obs.PutBytes("B", pb) |
| 349 | expectOk(t, err) |
| 350 | |
| 351 | pb2, err := obs.GetBytes("B") |
| 352 | expectOk(t, err) |
| 353 | |
| 354 | if !bytes.Equal(pb, pb2) { |
| 355 | t.Fatalf("Did not retrieve same object") |
| 356 | } |
| 357 | |
| 358 | // Now delete B |
| 359 | err = obs.Delete("B") |
| 360 | expectOk(t, err) |
| 361 | |
| 362 | siad, err := js.StreamInfo("OBJ_2OD") |
| 363 | expectOk(t, err) |
| 364 | if siad.State.Msgs != si.State.Msgs+1 { // +1 more delete marker. |
| 365 | t.Fatalf("Expected to have %d msgs after delete, got %d", siad.State.Msgs, si.State.Msgs+1) |
| 366 | } |
| 367 | } |
| 368 | |
| 369 | func TestObjectNames(t *testing.T) { |
| 370 | s := RunBasicJetStreamServer() |
nothing calls this directly
no test coverage detected