TestUpgradeInitiallyFailedReleaseWithHistoryLimit tests a case when there are no deployed release yet, but history limit has been reached: the has-no-deployed-releases error should not occur in such case.
(t *testing.T)
| 500 | // TestUpgradeInitiallyFailedReleaseWithHistoryLimit tests a case when there are no deployed release yet, but history limit has been |
| 501 | // reached: the has-no-deployed-releases error should not occur in such case. |
| 502 | func TestUpgradeInitiallyFailedReleaseWithHistoryLimit(t *testing.T) { |
| 503 | storage := Init(driver.NewMemory()) |
| 504 | storage.MaxHistory = 4 |
| 505 | |
| 506 | const name = "angry-bird" |
| 507 | |
| 508 | // setup storage with test releases |
| 509 | setup := func() { |
| 510 | // release records |
| 511 | rls0 := ReleaseTestData{Name: name, Version: 1, Status: common.StatusFailed}.ToRelease() |
| 512 | rls1 := ReleaseTestData{Name: name, Version: 2, Status: common.StatusFailed}.ToRelease() |
| 513 | rls2 := ReleaseTestData{Name: name, Version: 3, Status: common.StatusFailed}.ToRelease() |
| 514 | rls3 := ReleaseTestData{Name: name, Version: 4, Status: common.StatusFailed}.ToRelease() |
| 515 | |
| 516 | // create the release records in the storage |
| 517 | assertErrNil(t.Fatal, storage.Create(rls0), "Storing release 'angry-bird' (v1)") |
| 518 | assertErrNil(t.Fatal, storage.Create(rls1), "Storing release 'angry-bird' (v2)") |
| 519 | assertErrNil(t.Fatal, storage.Create(rls2), "Storing release 'angry-bird' (v3)") |
| 520 | assertErrNil(t.Fatal, storage.Create(rls3), "Storing release 'angry-bird' (v4)") |
| 521 | |
| 522 | hist, err := storage.History(name) |
| 523 | if err != nil { |
| 524 | t.Fatalf("unexpected error: %s", err) |
| 525 | } |
| 526 | |
| 527 | wantHistoryLen := 4 |
| 528 | if len(hist) != wantHistoryLen { |
| 529 | t.Fatalf("expected history of release %q to contain %d releases, got %d", name, wantHistoryLen, len(hist)) |
| 530 | } |
| 531 | } |
| 532 | |
| 533 | setup() |
| 534 | |
| 535 | rls5 := ReleaseTestData{Name: name, Version: 5, Status: common.StatusFailed}.ToRelease() |
| 536 | err := storage.Create(rls5) |
| 537 | if err != nil { |
| 538 | t.Fatalf("Failed to create a new release version: %s", err) |
| 539 | } |
| 540 | |
| 541 | hist, err := storage.History(name) |
| 542 | if err != nil { |
| 543 | t.Fatalf("unexpected error: %s", err) |
| 544 | } |
| 545 | |
| 546 | rhist, err := releaseListToV1List(hist) |
| 547 | assert.NoError(t, err) |
| 548 | for i, rel := range rhist { |
| 549 | wantVersion := i + 2 |
| 550 | if rel.Version != wantVersion { |
| 551 | t.Fatalf("Expected history release %d version to equal %d, got %d", i+1, wantVersion, rel.Version) |
| 552 | } |
| 553 | |
| 554 | wantStatus := common.StatusFailed |
| 555 | if rel.Info.Status != wantStatus { |
| 556 | t.Fatalf("Expected history release %d status to equal %q, got %q", i+1, wantStatus, rel.Info.Status) |
| 557 | } |
| 558 | } |
| 559 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…