MCPcopy Create free account
hub / github.com/AbelChe/evil_minio / testListObjectsVersionedFolders

Function testListObjectsVersionedFolders

cmd/object-api-listobjects_test.go:35–290  ·  view source on GitHub ↗
(obj ObjectLayer, instanceType string, t1 TestErrHandler)

Source from the content-addressed store, hash-verified

33}
34
35func testListObjectsVersionedFolders(obj ObjectLayer, instanceType string, t1 TestErrHandler) {
36 t, _ := t1.(*testing.T)
37 testBuckets := []string{
38 // This bucket is used for testing ListObject operations.
39 "test-bucket-folders",
40 // This bucket has file delete marker.
41 "test-bucket-files",
42 }
43 for _, bucket := range testBuckets {
44 err := obj.MakeBucket(context.Background(), bucket, MakeBucketOptions{
45 VersioningEnabled: true,
46 })
47 if err != nil {
48 t.Fatalf("%s : %s", instanceType, err.Error())
49 }
50 }
51
52 var err error
53 testObjects := []struct {
54 parentBucket string
55 name string
56 content string
57 meta map[string]string
58 addDeleteMarker bool
59 }{
60 {testBuckets[0], "unique/folder/", "", nil, true},
61 {testBuckets[0], "unique/folder/1.txt", "content", nil, false},
62 {testBuckets[1], "unique/folder/1.txt", "content", nil, true},
63 }
64 for _, object := range testObjects {
65 md5Bytes := md5.Sum([]byte(object.content))
66 _, err = obj.PutObject(context.Background(), object.parentBucket, object.name, mustGetPutObjReader(t, bytes.NewBufferString(object.content),
67 int64(len(object.content)), hex.EncodeToString(md5Bytes[:]), ""), ObjectOptions{
68 Versioned: globalBucketVersioningSys.PrefixEnabled(object.parentBucket, object.name),
69 UserDefined: object.meta,
70 })
71 if err != nil {
72 t.Fatalf("%s : %s", instanceType, err.Error())
73 }
74 if object.addDeleteMarker {
75 oi, err := obj.DeleteObject(context.Background(), object.parentBucket, object.name, ObjectOptions{
76 Versioned: globalBucketVersioningSys.PrefixEnabled(object.parentBucket, object.name),
77 })
78 if err != nil {
79 t.Fatalf("%s : %s", instanceType, err.Error())
80 }
81 if oi.DeleteMarker != object.addDeleteMarker {
82 t.Fatalf("Expected, marker %t : got %t", object.addDeleteMarker, oi.DeleteMarker)
83 }
84 }
85 }
86
87 // Formulating the result data set to be expected from ListObjects call inside the tests,
88 // This will be used in testCases and used for asserting the correctness of ListObjects output in the tests.
89
90 resultCases := []ListObjectsInfo{
91 {
92 IsTruncated: false,

Callers

nothing calls this directly

Calls 10

mustGetPutObjReaderFunction · 0.85
objInfoNamesFunction · 0.85
ContainsMethod · 0.80
MakeBucketMethod · 0.65
ErrorMethod · 0.65
PutObjectMethod · 0.65
DeleteObjectMethod · 0.65
ListObjectVersionsMethod · 0.65
ListObjectsMethod · 0.65
PrefixEnabledMethod · 0.45

Tested by

no test coverage detected