From 94c60e18379a51ded630d4393d63b324109fbfc1 Mon Sep 17 00:00:00 2001 From: Cesar Celis Hernandez Date: Thu, 10 Mar 2022 18:05:19 -0500 Subject: [PATCH] add test to delete bucket encryption (#1695) --- integration/user_api_bucket_test.go | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/integration/user_api_bucket_test.go b/integration/user_api_bucket_test.go index d31c44c9a..71b82889d 100644 --- a/integration/user_api_bucket_test.go +++ b/integration/user_api_bucket_test.go @@ -3024,6 +3024,40 @@ func TestEnableBucketEncryption(t *testing.T) { } assert.Equal("AES256", result.Algorithm, result) printEndFunc("TestEnableBucketEncryption") + + // 4. Disable Bucket's Encryption + resp, err = DisableBucketEncryption(bucketName) + assert.Nil(err) + if err != nil { + log.Println(err) + return + } + if resp != nil { + assert.Equal( + 200, resp.StatusCode, "Status Code is incorrect") + } + + // 5. Verify encryption got disabled. + resp, err = GetBucketEncryptionInformation(bucketName) + assert.Nil(err) + if err != nil { + log.Println(err) + return + } + if resp != nil { + assert.Equal( + 404, resp.StatusCode, "Status Code is incorrect") + } + bodyBytes, _ = ioutil.ReadAll(resp.Body) + result2 := models.Error{} + err = json.Unmarshal(bodyBytes, &result2) + if err != nil { + log.Println(err) + assert.Nil(err) + } + dereferencedPointerDetailedMessage := *result2.DetailedMessage + assert.Equal("error server side encryption configuration not found", dereferencedPointerDetailedMessage, dereferencedPointerDetailedMessage) + printEndFunc("TestEnableBucketEncryption") } func GetBucketEncryptionInformation(bucketName string) (*http.Response, error) { @@ -3046,3 +3080,26 @@ func GetBucketEncryptionInformation(bucketName string) (*http.Response, error) { response, err := client.Do(request) return response, err } + +func DisableBucketEncryption(bucketName string) (*http.Response, error) { + /* + Helper function to disable bucket's encryption + HTTP Verb: POST + URL: /buckets/{bucket_name}/encryption/disable + */ + request, err := http.NewRequest( + "POST", + "http://localhost:9090/api/v1/buckets/"+bucketName+"/encryption/disable", + 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 +}