11package com .aliyun .oss .integrationtests ;
22
33
4+ import com .aliyun .oss .OSS ;
5+ import com .aliyun .oss .OSSClientBuilder ;
46import com .aliyun .oss .OSSErrorCode ;
57import com .aliyun .oss .OSSException ;
68import com .aliyun .oss .model .BucketInfo ;
2123import java .util .List ;
2224
2325public class HnsTest extends TestBase {
26+ private String testHnsBucket ;
27+ private OSS testClient ;
2428
2529 @ Test
2630 public void testBucketRelatedConstructor () {
@@ -84,39 +88,38 @@ public void testObjectRelatedConstructor() {
8488 Assert .assertEquals ("dst-obj" , renameObjectRequest .getDestinationObjectName ());
8589 }
8690
87-
8891 @ Override
8992 public void setUp () throws Exception {
9093 super .setUp ();
9194 this .testHnsBucket = bucketName + "-test-hns" ;
95+ this .testClient = new OSSClientBuilder ().build ("oss-ap-southeast-2.aliyuncs.com" , TestConfig .OSS_TEST_ACCESS_KEY_ID ,
96+ TestConfig .OSS_TEST_ACCESS_KEY_SECRET );
9297 CreateBucketRequest createBucketRequest = new CreateBucketRequest (testHnsBucket );
9398 createBucketRequest .setHnsStatus (HnsStatus .Enabled );
94- ossClient .createBucket (createBucketRequest );
99+ testClient .createBucket (createBucketRequest );
95100 }
96101
97- private String testHnsBucket ;
98-
99102 @ Override
100103 public void tearDown () throws Exception {
101- ObjectListing objectListing = ossClient .listObjects (bucketName );
104+ ObjectListing objectListing = testClient .listObjects (testHnsBucket );
102105 List <OSSObjectSummary > sums = objectListing .getObjectSummaries ();
103106 for (OSSObjectSummary s : sums ) {
104107 System .out .println ("\t " + s .getKey ());
105108 if (s .getETag () == null || s .getETag ().isEmpty ()) {
106109 try {
107- ossClient .deleteDirectory (bucketName , s .getKey ().substring (0 , s .getKey ().length () - 1 ), true , null );
110+ testClient .deleteDirectory (testHnsBucket , s .getKey ().substring (0 , s .getKey ().length () - 1 ), true , null );
108111 } catch (Exception e ) {
109112 }
110113 } else {
111- ossClient .deleteObject (bucketName , s .getKey ());
114+ testClient .deleteObject (testHnsBucket , s .getKey ());
112115 }
113116 }
114117 super .tearDown ();
115118 }
116119
117120 @ Test
118121 public void testGetHnsStatus () {
119- BucketInfo info = ossClient .getBucketInfo (this .testHnsBucket );
122+ BucketInfo info = testClient .getBucketInfo (this .testHnsBucket );
120123 Assert .assertEquals (HnsStatus .Enabled .toString (), info .getBucket ().getHnsStatus ());
121124 }
122125
@@ -126,24 +129,24 @@ public void testRequestWithPayerHeader() {
126129 String dirNameNew = "new-" + dirName ;
127130 CreateDirectoryRequest createDirectoryRequest = new CreateDirectoryRequest (testHnsBucket , dirName );
128131 createDirectoryRequest .setRequestPayer (Payer .Requester );
129- ossClient .createDirectory (createDirectoryRequest );
130- ObjectMetadata meta = ossClient .getObjectMetadata (testHnsBucket , dirName );
132+ testClient .createDirectory (createDirectoryRequest );
133+ ObjectMetadata meta = testClient .getObjectMetadata (testHnsBucket , dirName );
131134 Assert .assertEquals ("application/x-directory" , meta .getContentType ());
132135
133136 RenameObjectRequest renameObjectRequest = new RenameObjectRequest (testHnsBucket , dirName , dirNameNew );
134137 renameObjectRequest .setRequestPayer (Payer .Requester );
135- ossClient .renameObject (renameObjectRequest );
136- meta = ossClient .getObjectMetadata (testHnsBucket , dirNameNew );
138+ testClient .renameObject (renameObjectRequest );
139+ meta = testClient .getObjectMetadata (testHnsBucket , dirNameNew );
137140 Assert .assertEquals ("application/x-directory" , meta .getContentType ());
138141 try {
139- meta = ossClient .getObjectMetadata (testHnsBucket , dirName );
142+ meta = testClient .getObjectMetadata (testHnsBucket , dirName );
140143 Assert .fail ("should be failed here" );
141144 } catch (Exception e ) {
142145 }
143146
144147 DeleteDirectoryRequest deleteDirectoryRequest = new DeleteDirectoryRequest (testHnsBucket , dirNameNew );
145148 deleteDirectoryRequest .setRequestPayer (Payer .Requester );
146- DeleteDirectoryResult deleteDirectoryResult = ossClient .deleteDirectory (deleteDirectoryRequest );
149+ DeleteDirectoryResult deleteDirectoryResult = testClient .deleteDirectory (deleteDirectoryRequest );
147150 Assert .assertEquals (dirNameNew , deleteDirectoryResult .getDirectoryName ());
148151 Assert .assertEquals (1 , deleteDirectoryResult .getDeleteNumber ());
149152 }
@@ -153,31 +156,38 @@ public void testRenameObject() {
153156 String objectName = "test-obj" ;
154157 String objectNameNew ="new-" + objectName ;
155158
156- ossClient .putObject (testHnsBucket , objectName , new ByteArrayInputStream ("123" .getBytes ()));
157- ossClient .renameObject (testHnsBucket , objectName , objectNameNew );
158- ObjectMetadata meta = ossClient .getObjectMetadata (testHnsBucket , objectNameNew );
159+ testClient .putObject (testHnsBucket , objectName , new ByteArrayInputStream ("123" .getBytes ()));
160+ testClient .renameObject (testHnsBucket , objectName , objectNameNew );
161+ ObjectMetadata meta = testClient .getObjectMetadata (testHnsBucket , objectNameNew );
159162 Assert .assertEquals (3 , meta .getContentLength ());
163+
164+
165+ objectName = "test-obj-1-#+<>中文测试" ;
166+ objectNameNew ="new-test-obj-1" ;
167+ testClient .putObject (testHnsBucket , objectName , new ByteArrayInputStream ("1234" .getBytes ()));
168+ testClient .renameObject (testHnsBucket , objectName , objectNameNew );
169+ meta = testClient .getObjectMetadata (testHnsBucket , objectNameNew );
170+ Assert .assertEquals (4 , meta .getContentLength ());
160171 }
161172
162173 @ Test
163174 public void testDeleteDirectory () {
164175 String dirName = "test-dir" ;
165176 String objectName = "test-obj" ;
166- ossClient .createDirectory (testHnsBucket , dirName );
177+ testClient .createDirectory (testHnsBucket , dirName );
167178
168179
169180 for ( int i = 0 ; i < 100 ; i ++) {
170- ossClient .putObject (testHnsBucket , dirName + "/" + objectName + "-" + i , new ByteArrayInputStream ("123" .getBytes ()));
181+ testClient .putObject (testHnsBucket , dirName + "/" + objectName + "-" + i , new ByteArrayInputStream ("123" .getBytes ()));
171182 }
172183
173184 try {
174- DeleteDirectoryResult deleteDirectoryResult = ossClient .deleteDirectory (testHnsBucket , dirName );
185+ DeleteDirectoryResult deleteDirectoryResult = testClient .deleteDirectory (testHnsBucket , dirName );
175186 } catch (OSSException e ) {
176187 Assert .assertEquals (OSSErrorCode .FILE_ALREADY_EXISTS , e .getErrorCode ());
177188 }
178189
179-
180- DeleteDirectoryResult deleteDirectoryResult = ossClient .deleteDirectory (testHnsBucket , dirName , true , null );
190+ DeleteDirectoryResult deleteDirectoryResult = testClient .deleteDirectory (testHnsBucket , dirName , true , null );
181191 String nextToken = deleteDirectoryResult .getNextDeleteToken ();
182192 Assert .assertEquals (100 , deleteDirectoryResult .getDeleteNumber ());
183193 Assert .assertEquals (dirName , deleteDirectoryResult .getDirectoryName ());
@@ -186,7 +196,7 @@ public void testDeleteDirectory() {
186196 DeleteDirectoryRequest deleteDirectoryRequest = new DeleteDirectoryRequest (testHnsBucket , dirName )
187197 .withDeleteRecursive (true )
188198 .withNextDeleteToken (nextToken );
189- deleteDirectoryResult = ossClient .deleteDirectory (deleteDirectoryRequest );
199+ deleteDirectoryResult = testClient .deleteDirectory (deleteDirectoryRequest );
190200 Assert .assertTrue (deleteDirectoryResult .getDeleteNumber () > 0 );
191201 Assert .assertEquals (dirName , deleteDirectoryResult .getDirectoryName ());
192202
0 commit comments