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

Function TestObjectFileBasics

test/object_test.go:200–240  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

198}
199
200func TestObjectFileBasics(t *testing.T) {
201 s := RunBasicJetStreamServer()
202 defer shutdownJSServerAndRemoveStorage(t, s)
203
204 nc, js := jsClient(t, s)
205 defer nc.Close()
206
207 obs, err := js.CreateObjectStore(&nats.ObjectStoreConfig{Bucket: "FILES"})
208 expectOk(t, err)
209
210 // Create ~8MB object.
211 blob := make([]byte, 8*1024*1024+33)
212 rand.Read(blob)
213
214 tmpFile, err := os.CreateTemp("", "objfile")
215 expectOk(t, err)
216 defer os.Remove(tmpFile.Name()) // clean up
217 err = os.WriteFile(tmpFile.Name(), blob, 0600)
218 expectOk(t, err)
219
220 _, err = obs.PutFile(tmpFile.Name())
221 expectOk(t, err)
222
223 tmpResult, err := os.CreateTemp("", "objfileresult")
224 expectOk(t, err)
225 defer os.Remove(tmpResult.Name()) // clean up
226
227 err = obs.GetFile(tmpFile.Name(), tmpResult.Name())
228 expectOk(t, err)
229
230 // Make sure they are the same.
231 original, err := os.ReadFile(tmpFile.Name())
232 expectOk(t, err)
233
234 restored, err := os.ReadFile(tmpResult.Name())
235 expectOk(t, err)
236
237 if !bytes.Equal(original, restored) {
238 t.Fatalf("Files did not match")
239 }
240}
241
242func TestObjectMulti(t *testing.T) {
243 s := RunBasicJetStreamServer()

Callers

nothing calls this directly

Calls 12

EqualMethod · 0.80
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
jsClientFunction · 0.70
expectOkFunction · 0.70
CreateObjectStoreMethod · 0.65
NameMethod · 0.65
PutFileMethod · 0.65
GetFileMethod · 0.65
CloseMethod · 0.45
ReadMethod · 0.45

Tested by

no test coverage detected