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

Function TestCoreGetObjectMetadata

core_test.go:746–804  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

744}
745
746func TestCoreGetObjectMetadata(t *testing.T) {
747 if os.Getenv(serverEndpoint) == "" {
748 t.Skip("SERVER_ENDPOINT not set")
749 }
750 if testing.Short() {
751 t.Skip("skipping functional tests for the short runs")
752 }
753
754 core, err := NewCore(
755 os.Getenv(serverEndpoint),
756 &Options{
757 Creds: credentials.NewStaticV4(os.Getenv(accessKey), os.Getenv(secretKey), ""),
758 Secure: mustParseBool(os.Getenv(enableSecurity)),
759 })
760 if err != nil {
761 t.Fatal(err)
762 }
763
764 // Generate a new random bucket name.
765 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
766
767 // Make a new bucket.
768 err = core.MakeBucket(context.Background(), bucketName, MakeBucketOptions{Region: "us-east-1"})
769 if err != nil {
770 t.Fatal("Error:", err, bucketName)
771 }
772
773 metadata := map[string]string{
774 "X-Amz-Meta-Key-1": "Val-1",
775 }
776 putopts := PutObjectOptions{
777 UserMetadata: metadata,
778 }
779
780 _, err = core.PutObject(context.Background(), bucketName, "my-objectname",
781 bytes.NewReader([]byte("hello")), 5, "", "", putopts)
782 if err != nil {
783 t.Fatal(err)
784 }
785
786 reader, objInfo, _, err := core.GetObject(context.Background(), bucketName, "my-objectname", GetObjectOptions{})
787 if err != nil {
788 t.Fatal(err)
789 }
790 reader.Close()
791
792 if objInfo.Metadata.Get("X-Amz-Meta-Key-1") != "Val-1" {
793 t.Fatal("Expected metadata to be available but wasn't")
794 }
795
796 err = core.RemoveObject(context.Background(), bucketName, "my-objectname", RemoveObjectOptions{})
797 if err != nil {
798 t.Fatal("Error: ", err)
799 }
800 err = core.RemoveBucket(context.Background(), bucketName)
801 if err != nil {
802 t.Fatal("Error:", err)
803 }

Callers

nothing calls this directly

Calls 11

PutObjectMethod · 0.95
GetObjectMethod · 0.95
NewStaticV4Function · 0.92
NewCoreFunction · 0.85
MakeBucketMethod · 0.80
RemoveObjectMethod · 0.80
RemoveBucketMethod · 0.80
mustParseBoolFunction · 0.70
randStringFunction · 0.70
CloseMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected