Skip to content

Commit 6b5225b

Browse files
yangzong18huiguangjun
authored andcommitted
modify lifecycle node
1 parent 510b2ac commit 6b5225b

File tree

3 files changed

+92
-4
lines changed

3 files changed

+92
-4
lines changed

oss/client_test.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1430,6 +1430,11 @@ func (s *OssClientSuite) TestBucketLifecycleWithFilterSize(c *C) {
14301430
},
14311431
Filter: &filter,
14321432
}
1433+
config4 := LifecycleConfiguration{
1434+
Rules: []LifecycleRule{rule1},
1435+
}
1436+
xmlData4, err := xml.Marshal(config4)
1437+
testLogger.Println(string(xmlData4))
14331438

14341439
rules := []LifecycleRule{rule1}
14351440
client, err := New(endpoint, accessID, accessKey)
@@ -1446,7 +1451,37 @@ func (s *OssClientSuite) TestBucketLifecycleWithFilterSize(c *C) {
14461451

14471452
err = client.DeleteBucketLifecycle(bucketNameTest)
14481453
c.Assert(err, IsNil)
1454+
tag := Tag{Key: "key1", Value: "val1"}
1455+
filter2 := LifecycleFilter{
1456+
ObjectSizeGreaterThan: &greater,
1457+
ObjectSizeLessThan: &less,
1458+
Not: []LifecycleFilterNot{
1459+
{
1460+
Tag: &tag,
1461+
},
1462+
},
1463+
}
1464+
rule2 := LifecycleRule{
1465+
ID: "rs2",
1466+
Prefix: "",
1467+
Status: "Enabled",
1468+
Transitions: []LifecycleTransition{
1469+
{
1470+
Days: 30,
1471+
StorageClass: StorageIA,
1472+
},
1473+
},
1474+
Filter: &filter2,
1475+
}
1476+
rules2 := []LifecycleRule{rule2}
14491477

1478+
err = client.SetBucketLifecycle(bucketNameTest, rules2)
1479+
c.Assert(err, IsNil)
1480+
1481+
_, err = client.GetBucketLifecycle(bucketNameTest)
1482+
c.Assert(err, IsNil)
1483+
1484+
err = client.DeleteBucketLifecycle(bucketNameTest)
14501485
err = client.DeleteBucket(bucketNameTest)
14511486
c.Assert(err, IsNil)
14521487

oss/type.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ type LifecycleFilter struct {
137137
// LifecycleFilterNot defines the rule's Filter Not propery
138138
type LifecycleFilterNot struct {
139139
XMLName xml.Name `xml:"Not"`
140-
Prefix string `xml:"Prefix,omitempty"` //Object prefix applicable to this exclusion rule
141-
Tag *Tag `xml:"Tag,omitempty"` //the tags applicable to this exclusion rule
140+
Prefix string `xml:"Prefix"` //Object prefix applicable to this exclusion rule
141+
Tag *Tag `xml:"Tag,omitempty"` //the tags applicable to this exclusion rule
142142
}
143143

144144
const iso8601DateFormat = "2006-01-02T15:04:05.000Z"

oss/type_test.go

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)