Add test for listing buckets (#1440)

This commit is contained in:
Cesar Celis Hernandez
2022-01-24 12:27:32 -05:00
committed by GitHub
parent 41b34645f9
commit 0ba60bd674

View File

@@ -26,6 +26,7 @@ import (
"net/http"
"os"
"strconv"
"strings"
"testing"
"time"
@@ -200,6 +201,26 @@ func AddBucket(BucketName string, Versioning bool, Locking bool) (*http.Response
return response, err
}
func ListBuckets() (*http.Response, error) {
/*
Helper function to list buckets
HTTP Verb: GET
{{baseUrl}}/buckets?sort_by=proident velit&offset=-5480083&limit=-5480083
*/
request, err := http.NewRequest(
"GET", "http://localhost:9090/api/v1/buckets", 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 TestAddBucket(t *testing.T) {
assert := assert.New(t)
@@ -501,3 +522,55 @@ func TestBucketsGet(t *testing.T) {
}
}
func TestListBuckets(t *testing.T) {
/*
Test the list of buckets without query parameters.
*/
assert := assert.New(t)
// 1. Create buckets
var numberOfBuckets = 3
for i := 1; i <= numberOfBuckets; i++ {
response, err := AddBucket(
"testlistbuckets"+strconv.Itoa(i), false, false)
assert.Nil(err)
if err != nil {
log.Println(err)
assert.Fail("Error creating the buckets")
return
}
if response != nil {
b, err := io.ReadAll(response.Body)
if err != nil {
log.Fatalln(err)
}
assert.Equal(201, response.StatusCode,
"Status Code is incorrect: "+string(b)+
" Bucket name: TestListBuckets"+strconv.Itoa(i))
}
}
// 2. List buckets
listBucketsResponse, listBucketsError := ListBuckets()
assert.Nil(listBucketsError)
if listBucketsError != nil {
log.Println(listBucketsError)
assert.Fail("Error listing the buckets")
return
}
// 3. Verify list of buckets
b, err := io.ReadAll(listBucketsResponse.Body)
if listBucketsResponse != nil {
if err != nil {
log.Fatalln(err)
}
assert.Equal(200, listBucketsResponse.StatusCode,
"Status Code is incorrect: "+string(b))
}
for i := 1; i <= numberOfBuckets; i++ {
assert.True(strings.Contains(string(b),
"testlistbuckets"+strconv.Itoa(i)))
}
}