To use DeleteMultipleObjects func and be able to debug via Browser (#1730)

This commit is contained in:
Cesar Celis Hernandez
2022-03-17 14:27:45 -04:00
committed by GitHub
parent 0c38e93b83
commit 39453de8fb
3 changed files with 39 additions and 32 deletions

View File

@@ -830,7 +830,7 @@ jobs:
result=${result%\%} result=${result%\%}
echo "result:" echo "result:"
echo $result echo $result
threshold=51.0 threshold=51.4
if (( $(echo "$result >= $threshold" |bc -l) )); then if (( $(echo "$result >= $threshold" |bc -l) )); then
echo "It is equal or greater than threshold, passed!" echo "It is equal or greater than threshold, passed!"
else else

View File

@@ -72,7 +72,7 @@ test-integration:
@(docker network create --subnet=173.18.0.0/29 mynet123) @(docker network create --subnet=173.18.0.0/29 mynet123)
@echo "docker run with MinIO Version below:" @echo "docker run with MinIO Version below:"
@echo $(MINIO_VERSION) @echo $(MINIO_VERSION)
@(docker run -v /data1 -v /data2 -v /data3 -v /data4 --net=mynet123 -d --name minio --rm -p 9000:9000 -e MINIO_KMS_SECRET_KEY=my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw= $(MINIO_VERSION) server /data{1...4} && sleep 5) @(docker run -v /data1 -v /data2 -v /data3 -v /data4 --net=mynet123 -d --name minio --rm -p 9000:9000 -p 9001:9001 -e MINIO_KMS_SECRET_KEY=my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw= $(MINIO_VERSION) server /data{1...4} --console-address ':9001' && sleep 5)
@(docker run --net=mynet123 --ip=173.18.0.3 --name pgsqlcontainer --rm -p 5432:5432 -e POSTGRES_PASSWORD=password -d postgres && sleep 5) @(docker run --net=mynet123 --ip=173.18.0.3 --name pgsqlcontainer --rm -p 5432:5432 -e POSTGRES_PASSWORD=password -d postgres && sleep 5)
@echo "execute test and get coverage" @echo "execute test and get coverage"
@(cd integration && go test -coverpkg=../restapi -c -tags testrunmain . && mkdir -p coverage && ./integration.test -test.run "^Test*" -test.coverprofile=coverage/system.out) @(cd integration && go test -coverpkg=../restapi -c -tags testrunmain . && mkdir -p coverage && ./integration.test -test.run "^Test*" -test.coverprofile=coverage/system.out)

View File

@@ -232,25 +232,23 @@ func PutObjectTags(bucketName string, prefix string, tags map[string]string, ver
func DeleteMultipleObjects(bucketName string, files []map[string]interface{}) (*http.Response, error) { func DeleteMultipleObjects(bucketName string, files []map[string]interface{}) (*http.Response, error) {
/* /*
Helper function to delete multiple objects in a container. Helper function to delete multiple objects in a container.
POST: /buckets/{bucket_name}/delete-objects POST: /buckets/{bucket_name}/delete-objects
files: [ Example of the data being sent:
{ [
"path": "veniam tempor in", {
"versionID": "ea dolor Duis", "path": "testdeletemultipleobjs1.txt",
"recursive": false "versionID": "",
}, "recursive": false
{ },
"path": "proident eu esse", {
"versionID": "eiusmod amet commodo", "path": "testdeletemultipleobjs2.txt",
"recursive": true "versionID": "",
} "recursive": false
] },
]
*/ */
requestDataAdd := map[string]interface{}{ requestDataJSON, _ := json.Marshal(files)
"files": files,
}
requestDataJSON, _ := json.Marshal(requestDataAdd)
requestDataBody := bytes.NewReader(requestDataJSON) requestDataBody := bytes.NewReader(requestDataJSON)
request, err := http.NewRequest( request, err := http.NewRequest(
"POST", "POST",
@@ -1767,22 +1765,31 @@ func TestDeleteMultipleObjects(t *testing.T) {
} }
} }
// 3. Delete these objects // Prepare the files for deletion
files := make([]map[string]interface{}, numberOfFiles)
for i := 1; i <= numberOfFiles; i++ { for i := 1; i <= numberOfFiles; i++ {
deleteResponse, deleteError := DeleteObject( files[i-1] = map[string]interface{}{
bucketName, encodeBase64( "path": fileName + strconv.Itoa(i) + ".txt",
fileName+strconv.Itoa(i)+".txt"), false, false) "versionID": "",
assert.Nil(deleteError) "recursive": false,
if deleteError != nil {
log.Println(deleteError)
return
}
if deleteResponse != nil {
assert.Equal(200, deleteResponse.StatusCode,
inspectHTTPResponse(deleteResponse))
} }
} }
// 3. Delete these objects all at once
deleteResponse, deleteError := DeleteMultipleObjects(
bucketName,
files,
)
assert.Nil(deleteError)
if deleteError != nil {
log.Println(deleteError)
return
}
if deleteResponse != nil {
assert.Equal(200, deleteResponse.StatusCode,
inspectHTTPResponse(deleteResponse))
}
// 4. List the objects, empty list is expected! // 4. List the objects, empty list is expected!
listResponse, listError := ListObjects(bucketName, "", "false") listResponse, listError := ListObjects(bucketName, "", "false")
assert.Nil(listError) assert.Nil(listError)