@@ -27,6 +27,10 @@ public void StatTest()
2727 Console . WriteLine ( statRet . Result . MimeType ) ;
2828 Console . WriteLine ( statRet . Result . Fsize ) ;
2929 Console . WriteLine ( statRet . Result . FileType ) ;
30+ Assert . True ( statRet . Result . Hash . Length > 0 ) ;
31+ Assert . True ( statRet . Result . MimeType . Length > 0 ) ;
32+ Assert . True ( statRet . Result . Fsize > 0 ) ;
33+ Assert . True ( statRet . Result . PutTime > 0 ) ;
3034 }
3135
3236 [ Test ]
@@ -106,12 +110,19 @@ public void ChangeStatusTest()
106110 config . Zone = Zone . ZONE_CN_East ;
107111 Mac mac = new Mac ( AccessKey , SecretKey ) ;
108112 BucketManager bucketManager = new BucketManager ( mac , config ) ;
109- HttpResult ret = bucketManager . ChangeStatus ( Bucket , "qiniu.png" , 1 ) ;
113+ string key = "qiniu.png" ;
114+ HttpResult ret = bucketManager . ChangeStatus ( Bucket , key , 1 ) ;
110115 if ( ret . Code != ( int ) HttpCode . OK )
111116 {
112117 Assert . Fail ( "change status error: " + ret . ToString ( ) ) ;
113118 }
114- ret = bucketManager . ChangeStatus ( Bucket , "qiniu.png" , 0 ) ;
119+ StatResult statRet = bucketManager . Stat ( Bucket , key ) ;
120+ if ( statRet . Code != ( int ) HttpCode . OK )
121+ {
122+ Assert . Fail ( "stat error: " + statRet . ToString ( ) ) ;
123+ }
124+ Assert . AreEqual ( 1 , statRet . Result . Status ) ;
125+ ret = bucketManager . ChangeStatus ( Bucket , key , 0 ) ;
115126 if ( ret . Code != ( int ) HttpCode . OK )
116127 {
117128 Assert . Fail ( "change status error: " + ret . ToString ( ) ) ;
@@ -125,12 +136,28 @@ public void ChangeTypeTest()
125136 config . Zone = Zone . ZONE_CN_East ;
126137 Mac mac = new Mac ( AccessKey , SecretKey ) ;
127138 BucketManager bucketManager = new BucketManager ( mac , config ) ;
128- HttpResult ret = bucketManager . ChangeType ( Bucket , "qiniu.png" , 1 ) ;
139+ string key = "qiniu.png" ;
140+
141+ string newKey = "qiniu-to-change-type.png" ;
142+ HttpResult copyRet = bucketManager . Copy ( Bucket , "qiniu.png" , Bucket , newKey , true ) ;
143+ if ( copyRet . Code != ( int ) HttpCode . OK )
144+ {
145+ Assert . Fail ( "copy error: " + copyRet . ToString ( ) ) ;
146+ }
147+ Console . WriteLine ( copyRet . ToString ( ) ) ;
148+
149+ HttpResult ret = bucketManager . ChangeType ( Bucket , newKey , 1 ) ;
129150 if ( ret . Code != ( int ) HttpCode . OK && ! ret . Text . Contains ( "already in line stat" ) )
130151 {
131152 Assert . Fail ( "change type error: " + ret . ToString ( ) ) ;
132153 }
133154 Console . WriteLine ( ret . ToString ( ) ) ;
155+ StatResult statRet = bucketManager . Stat ( Bucket , newKey ) ;
156+ if ( statRet . Code != ( int ) HttpCode . OK )
157+ {
158+ Assert . Fail ( "stat error: " + statRet . ToString ( ) ) ;
159+ }
160+ Assert . AreEqual ( 1 , statRet . Result . FileType ) ;
134161 }
135162
136163 [ Test ]
@@ -160,6 +187,13 @@ public void RestoreArArchiveTest()
160187 {
161188 Assert . Fail ( "change type error: " + ret . ToString ( ) ) ;
162189 }
190+
191+ StatResult statRet = bucketManager . Stat ( Bucket , newKey ) ;
192+ if ( statRet . Code != ( int ) HttpCode . OK )
193+ {
194+ Assert . Fail ( "stat error: " + statRet . ToString ( ) ) ;
195+ }
196+ Assert . AreEqual ( 1 , statRet . Result . RestoreStatus ) ;
163197 }
164198
165199 [ Test ]
@@ -239,6 +273,15 @@ public void SetObjectLifecycleTest()
239273 Assert . Fail ( "deleteAfterDays error: " + ret . ToString ( ) ) ;
240274 }
241275 Console . WriteLine ( ret . ToString ( ) ) ;
276+ StatResult statRet = bucketManager . Stat ( Bucket , newKey ) ;
277+ if ( statRet . Code != ( int ) HttpCode . OK )
278+ {
279+ Assert . Fail ( "stat error: " + statRet . ToString ( ) ) ;
280+ }
281+ Assert . True ( statRet . Result . TransitionToIa > 0 ) ;
282+ Assert . True ( statRet . Result . TransitionToArchive > 0 ) ;
283+ Assert . True ( statRet . Result . TransitionToDeepArchive > 0 ) ;
284+ Assert . True ( statRet . Result . Expiration > 0 ) ;
242285 }
243286
244287 [ Test ]
@@ -374,6 +417,20 @@ public void ListFilesTest()
374417 Assert . Fail ( "list files error: " + listRet . ToString ( ) ) ;
375418 }
376419 Console . WriteLine ( listRet . ToString ( ) ) ;
420+ // 需要处理可能存在 key 为 "" 的情况
421+ bool hasEmptyKey = false ;
422+ foreach ( var item in listRet . Result . Items )
423+ {
424+ Assert . True ( item . Key . Length > 0 || ! hasEmptyKey ) ;
425+ if ( item . Key . Length == 0 )
426+ {
427+ hasEmptyKey = true ;
428+ }
429+ Assert . True ( item . Hash . Length > 0 ) ;
430+ Assert . True ( item . MimeType . Length > 0 ) ;
431+ Assert . True ( item . Fsize > 0 ) ;
432+ Assert . True ( item . PutTime > 0 ) ;
433+ }
377434 }
378435
379436 [ Test ]
@@ -435,6 +492,10 @@ public void BatchStatTest()
435492 {
436493 Console . WriteLine ( "{0}, {1}, {2}, {3}, {4}" , info . Data . MimeType ,
437494 info . Data . PutTime , info . Data . Hash , info . Data . Fsize , info . Data . FileType ) ;
495+ Assert . True ( info . Data . Hash . Length > 0 ) ;
496+ Assert . True ( info . Data . MimeType . Length > 0 ) ;
497+ Assert . True ( info . Data . Fsize > 0 ) ;
498+ Assert . True ( info . Data . PutTime > 0 ) ;
438499 }
439500 else
440501 {
0 commit comments