(t *testing.T)
| 304 | } |
| 305 | |
| 306 | func TestObjectMulti(t *testing.T) { |
| 307 | s := RunBasicJetStreamServer() |
| 308 | defer shutdownJSServerAndRemoveStorage(t, s) |
| 309 | |
| 310 | nc, js := jsClient(t, s) |
| 311 | defer nc.Close() |
| 312 | ctx := context.Background() |
| 313 | |
| 314 | obs, err := js.CreateObjectStore(ctx, jetstream.ObjectStoreConfig{Bucket: "TEST_FILES"}) |
| 315 | expectOk(t, err) |
| 316 | |
| 317 | numFiles := 0 |
| 318 | fis, _ := os.ReadDir(".") |
| 319 | for _, fi := range fis { |
| 320 | fn := fi.Name() |
| 321 | // Just grab clean test files. |
| 322 | if filepath.Ext(fn) != ".go" || fn[0] == '.' || fn[0] == '#' { |
| 323 | continue |
| 324 | } |
| 325 | _, err = obs.PutFile(ctx, fn) |
| 326 | expectOk(t, err) |
| 327 | numFiles++ |
| 328 | } |
| 329 | expectOk(t, obs.Seal(ctx)) |
| 330 | |
| 331 | _, err = js.Stream(ctx, "OBJ_TEST_FILES") |
| 332 | expectOk(t, err) |
| 333 | |
| 334 | result, err := obs.Get(ctx, "object_test.go") |
| 335 | expectOk(t, err) |
| 336 | expectOk(t, result.Error()) |
| 337 | defer result.Close() |
| 338 | |
| 339 | _, err = result.Info() |
| 340 | expectOk(t, err) |
| 341 | |
| 342 | copy, err := io.ReadAll(result) |
| 343 | expectOk(t, err) |
| 344 | |
| 345 | orig, err := os.ReadFile(path.Join(".", "object_test.go")) |
| 346 | expectOk(t, err) |
| 347 | |
| 348 | if !bytes.Equal(orig, copy) { |
| 349 | t.Fatalf("Files did not match") |
| 350 | } |
| 351 | } |
| 352 | |
| 353 | func TestObjectDeleteMarkers(t *testing.T) { |
| 354 | s := RunBasicJetStreamServer() |
nothing calls this directly
no test coverage detected