To use DeleteMultipleObjects func and be able to debug via Browser (#1730)
This commit is contained in:
committed by
GitHub
parent
0c38e93b83
commit
39453de8fb
2
.github/workflows/jobs.yaml
vendored
2
.github/workflows/jobs.yaml
vendored
@@ -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
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user