Skip to content

Commit

Permalink
NotImplemented support for Azure and addressed cleanup issue
Browse files Browse the repository at this point in the history
  • Loading branch information
ebozduman committed Oct 6, 2020
1 parent bc846cb commit a8a58fc
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 54 deletions.
11 changes: 8 additions & 3 deletions api-error-response.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,14 @@ func (e ErrorResponse) Error() string {
if e.Message == "" {
msg, ok := s3ErrorResponseMap[e.Code]
if !ok {
msg = fmt.Sprintf("Error response code %s.", e.Code)
if e.Code == "" {
msg = "Error Code is not set"
} else {
// No e.Code in the list of known s3 error codes
msg = fmt.Sprintf("Invalid error Code, \"%s\"", e.Code)
}
}
return msg
e.Message = msg
}
return e.Message
}
Expand All @@ -102,7 +107,7 @@ const (
// structure as error.
func httpRespToErrorResponse(resp *http.Response, bucketName, objectName string) error {
if resp == nil {
msg := "Response is empty. " + reportIssue
msg := "Empty http response. " + reportIssue
return errInvalidArgument(msg)
}

Expand Down
84 changes: 33 additions & 51 deletions functional_tests.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ func ignoredLog(testName string, function string, args map[string]interface{}, s
duration := time.Since(startTime)
// log with the fields as per mint
fields := log.Fields{"name": "minio-go: " + testName, "function": function, "args": args,
"duration": duration.Nanoseconds() / 1000000, "status": "NA", "alert": alert}
"duration": duration.Nanoseconds() / 1000000, "status": "NA", "alert": strings.Split(alert, " ")[0] + " is NotImplemented"}
return log.WithFields(cleanEmptyEntries(fields))
}

Expand Down Expand Up @@ -366,12 +366,6 @@ func testMakeBucketError() {
"region": region,
}

// skipping region functional tests for non s3 runs
if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
ignoredLog(testName, function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}

// Seed random based on current time.
rand.Seed(time.Now().Unix())

Expand Down Expand Up @@ -494,12 +488,6 @@ func testMakeBucketRegions() {
"region": region,
}

// skipping region functional tests for non s3 runs
if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
ignoredLog(testName, function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}

// Seed random based on current time.
rand.Seed(time.Now().Unix())

Expand Down Expand Up @@ -532,7 +520,7 @@ func testMakeBucketRegions() {

// Delete all objects and buckets
if err = cleanupBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand All @@ -548,7 +536,7 @@ func testMakeBucketRegions() {

// Delete all objects and buckets
if err = cleanupBucket(bucketName+".withperiod", c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}
successLogger(testName, function, args, startTime).Info()
Expand Down Expand Up @@ -765,7 +753,7 @@ func testListObjectVersions() {

// Delete all objects and their versions as long as the bucket itself
if err = cleanupVersionedBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -882,7 +870,7 @@ func testStatObjectWithVersioning() {

// Delete all objects and their versions as long as the bucket itself
if err = cleanupVersionedBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -1021,7 +1009,7 @@ func testGetObjectWithVersioning() {

// Delete all objects and their versions as long as the bucket itself
if err = cleanupVersionedBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -1158,7 +1146,7 @@ func testCopyObjectWithVersioning() {

// Delete all objects and their versions as long as the bucket itself
if err = cleanupVersionedBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -1298,7 +1286,7 @@ func testComposeObjectWithVersioning() {

// Delete all objects and their versions as long as the bucket itself
if err = cleanupVersionedBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -1383,7 +1371,7 @@ func testRemoveObjectWithVersioning() {

err = c.RemoveBucket(context.Background(), bucketName)
if err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -1478,7 +1466,7 @@ func testRemoveObjectsWithVersioning() {

err = c.RemoveBucket(context.Background(), bucketName)
if err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -1635,7 +1623,7 @@ func testObjectTaggingWithVersioning() {

// Delete all objects and their versions as long as the bucket itself
if err = cleanupVersionedBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -2138,7 +2126,7 @@ func testRemoveObjectsContext() {
return
}

defer cleanupBucket(bucketName, c)
defer cleanupBucket(bucketName, c)

// Generate put data.
r := bytes.NewReader(bytes.Repeat([]byte("a"), 8))
Expand Down Expand Up @@ -2874,7 +2862,7 @@ func testGetObjectReadSeekFunctional() {
defer func() {
// Delete all objects and buckets
if err = cleanupBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}
}()
Expand Down Expand Up @@ -3554,7 +3542,7 @@ func testCopyObject() {
logError(testName, function, args, startTime, "", "MakeBucket failed", err)
return
}
defer cleanupBucket(bucketName + "-copy", c)
defer cleanupBucket(bucketName+"-copy", c)

// Generate 33K of data.
bufSize := dataFileMap["datafile-33-kB"]
Expand Down Expand Up @@ -3736,7 +3724,7 @@ func testSSECEncryptedGetObjectReadSeekFunctional() {
defer func() {
// Delete all objects and buckets
if err = cleanupBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}
}()
Expand Down Expand Up @@ -3918,7 +3906,7 @@ func testSSES3EncryptedGetObjectReadSeekFunctional() {
defer func() {
// Delete all objects and buckets
if err = cleanupBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}
}()
Expand Down Expand Up @@ -4975,7 +4963,7 @@ func testBucketNotification() {

// Delete all objects and buckets
if err = cleanupBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down Expand Up @@ -5832,11 +5820,6 @@ func testMakeBucketErrorV2() {
"region": "eu-west-1",
}

if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
ignoredLog(testName, function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}

// Seed random based on current time.
rand.Seed(time.Now().Unix())

Expand Down Expand Up @@ -5868,7 +5851,7 @@ func testMakeBucketErrorV2() {
logError(testName, function, args, startTime, "", "MakeBucket failed", err)
return
}

defer cleanupBucket(bucketName, c)

if err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: region}); err == nil {
Expand Down Expand Up @@ -6146,11 +6129,6 @@ func testMakeBucketRegionsV2() {
"region": "eu-west-1",
}

if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
ignoredLog(testName, function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}

// Seed random based on current time.
rand.Seed(time.Now().Unix())

Expand Down Expand Up @@ -6182,7 +6160,7 @@ func testMakeBucketRegionsV2() {
}

if err = cleanupBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed while removing bucket recursively", err)
return
}

Expand All @@ -6192,13 +6170,13 @@ func testMakeBucketRegionsV2() {
if err = c.MakeBucket(context.Background(), bucketName+".withperiod", minio.MakeBucketOptions{Region: "us-west-2"}); err != nil {
args["bucketName"] = bucketName + ".withperiod"
args["region"] = "us-west-2"
logError(testName, function, args, startTime, "", "MakeBucket failed", err)
logError(testName, function, args, startTime, "", "MakeBucket test with a bucket name with period, '.', failed", err)
return
}

// Delete all objects and buckets
if err = cleanupBucket(bucketName+".withperiod", c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed while removing bucket recursively", err)
return
}

Expand Down Expand Up @@ -6836,7 +6814,7 @@ func testComposeMultipleSources(c *minio.Client) {
successLogger(testName, function, args, startTime).Info()
}

// Test concatenating multiple objects objects
// Test concatenating multiple 10K objects V2
func testCompose10KSourcesV2() {
// initialize logging params
startTime := time.Now()
Expand Down Expand Up @@ -6958,8 +6936,6 @@ func testEncryptedEmptyObject() {
}

delete(args, "objectName")


successLogger(testName, function, args, startTime).Info()
}

Expand Down Expand Up @@ -9904,7 +9880,7 @@ func testComposeObjectErrorCases() {
testComposeObjectErrorCasesWrapper(c)
}

// Test concatenating 10K objects
// Test concatenating multiple 10K objects V4
func testCompose10KSources() {
// initialize logging params
startTime := time.Now()
Expand Down Expand Up @@ -10618,7 +10594,13 @@ func testGetObjectACLContext() {
"X-Amz-Acl": "public-read-write",
}

_, err = c.PutObject(context.Background(), bucketName, objectName, reader, int64(bufSize), minio.PutObjectOptions{ContentType: "binary/octet-stream", UserMetadata: metaData})
_, err = c.PutObject(context.Background(), bucketName,
objectName, reader, int64(bufSize),
minio.PutObjectOptions{
ContentType: "binary/octet-stream",
UserMetadata: metaData,
})

if err != nil {
logError(testName, function, args, startTime, "", "PutObject failed", err)
return
Expand All @@ -10630,8 +10612,8 @@ func testGetObjectACLContext() {

// Read the data back
objectInfo, getObjectACLErr := c.GetObjectACL(ctx, bucketName, objectName)
if getObjectACLErr == nil {
logError(testName, function, args, startTime, "", "GetObjectACL fail", getObjectACLErr)
if getObjectACLErr != nil {
logError(testName, function, args, startTime, "", "GetObjectACL failed. ", getObjectACLErr)
return
}

Expand Down Expand Up @@ -11199,7 +11181,7 @@ func testRemoveObjects() {

// Delete all objects and buckets
if err = cleanupVersionedBucket(bucketName, c); err != nil {
logError(testName, function, args, startTime, "", "Cleanup failed", err)
logError(testName, function, args, startTime, "", "CleanupBucket failed", err)
return
}

Expand Down

0 comments on commit a8a58fc

Please sign in to comment.