@@ -2280,6 +2280,51 @@ func (s *OssBucketSuite) TestGetConfig(c *C) {
22802280 c .Assert (bucket .GetConfig ().IsEnableMD5 , Equals , false )
22812281}
22822282
2283+ func (s * OssBucketSuite ) TestForcePathStyle (c * C ) {
2284+ url , err := url .ParseRequestURI (endpoint )
2285+ client , err := New (endpoint , accessID , accessKey , ForcePathStyle (true ))
2286+ c .Assert (err , IsNil )
2287+
2288+ _ , err = client .GetBucketInfo (bucketName )
2289+ c .Assert (err , NotNil )
2290+ c .Assert (err .(ServiceError ).Code , Equals , "SecondLevelDomainForbidden" )
2291+ c .Assert (err .(ServiceError ).HostID , Equals , url .Host )
2292+
2293+ bucket , err := client .Bucket (bucketName )
2294+ c .Assert (err , IsNil )
2295+
2296+ c .Assert (bucket .GetConfig ().IsPathStyle , Equals , true )
2297+
2298+ objectName := "demo.txt"
2299+
2300+ err = bucket .PutObject (objectName , strings .NewReader ("hi oss" ))
2301+ c .Assert (err , NotNil )
2302+ c .Assert (err .(ServiceError ).Code , Equals , "SecondLevelDomainForbidden" )
2303+
2304+ str , err := bucket .SignURL (objectName , HTTPPut , 3600 )
2305+ c .Assert (err , IsNil )
2306+ strUrl := endpoint + "/" + bucketName + "/" + objectName
2307+ c .Assert (strings .Contains (str , strUrl ), Equals , true )
2308+ }
2309+
2310+ func (s * OssBucketSuite ) TestUseCname (c * C ) {
2311+ url , err := url .ParseRequestURI (endpoint )
2312+ c .Assert (err , IsNil )
2313+ cnameEndpoint := bucketName + "." + url .Host
2314+ client , err := New (cnameEndpoint , accessID , accessKey , UseCname (true ))
2315+ c .Assert (err , IsNil )
2316+
2317+ info , err := client .GetBucketInfo (bucketName )
2318+
2319+ c .Assert (err , IsNil )
2320+ c .Assert (info .BucketInfo .Name , Equals , bucketName )
2321+
2322+ client , err = New (cnameEndpoint , accessID , accessKey )
2323+ _ , err = client .GetBucketInfo (bucketName )
2324+ c .Assert (err , NotNil )
2325+ c .Assert (err .(ServiceError ).HostID , Equals , bucketName + "." + cnameEndpoint )
2326+ }
2327+
22832328func (s * OssBucketSuite ) TestContextTimeout (c * C ) {
22842329 client , err := New (endpoint , accessID , accessKey )
22852330 c .Assert (err , IsNil )
0 commit comments