Add Set Bucket Versioning Test (#1669)

Co-authored-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
This commit is contained in:
Cesar Celis Hernandez
2022-03-07 16:37:55 -05:00
committed by GitHub
parent 433868ddf5
commit f5edca5a31

View File

@@ -1013,7 +1013,7 @@ func TestDeleteObjectsRetentionStatus(t *testing.T) {
)
if putError != nil {
log.Println(putError)
assert.Fail("Error creating the bucket")
assert.Fail("Error putting the object retention status")
}
if putResponse != nil {
assert.Equal(
@@ -1056,7 +1056,7 @@ func TestDeleteObjectsRetentionStatus(t *testing.T) {
)
if putError != nil {
log.Println(putError)
assert.Fail("Error creating the bucket")
assert.Fail("Error deleting the object retention status")
}
if putResponse != nil {
assert.Equal(
@@ -1287,7 +1287,7 @@ func TestPutBucketsTags(t *testing.T) {
tt.args.bucketName, tags)
if putBucketTagError != nil {
log.Println(putBucketTagError)
assert.Fail("Error creating the bucket")
assert.Fail("Error putting the bucket's tags")
return
}
if putBucketTagResponse != nil {
@@ -1469,7 +1469,7 @@ func TestPutObjectsRetentionStatus(t *testing.T) {
)
if putError != nil {
log.Println(putError)
assert.Fail("Error creating the bucket")
assert.Fail("Error putting the object's retention status")
}
if putResponse != nil {
assert.Equal(
@@ -1990,7 +1990,7 @@ func TestBucketRetention(t *testing.T) {
assert.Nil(setBucketRetentionError)
if setBucketRetentionError != nil {
log.Println(setBucketRetentionError)
assert.Fail("Error creating the bucket")
assert.Fail("Error setting the bucket retention")
return
}
if setBucketRetentionResponse != nil {
@@ -2005,7 +2005,7 @@ func TestBucketRetention(t *testing.T) {
assert.Nil(getBucketRetentionError)
if getBucketRetentionError != nil {
log.Println(getBucketRetentionError)
assert.Fail("Error creating the bucket")
assert.Fail("Error getting the bucket's retention")
return
}
finalResponse := inspectHTTPResponse(getBucketRetentionResponse)
@@ -2044,7 +2044,7 @@ func TestBucketInformationGenericErrorResponse(t *testing.T) {
"bucketinformation2", tags)
if putBucketTagError != nil {
log.Println(putBucketTagError)
assert.Fail("Error creating the bucket")
assert.Fail("Error putting the bucket's tags")
return
}
if putBucketTagResponse != nil {
@@ -2095,7 +2095,7 @@ func TestBucketInformationSuccessfulResponse(t *testing.T) {
"bucketinformation1", tags)
if putBucketTagError != nil {
log.Println(putBucketTagError)
assert.Fail("Error creating the bucket")
assert.Fail("Error putting the bucket's tags")
return
}
if putBucketTagResponse != nil {
@@ -2975,3 +2975,86 @@ func GetBucketVersioning(bucketName string) (*http.Response, error) {
response, err := client.Do(request)
return response, err
}
func SetBucketVersioning(bucketName string, versioning bool) (*http.Response, error) {
/*
Helper function to set Bucket Versioning
*/
requestDataAdd := map[string]interface{}{
"versioning": versioning,
}
requestDataJSON, _ := json.Marshal(requestDataAdd)
requestDataBody := bytes.NewReader(requestDataJSON)
request, err := http.NewRequest("PUT",
"http://localhost:9090/api/v1/buckets/"+bucketName+"/versioning",
requestDataBody)
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 TestSetBucketVersioning(t *testing.T) {
// Variables
assert := assert.New(t)
bucket := "test-set-bucket-versioning"
locking := false
versioning := true
// 1. Create bucket with versioning as true and locking as false
response, err := AddBucket(
bucket,
locking,
versioning,
nil,
nil,
)
assert.Nil(err)
if err != nil {
log.Println(err)
assert.Fail("Error creating the bucket")
return
}
if response != nil {
assert.Equal(201, response.StatusCode, inspectHTTPResponse(response))
}
// 2. Set versioning as False
response, err = SetBucketVersioning(bucket, false)
assert.Nil(err)
if err != nil {
log.Println(err)
assert.Fail("Error setting the bucket versioning")
return
}
if response != nil {
assert.Equal(201, response.StatusCode, inspectHTTPResponse(response))
}
// 3. Read the HTTP Response and make sure is disabled.
getVersioningResult, getVersioningError := GetBucketVersioning(bucket)
assert.Nil(getVersioningError)
if getVersioningError != nil {
log.Println(getVersioningError)
return
}
if getVersioningResult != nil {
assert.Equal(
200, getVersioningResult.StatusCode, "Status Code is incorrect")
}
bodyBytes, _ := ioutil.ReadAll(getVersioningResult.Body)
result := models.BucketVersioningResponse{}
err = json.Unmarshal(bodyBytes, &result)
if err != nil {
log.Println(err)
assert.Nil(err)
}
assert.Equal(false, result.IsVersioned, result)
}