@@ -3024,6 +3024,40 @@ func TestEnableBucketEncryption(t *testing.T) {
3024
3024
}
3025
3025
assert .Equal ("AES256" , result .Algorithm , result )
3026
3026
printEndFunc ("TestEnableBucketEncryption" )
3027
+
3028
+ // 4. Disable Bucket's Encryption
3029
+ resp , err = DisableBucketEncryption (bucketName )
3030
+ assert .Nil (err )
3031
+ if err != nil {
3032
+ log .Println (err )
3033
+ return
3034
+ }
3035
+ if resp != nil {
3036
+ assert .Equal (
3037
+ 200 , resp .StatusCode , "Status Code is incorrect" )
3038
+ }
3039
+
3040
+ // 5. Verify encryption got disabled.
3041
+ resp , err = GetBucketEncryptionInformation (bucketName )
3042
+ assert .Nil (err )
3043
+ if err != nil {
3044
+ log .Println (err )
3045
+ return
3046
+ }
3047
+ if resp != nil {
3048
+ assert .Equal (
3049
+ 404 , resp .StatusCode , "Status Code is incorrect" )
3050
+ }
3051
+ bodyBytes , _ = ioutil .ReadAll (resp .Body )
3052
+ result2 := models.Error {}
3053
+ err = json .Unmarshal (bodyBytes , & result2 )
3054
+ if err != nil {
3055
+ log .Println (err )
3056
+ assert .Nil (err )
3057
+ }
3058
+ dereferencedPointerDetailedMessage := * result2 .DetailedMessage
3059
+ assert .Equal ("error server side encryption configuration not found" , dereferencedPointerDetailedMessage , dereferencedPointerDetailedMessage )
3060
+ printEndFunc ("TestEnableBucketEncryption" )
3027
3061
}
3028
3062
3029
3063
func GetBucketEncryptionInformation (bucketName string ) (* http.Response , error ) {
@@ -3046,3 +3080,26 @@ func GetBucketEncryptionInformation(bucketName string) (*http.Response, error) {
3046
3080
response , err := client .Do (request )
3047
3081
return response , err
3048
3082
}
3083
+
3084
+ func DisableBucketEncryption (bucketName string ) (* http.Response , error ) {
3085
+ /*
3086
+ Helper function to disable bucket's encryption
3087
+ HTTP Verb: POST
3088
+ URL: /buckets/{bucket_name}/encryption/disable
3089
+ */
3090
+ request , err := http .NewRequest (
3091
+ "POST" ,
3092
+ "http://localhost:9090/api/v1/buckets/" + bucketName + "/encryption/disable" ,
3093
+ nil ,
3094
+ )
3095
+ if err != nil {
3096
+ log .Println (err )
3097
+ }
3098
+ request .Header .Add ("Cookie" , fmt .Sprintf ("token=%s" , token ))
3099
+ request .Header .Add ("Content-Type" , "application/json" )
3100
+ client := & http.Client {
3101
+ Timeout : 2 * time .Second ,
3102
+ }
3103
+ response , err := client .Do (request )
3104
+ return response , err
3105
+ }
0 commit comments