@@ -2998,9 +2998,24 @@ func GetBucketVersioning(bucketName string) (*http.Response, error) {
2998
2998
/*
2999
2999
Helper function to get bucket's versioning
3000
3000
*/
3001
+ endPoint := "versioning"
3002
+ return BaseGetFunction (bucketName , endPoint )
3003
+ }
3004
+
3005
+ func ReturnsTheStatusOfObjectLockingSupportOnTheBucket (bucketName string ) (* http.Response , error ) {
3006
+ /*
3007
+ Helper function to test end point below:
3008
+ URL: /buckets/{bucket_name}/object-locking:
3009
+ HTTP Verb: GET
3010
+ */
3011
+ endPoint := "object-locking"
3012
+ return BaseGetFunction (bucketName , endPoint )
3013
+ }
3014
+
3015
+ func BaseGetFunction (bucketName string , endPoint string ) (* http.Response , error ) {
3001
3016
request , err := http .NewRequest (
3002
3017
"GET" ,
3003
- "http://localhost:9090/api/v1/buckets/" + bucketName + "/versioning" , nil )
3018
+ "http://localhost:9090/api/v1/buckets/" + bucketName + "/" + endPoint , nil )
3004
3019
if err != nil {
3005
3020
log .Println (err )
3006
3021
}
@@ -3013,6 +3028,41 @@ func GetBucketVersioning(bucketName string) (*http.Response, error) {
3013
3028
return response , err
3014
3029
}
3015
3030
3031
+ func TestReturnsTheStatusOfObjectLockingSupportOnTheBucket (t * testing.T ) {
3032
+ // Test for end point: /buckets/{bucket_name}/object-locking
3033
+
3034
+ // Vars
3035
+ assert := assert .New (t )
3036
+ bucketName := "testputobjectslegalholdstatus"
3037
+
3038
+ // 1. Get the status
3039
+ response , err := ReturnsTheStatusOfObjectLockingSupportOnTheBucket (
3040
+ bucketName ,
3041
+ )
3042
+ assert .Nil (err )
3043
+ if err != nil {
3044
+ log .Println (err )
3045
+ return
3046
+ }
3047
+ if response != nil {
3048
+ assert .Equal (200 , response .StatusCode , "error invalid status" )
3049
+ }
3050
+
3051
+ // 2. Verify the status to be enabled for this bucket
3052
+ bodyBytes , _ := ioutil .ReadAll (response .Body )
3053
+ structBucketLocking := models.BucketObLockingResponse {}
3054
+ err = json .Unmarshal (bodyBytes , & structBucketLocking )
3055
+ if err != nil {
3056
+ log .Println (err )
3057
+ assert .Nil (err )
3058
+ }
3059
+ assert .Equal (
3060
+ structBucketLocking .ObjectLockingEnabled ,
3061
+ true ,
3062
+ structBucketLocking ,
3063
+ )
3064
+ }
3065
+
3016
3066
func SetBucketVersioning (bucketName string , versioning bool ) (* http.Response , error ) {
3017
3067
/*
3018
3068
Helper function to set Bucket Versioning
0 commit comments