mirror of
https://github.com/minio/minio.git
synced 2025-01-24 13:13:16 -05:00
fix: lifecycle-expiration validation bug (#10327)
This commit is contained in:
parent
c097ce9c32
commit
5f7bd2b1da
@ -24,7 +24,7 @@ import (
|
||||
var (
|
||||
errLifecycleInvalidDate = Errorf("Date must be provided in ISO 8601 format")
|
||||
errLifecycleInvalidDays = Errorf("Days must be positive integer when used with Expiration")
|
||||
errLifecycleInvalidExpiration = Errorf("At least one of Days or Date should be present inside Expiration")
|
||||
errLifecycleInvalidExpiration = Errorf("Exactly one of Days (positive integer) or Date (positive ISO 8601 format) should be present inside Expiration.")
|
||||
errLifecycleInvalidDeleteMarker = Errorf("Delete marker cannot be specified with Days or Date in a Lifecycle Expiration Policy")
|
||||
errLifecycleDateNotMidnight = Errorf("'Date' must be at midnight GMT")
|
||||
)
|
||||
|
@ -80,7 +80,7 @@ func TestInvalidExpiration(t *testing.T) {
|
||||
</Expiration>`,
|
||||
expectedErr: errLifecycleInvalidExpiration,
|
||||
},
|
||||
{ // Expiration with both number of days nor a date
|
||||
{ // Expiration with both number of days and a date
|
||||
inputXML: `<Expiration>
|
||||
<Days>3</Days>
|
||||
<Date>2019-04-20T00:00:00Z</Date>
|
||||
|
@ -46,10 +46,9 @@ type Rule struct {
|
||||
}
|
||||
|
||||
var (
|
||||
errInvalidRuleID = Errorf("ID length is limited to 255 characters")
|
||||
errEmptyRuleStatus = Errorf("Status should not be empty")
|
||||
errInvalidRuleStatus = Errorf("Status must be set to either Enabled or Disabled")
|
||||
errMissingExpirationAction = Errorf("No expiration action found")
|
||||
errInvalidRuleID = Errorf("ID length is limited to 255 characters")
|
||||
errEmptyRuleStatus = Errorf("Status should not be empty")
|
||||
errInvalidRuleStatus = Errorf("Status must be set to either Enabled or Disabled")
|
||||
)
|
||||
|
||||
// generates random UUID
|
||||
@ -94,10 +93,7 @@ func (r Rule) validateStatus() error {
|
||||
}
|
||||
|
||||
func (r Rule) validateAction() error {
|
||||
if r.Expiration == (Expiration{}) {
|
||||
return errMissingExpirationAction
|
||||
}
|
||||
return nil
|
||||
return r.Expiration.Validate()
|
||||
}
|
||||
|
||||
func (r Rule) validateFilter() error {
|
||||
|
@ -67,7 +67,7 @@ func TestInvalidRules(t *testing.T) {
|
||||
<ID>rule without expiration</ID>
|
||||
<Status>Enabled</Status>
|
||||
</Rule>`,
|
||||
expectedErr: errMissingExpirationAction,
|
||||
expectedErr: errLifecycleInvalidExpiration,
|
||||
},
|
||||
{ // Rule with ID longer than 255 characters
|
||||
inputXML: ` <Rule>
|
||||
|
Loading…
x
Reference in New Issue
Block a user