Use ObjectInfo.ToLifecycleOpts instead of literal values (#12772)

Promote getLifecycleTransitionTier to a method on lifecycle.Lifecycle.
This commit is contained in:
Krishnan Parthasarathi
2021-07-21 19:12:44 -07:00
committed by GitHub
parent dbd7f74bb9
commit 209e6d00c6
6 changed files with 57 additions and 92 deletions

View File

@@ -516,3 +516,40 @@ func TestSetPredictionHeaders(t *testing.T) {
}
}
}
func TestTransitionTier(t *testing.T) {
lc := Lifecycle{
Rules: []Rule{
{
ID: "rule-1",
Status: "Enabled",
Transition: Transition{
Days: TransitionDays(3),
StorageClass: "TIER-1",
},
},
{
ID: "rule-2",
Status: "Enabled",
NoncurrentVersionTransition: NoncurrentVersionTransition{
NoncurrentDays: ExpirationDays(3),
StorageClass: "TIER-2",
},
},
},
}
obj1 := ObjectOpts{
Name: "obj1",
IsLatest: true,
}
obj2 := ObjectOpts{
Name: "obj2",
}
if got := lc.TransitionTier(obj1); got != "TIER-1" {
t.Fatalf("Expected TIER-1 but got %s", got)
}
if got := lc.TransitionTier(obj2); got != "TIER-2" {
t.Fatalf("Expected TIER-2 but got %s", got)
}
}