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

Function TestObjectMulti

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

Source from the content-addressed store, hash-verified

304}
305
306func 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
353func TestObjectDeleteMarkers(t *testing.T) {
354 s := RunBasicJetStreamServer()

Callers

nothing calls this directly

Calls 15

EqualMethod · 0.80
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
jsClientFunction · 0.70
expectOkFunction · 0.70
CreateObjectStoreMethod · 0.65
NameMethod · 0.65
PutFileMethod · 0.65
SealMethod · 0.65
StreamMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected