Delete remote bucket test (#2096)

This commit is contained in:
adfost
2022-06-07 12:42:14 -07:00
committed by GitHub
parent 427a7516a3
commit fed58ec29a
2 changed files with 106 additions and 1 deletions

View File

@@ -3657,6 +3657,24 @@ func GetRemoteBucket() (*http.Response, error) {
return response, err
}
func GetRemoteBucketARN(sourceBucket string) (*http.Response, error) {
request, err := http.NewRequest(
"GET",
fmt.Sprintf("http://localhost:9090/api/v1/remote-buckets/%s", sourceBucket),
nil,
)
if err != nil {
log.Println(err)
}
request.Header.Add("Cookie", fmt.Sprintf("token=%s", token))
request.Header.Add("Content-Type", "application/json")
client := &http.Client{
Timeout: 2 * time.Second,
}
response, err := client.Do(request)
return response, err
}
func AddRemoteBucket(accessKey, secretKey, targetURL, sourceBucket, targetBucket string) (*http.Response, error) {
// Needed Parameters for API Call
bucketsRelationArray := make([]map[string]interface{}, 1)
@@ -3707,6 +3725,27 @@ func AddRemoteBucket(accessKey, secretKey, targetURL, sourceBucket, targetBucket
return response, err
}
func DeleteRemoteBucket(sourceBucket string, arn string) (*http.Response, error) {
// Needed Parameters for API Call
request, err := http.NewRequest(
"DELETE",
fmt.Sprintf("http://localhost:9090/api/v1/remote-buckets/%s/%s", sourceBucket, arn),
nil,
)
if err != nil {
log.Println(err)
}
request.Header.Add("Cookie", fmt.Sprintf("token=%s", token))
request.Header.Add("Content-Type", "application/json")
// Performing the call
client := &http.Client{
Timeout: 2 * time.Second,
}
response, err := client.Do(request)
return response, err
}
func TestAddRemoteBucket(t *testing.T) {
// Variables
assert := assert.New(t)
@@ -3755,3 +3794,69 @@ func TestAddRemoteBucket(t *testing.T) {
fmt.Println("finalResponse: ", finalResponse)
assert.Equal(strings.Contains(finalResponse, targetBucket), true)
}
func TestDeleteRemoteBucket(t *testing.T) {
// Variables
assert := assert.New(t)
accessKey := "minioadmin"
secretKey := "minioadmin"
targetURL := "https://play.min.io"
sourceBucket := "deletesource"
targetBucket := os.Getenv("THETARGET")
fmt.Println("targetBucket: ", targetBucket)
// 1. Create bucket
if !BucketGotAdded("deletesource", true, true, nil, nil, assert, 201) {
return
}
// 2. Add Remote Bucket
resp, err := AddRemoteBucket(
accessKey,
secretKey,
targetURL,
sourceBucket,
targetBucket,
)
assert.Nil(err)
if err != nil {
log.Println(err)
return
}
if resp != nil {
assert.Equal(
201, resp.StatusCode, inspectHTTPResponse(resp))
}
// 3. Get ARN
resp, err = GetRemoteBucketARN(sourceBucket)
assert.Nil(err)
if err != nil {
log.Println(err)
return
}
bodyBytes, _ := ioutil.ReadAll(resp.Body)
remoteBucket := models.RemoteBucket{}
err = json.Unmarshal(bodyBytes, &remoteBucket)
if err != nil {
log.Println(err)
assert.Nil(err)
}
if resp != nil {
assert.Equal(
200, resp.StatusCode, inspectHTTPResponse(resp))
}
// 4. Delete Remote Bucket
resp, err = DeleteRemoteBucket(sourceBucket, *remoteBucket.RemoteARN)
assert.Nil(err)
if err != nil {
log.Println(err)
return
}
finalResponse := inspectHTTPResponse(resp)
if resp != nil {
assert.Equal(
204, resp.StatusCode, finalResponse)
}
}