diff --git a/.github/workflows/jobs.yaml b/.github/workflows/jobs.yaml index d1f8051bc..bf91982da 100644 --- a/.github/workflows/jobs.yaml +++ b/.github/workflows/jobs.yaml @@ -830,7 +830,7 @@ jobs: result=${result%\%} echo "result:" echo $result - threshold=51.0 + threshold=51.4 if (( $(echo "$result >= $threshold" |bc -l) )); then echo "It is equal or greater than threshold, passed!" else diff --git a/Makefile b/Makefile index b3eb62fb2..ab894a5f9 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,7 @@ test-integration: @(docker network create --subnet=173.18.0.0/29 mynet123) @echo "docker run with MinIO Version below:" @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) @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) diff --git a/integration/user_api_bucket_test.go b/integration/user_api_bucket_test.go index 713c92346..b55bdfe81 100644 --- a/integration/user_api_bucket_test.go +++ b/integration/user_api_bucket_test.go @@ -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) { /* - Helper function to delete multiple objects in a container. - POST: /buckets/{bucket_name}/delete-objects - files: [ - { - "path": "veniam tempor in", - "versionID": "ea dolor Duis", - "recursive": false - }, - { - "path": "proident eu esse", - "versionID": "eiusmod amet commodo", - "recursive": true - } - ] + Helper function to delete multiple objects in a container. + POST: /buckets/{bucket_name}/delete-objects + Example of the data being sent: + [ + { + "path": "testdeletemultipleobjs1.txt", + "versionID": "", + "recursive": false + }, + { + "path": "testdeletemultipleobjs2.txt", + "versionID": "", + "recursive": false + }, + ] */ - requestDataAdd := map[string]interface{}{ - "files": files, - } - requestDataJSON, _ := json.Marshal(requestDataAdd) + requestDataJSON, _ := json.Marshal(files) requestDataBody := bytes.NewReader(requestDataJSON) request, err := http.NewRequest( "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++ { - deleteResponse, deleteError := DeleteObject( - bucketName, encodeBase64( - fileName+strconv.Itoa(i)+".txt"), false, false) - assert.Nil(deleteError) - if deleteError != nil { - log.Println(deleteError) - return - } - if deleteResponse != nil { - assert.Equal(200, deleteResponse.StatusCode, - inspectHTTPResponse(deleteResponse)) + files[i-1] = map[string]interface{}{ + "path": fileName + strconv.Itoa(i) + ".txt", + "versionID": "", + "recursive": false, } } + // 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! listResponse, listError := ListObjects(bucketName, "", "false") assert.Nil(listError)