MCPcopy
hub / github.com/minio/minio-go / TestCoreCopyObject

Function TestCoreCopyObject

core_test.go:376–501  ·  view source on GitHub ↗

Tests Core CopyObject API implementation.

(t *testing.T)

Source from the content-addressed store, hash-verified

374
375// Tests Core CopyObject API implementation.
376func TestCoreCopyObject(t *testing.T) {
377 if os.Getenv(serverEndpoint) == "" {
378 t.Skip("SERVER_ENDPOINT not set")
379 }
380 if testing.Short() {
381 t.Skip("skipping functional tests for short runs")
382 }
383
384 // Instantiate new minio client object.
385 c, err := NewCore(
386 os.Getenv(serverEndpoint),
387 &Options{
388 Creds: credentials.NewStaticV4(os.Getenv(accessKey), os.Getenv(secretKey), ""),
389 Secure: mustParseBool(os.Getenv(enableSecurity)),
390 })
391 if err != nil {
392 t.Fatal("Error:", err)
393 }
394
395 // Enable tracing, write to stderr.
396 // c.TraceOn(os.Stderr)
397
398 // Set user agent.
399 c.SetAppInfo("MinIO-go-FunctionalTest", "0.1.0")
400
401 // Generate a new random bucket name.
402 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
403
404 // Make a new bucket.
405 err = c.MakeBucket(context.Background(), bucketName, MakeBucketOptions{Region: "us-east-1"})
406 if err != nil {
407 t.Fatal("Error:", err, bucketName)
408 }
409
410 buf := bytes.Repeat([]byte("a"), 32*1024)
411
412 // Save the data
413 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
414
415 putopts := PutObjectOptions{
416 UserMetadata: map[string]string{
417 "Content-Type": "binary/octet-stream",
418 },
419 }
420 uploadInfo, err := c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(buf), int64(len(buf)), "", "", putopts)
421 if err != nil {
422 t.Fatal("Error:", err, bucketName, objectName)
423 }
424
425 st, err := c.StatObject(context.Background(), bucketName, objectName, StatObjectOptions{})
426 if err != nil {
427 t.Fatal("Error:", err, bucketName, objectName)
428 }
429
430 if st.Size != int64(len(buf)) {
431 t.Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), st.Size)
432 }
433

Callers

nothing calls this directly

Calls 15

PutObjectMethod · 0.95
CopyObjectMethod · 0.95
NewStaticV4Function · 0.92
NewCoreFunction · 0.85
SetAppInfoMethod · 0.80
MakeBucketMethod · 0.80
StatObjectMethod · 0.80
StatMethod · 0.80
RemoveObjectMethod · 0.80
RemoveBucketMethod · 0.80
mustParseBoolFunction · 0.70
randStringFunction · 0.70

Tested by

no test coverage detected