@@ -26,8 +26,11 @@ public void StatTest()
2626 Console . WriteLine ( statRet . Result . Hash ) ;
2727 Console . WriteLine ( statRet . Result . MimeType ) ;
2828 Console . WriteLine ( statRet . Result . Fsize ) ;
29- Console . WriteLine ( statRet . Result . MimeType ) ;
3029 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 ) ;
3134 }
3235
3336 [ Test ]
@@ -100,19 +103,61 @@ public void ChangeMimeTest()
100103 Console . WriteLine ( ret . ToString ( ) ) ;
101104 }
102105
106+ [ Test ]
107+ public void ChangeStatusTest ( )
108+ {
109+ Config config = new Config ( ) ;
110+ config . Zone = Zone . ZONE_CN_East ;
111+ Mac mac = new Mac ( AccessKey , SecretKey ) ;
112+ BucketManager bucketManager = new BucketManager ( mac , config ) ;
113+ string key = "qiniu.png" ;
114+ HttpResult ret = bucketManager . ChangeStatus ( Bucket , key , 1 ) ;
115+ if ( ret . Code != ( int ) HttpCode . OK )
116+ {
117+ Assert . Fail ( "change status error: " + ret . ToString ( ) ) ;
118+ }
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 ) ;
126+ if ( ret . Code != ( int ) HttpCode . OK )
127+ {
128+ Assert . Fail ( "change status error: " + ret . ToString ( ) ) ;
129+ }
130+ }
131+
103132 [ Test ]
104133 public void ChangeTypeTest ( )
105134 {
106135 Config config = new Config ( ) ;
107136 config . Zone = Zone . ZONE_CN_East ;
108137 Mac mac = new Mac ( AccessKey , SecretKey ) ;
109138 BucketManager bucketManager = new BucketManager ( mac , config ) ;
110- 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 ) ;
111150 if ( ret . Code != ( int ) HttpCode . OK && ! ret . Text . Contains ( "already in line stat" ) )
112151 {
113152 Assert . Fail ( "change type error: " + ret . ToString ( ) ) ;
114153 }
115154 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 ) ;
116161 }
117162
118163 [ Test ]
@@ -142,6 +187,13 @@ public void RestoreArArchiveTest()
142187 {
143188 Assert . Fail ( "change type error: " + ret . ToString ( ) ) ;
144189 }
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 ) ;
145197 }
146198
147199 [ Test ]
@@ -221,6 +273,15 @@ public void SetObjectLifecycleTest()
221273 Assert . Fail ( "deleteAfterDays error: " + ret . ToString ( ) ) ;
222274 }
223275 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 ) ;
224285 }
225286
226287 [ Test ]
@@ -356,6 +417,20 @@ public void ListFilesTest()
356417 Assert . Fail ( "list files error: " + listRet . ToString ( ) ) ;
357418 }
358419 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+ }
359434 }
360435
361436 [ Test ]
@@ -417,6 +492,10 @@ public void BatchStatTest()
417492 {
418493 Console . WriteLine ( "{0}, {1}, {2}, {3}, {4}" , info . Data . MimeType ,
419494 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 ) ;
420499 }
421500 else
422501 {
0 commit comments