@@ -1139,13 +1139,66 @@ func (s *OssTypeSuite) TestLifecycleConfiguration(c *C) {
11391139 },
11401140 },
11411141 }
1142- rules := []LifecycleRule {rule0 , rule1 , rule2 }
1142+ tag := Tag {
1143+ Key : "key1" ,
1144+ Value : "val1" ,
1145+ }
1146+ filter3 := LifecycleFilter {
1147+ ObjectSizeGreaterThan : & greater ,
1148+ ObjectSizeLessThan : & less ,
1149+ Not : []LifecycleFilterNot {
1150+ {
1151+ Tag : & tag ,
1152+ },
1153+ },
1154+ }
1155+ rule3 := LifecycleRule {
1156+ ID : "r4" ,
1157+ Prefix : "" ,
1158+ Status : "Enabled" ,
1159+ Expiration : & expiration ,
1160+ AbortMultipartUpload : & abortMPU ,
1161+ NonVersionTransitions : []LifecycleVersionTransition {
1162+ {
1163+ NoncurrentDays : 10 ,
1164+ StorageClass : StorageIA ,
1165+ IsAccessTime : & isTrue ,
1166+ ReturnToStdWhenVisit : & isFalse ,
1167+ },
1168+ },
1169+ Filter : & filter3 ,
1170+ }
1171+ rules := []LifecycleRule {rule0 , rule1 , rule2 , rule3 }
11431172 config := LifecycleConfiguration {
11441173 Rules : rules ,
11451174 }
11461175 xmlData , err := xml .Marshal (config )
1176+ testLogger .Println (string (xmlData ))
1177+ c .Assert (err , IsNil )
1178+ c .Assert (string (xmlData ), Equals , "<LifecycleConfiguration><Rule><ID>r0</ID><Prefix>prefix0</Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration></Rule><Rule><ID>r1</ID><Prefix>prefix1</Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration><Transition><Days>30</Days><StorageClass>IA</StorageClass><IsAccessTime>false</IsAccessTime></Transition><Filter><ObjectSizeGreaterThan>500</ObjectSizeGreaterThan><ObjectSizeLessThan>645000</ObjectSizeLessThan></Filter></Rule><Rule><ID>r3</ID><Prefix>prefix3</Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration><AbortMultipartUpload><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></AbortMultipartUpload><NoncurrentVersionTransition><NoncurrentDays>10</NoncurrentDays><StorageClass>IA</StorageClass><IsAccessTime>true</IsAccessTime><ReturnToStdWhenVisit>false</ReturnToStdWhenVisit></NoncurrentVersionTransition></Rule><Rule><ID>r4</ID><Prefix></Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration><AbortMultipartUpload><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></AbortMultipartUpload><NoncurrentVersionTransition><NoncurrentDays>10</NoncurrentDays><StorageClass>IA</StorageClass><IsAccessTime>true</IsAccessTime><ReturnToStdWhenVisit>false</ReturnToStdWhenVisit></NoncurrentVersionTransition><Filter><Not><Prefix></Prefix><Tag><Key>key1</Key><Value>val1</Value></Tag></Not><ObjectSizeGreaterThan>500</ObjectSizeGreaterThan><ObjectSizeLessThan>645000</ObjectSizeLessThan></Filter></Rule></LifecycleConfiguration>" )
1179+
1180+ filter4 := LifecycleFilter {
1181+ ObjectSizeGreaterThan : & greater ,
1182+ ObjectSizeLessThan : & less ,
1183+ Not : []LifecycleFilterNot {
1184+ {},
1185+ },
1186+ }
1187+ rule4 := LifecycleRule {
1188+ ID : "r5" ,
1189+ Prefix : "" ,
1190+ Status : "Enabled" ,
1191+ Expiration : & expiration ,
1192+ Filter : & filter4 ,
1193+ }
1194+ rules4 := []LifecycleRule {rule4 }
1195+ config4 := LifecycleConfiguration {
1196+ Rules : rules4 ,
1197+ }
1198+ xmlData4 , err := xml .Marshal (config4 )
1199+ testLogger .Println (string (xmlData4 ))
11471200 c .Assert (err , IsNil )
1148- c .Assert (string (xmlData ), Equals , "<LifecycleConfiguration><Rule><ID>r0</ID><Prefix>prefix0</Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration></Rule><Rule><ID>r1</ID><Prefix>prefix1</Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration><Transition><Days>30</Days><StorageClass>IA</StorageClass><IsAccessTime>false</IsAccessTime></Transition><Filter><ObjectSizeGreaterThan>500</ObjectSizeGreaterThan><ObjectSizeLessThan>645000</ObjectSizeLessThan></Filter></Rule><Rule><ID>r3</ID><Prefix>prefix3</Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration><AbortMultipartUpload><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></AbortMultipartUpload><NoncurrentVersionTransition><NoncurrentDays>10</NoncurrentDays><StorageClass>IA</StorageClass><IsAccessTime>true</IsAccessTime><ReturnToStdWhenVisit>false</ReturnToStdWhenVisit></NoncurrentVersionTransition></Rule></LifecycleConfiguration>" )
1201+ c .Assert (string (xmlData4 ), Equals , "<LifecycleConfiguration><Rule><ID>r5</ID><Prefix></Prefix><Status>Enabled</Status><Expiration><Days>30</Days><CreatedBeforeDate>2015-11-11T00:00:00.000Z</CreatedBeforeDate></Expiration><Filter><Not><Prefix></Prefix></Not><ObjectSizeGreaterThan>500</ObjectSizeGreaterThan><ObjectSizeLessThan>645000</ObjectSizeLessThan></Filter></Rule></LifecycleConfiguration>" )
11491202}
11501203
11511204// Test Bucket Resource Group
0 commit comments