(t *testing.T)
| 184 | } |
| 185 | |
| 186 | func TestLifecycleJSONRoundtrip(t *testing.T) { |
| 187 | testNow := time.Date(2021, time.January, 1, 0, 0, 0, 0, time.UTC) |
| 188 | lc := Configuration{ |
| 189 | Rules: []Rule{ |
| 190 | { |
| 191 | RuleFilter: Filter{ |
| 192 | Prefix: "prefix", |
| 193 | }, |
| 194 | Expiration: Expiration{ |
| 195 | Days: ExpirationDays(3), |
| 196 | }, |
| 197 | AbortIncompleteMultipartUpload: AbortIncompleteMultipartUpload{ |
| 198 | DaysAfterInitiation: ExpirationDays(1), |
| 199 | }, |
| 200 | ID: "rule-1", |
| 201 | Status: "Enabled", |
| 202 | }, |
| 203 | { |
| 204 | RuleFilter: Filter{ |
| 205 | And: And{ |
| 206 | Prefix: "prefix", |
| 207 | Tags: []Tag{ |
| 208 | { |
| 209 | Key: "key-1", |
| 210 | Value: "val-1", |
| 211 | }, |
| 212 | }, |
| 213 | }, |
| 214 | }, |
| 215 | Expiration: Expiration{ |
| 216 | Date: ExpirationDate{ |
| 217 | testNow, |
| 218 | }, |
| 219 | }, |
| 220 | NoncurrentVersionExpiration: NoncurrentVersionExpiration{ |
| 221 | NoncurrentDays: ExpirationDays(1), |
| 222 | }, |
| 223 | ID: "rule-2", |
| 224 | Status: "Enabled", |
| 225 | }, |
| 226 | { |
| 227 | Transition: Transition{ |
| 228 | Days: ExpirationDays(3), |
| 229 | StorageClass: "MINIOTIER-1", |
| 230 | }, |
| 231 | Expiration: Expiration{ |
| 232 | DeleteMarker: ExpireDeleteMarker(true), |
| 233 | }, |
| 234 | NoncurrentVersionTransition: NoncurrentVersionTransition{ |
| 235 | NoncurrentDays: ExpirationDays(3), |
| 236 | StorageClass: "MINIOTIER-2", |
| 237 | }, |
| 238 | ID: "rule-3", |
| 239 | Status: "Enabled", |
| 240 | }, |
| 241 | { |
| 242 | Transition: Transition{ |
| 243 | Date: ExpirationDate{testNow}, |
nothing calls this directly
no test coverage detected