mirror of
https://github.com/pgsty/minio.git
synced 2026-07-19 12:10:24 +03:00
Support bucket versioning (#9377)
- Implement a new xl.json 2.0.0 format to support, this moves the entire marshaling logic to POSIX layer, top layer always consumes a common FileInfo construct which simplifies the metadata reads. - Implement list object versions - Migrate to siphash from crchash for new deployments for object placements. Fixes #2111
This commit is contained in:
+14
-8
@@ -36,7 +36,7 @@ import (
|
||||
"github.com/minio/minio/pkg/bucket/policy"
|
||||
)
|
||||
|
||||
// API suite container common to both FS and XL.
|
||||
// API suite container common to both FS and Erasure.
|
||||
type TestSuiteCommon struct {
|
||||
serverType string
|
||||
testServer TestServer
|
||||
@@ -124,10 +124,10 @@ func TestServerSuite(t *testing.T) {
|
||||
{serverType: "FS", signer: signerV2},
|
||||
// Init and run test on FS backend, with tls enabled.
|
||||
{serverType: "FS", signer: signerV4, secure: true},
|
||||
// Init and run test on XL backend.
|
||||
{serverType: "XL", signer: signerV4},
|
||||
// Init and run test on XLSet backend.
|
||||
{serverType: "XLSet", signer: signerV4},
|
||||
// Init and run test on Erasure backend.
|
||||
{serverType: "Erasure", signer: signerV4},
|
||||
// Init and run test on ErasureSet backend.
|
||||
{serverType: "ErasureSet", signer: signerV4},
|
||||
}
|
||||
for i, testCase := range testCases {
|
||||
t.Run(fmt.Sprintf("Test: %d, ServerType: %s", i+1, testCase.serverType), func(t *testing.T) {
|
||||
@@ -516,7 +516,7 @@ func (s *TestSuiteCommon) TestDeleteMultipleObjects(c *check) {
|
||||
// assert the status of http response.
|
||||
c.Assert(response.StatusCode, http.StatusOK)
|
||||
// Append all objects.
|
||||
delObjReq.Objects = append(delObjReq.Objects, ObjectIdentifier{
|
||||
delObjReq.Objects = append(delObjReq.Objects, ObjectToDelete{
|
||||
ObjectName: objName,
|
||||
})
|
||||
}
|
||||
@@ -539,7 +539,10 @@ func (s *TestSuiteCommon) TestDeleteMultipleObjects(c *check) {
|
||||
c.Assert(err, nil)
|
||||
for i := 0; i < 10; i++ {
|
||||
// All the objects should be under deleted list (including non-existent object)
|
||||
c.Assert(deleteResp.DeletedObjects[i], delObjReq.Objects[i])
|
||||
c.Assert(deleteResp.DeletedObjects[i], DeletedObject{
|
||||
ObjectName: delObjReq.Objects[i].ObjectName,
|
||||
VersionID: delObjReq.Objects[i].VersionID,
|
||||
})
|
||||
}
|
||||
c.Assert(len(deleteResp.Errors), 0)
|
||||
|
||||
@@ -559,7 +562,10 @@ func (s *TestSuiteCommon) TestDeleteMultipleObjects(c *check) {
|
||||
c.Assert(err, nil)
|
||||
c.Assert(len(deleteResp.DeletedObjects), len(delObjReq.Objects))
|
||||
for i := 0; i < 10; i++ {
|
||||
c.Assert(deleteResp.DeletedObjects[i], delObjReq.Objects[i])
|
||||
c.Assert(deleteResp.DeletedObjects[i], DeletedObject{
|
||||
ObjectName: delObjReq.Objects[i].ObjectName,
|
||||
VersionID: delObjReq.Objects[i].VersionID,
|
||||
})
|
||||
}
|
||||
c.Assert(len(deleteResp.Errors), 0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user