Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NotImplemented support for Azure and cleanup issues #1392

Merged
merged 2 commits into from
Dec 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion api-error-response.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,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
8 changes: 5 additions & 3 deletions api-error-response_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ func TestHttpRespToErrorResponse(t *testing.T) {
// List of expected response.
// Used for asserting the actual response.
expectedErrResponse := []error{
genInvalidError("Response is empty. " + "Please report this issue at https://github.com/minio/minio-go/issues."),
genInvalidError("Empty http response. " + "Please report this issue at https://github.com/minio/minio-go/issues."),
decodeXMLError(createAPIErrorResponse(APIErrors[0], "minio-bucket")),
genErrResponse(setCommonHeaders(&http.Response{StatusCode: http.StatusNotFound}), "NoSuchBucket", "The specified bucket does not exist.", "minio-bucket", ""),
genErrResponse(setCommonHeaders(&http.Response{StatusCode: http.StatusNotFound}), "NoSuchKey", "The specified key does not exist.", "minio-bucket", "Asia/"),
Expand Down Expand Up @@ -280,15 +280,17 @@ func TestErrWithoutMessage(t *testing.T) {
Code: "AccessDenied",
RequestID: "minio",
}

if errResp.Error() != "Access Denied." {
t.Errorf("Expected \"Access Denied.\", got %s", errResp)
}

errResp = ErrorResponse{
Code: "InvalidArgument",
RequestID: "minio",
}
if errResp.Error() != "Error response code InvalidArgument." {
t.Errorf("Expected \"Error response code InvalidArgument.\", got %s", errResp)
if errResp.Error() != fmt.Sprintf("Error response code %s.", errResp.Code) {
t.Errorf("Expected \"Error response code InvalidArgument.\", got \"%s\"", errResp)
}
}

Expand Down
78 changes: 31 additions & 47 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 @@ -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 @@ -3740,7 +3728,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 @@ -3922,7 +3910,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 @@ -4979,7 +4967,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 @@ -5023,6 +5011,7 @@ func testFunctional() {
args["bucketName"] = bucketName
err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})

defer cleanupBucket(bucketName, c)
if err != nil {
logError(testName, function, args, startTime, "", "MakeBucket failed", err)
return
Expand Down Expand Up @@ -5836,11 +5825,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 @@ -6150,11 +6134,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 @@ -6186,7 +6165,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 @@ -6196,13 +6175,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 @@ -6840,7 +6819,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 @@ -6962,7 +6941,6 @@ func testEncryptedEmptyObject() {
}

delete(args, "objectName")

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

Expand Down Expand Up @@ -9907,7 +9885,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 @@ -10621,7 +10599,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 @@ -10633,8 +10617,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 @@ -11202,7 +11186,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