MCPcopy
hub / github.com/helm/helm / TestStorageDeployed

Function TestStorageDeployed

pkg/storage/storage_test.go:178–219  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

176}
177
178func TestStorageDeployed(t *testing.T) {
179 storage := Init(driver.NewMemory())
180
181 const name = "angry-bird"
182 const vers = 4
183
184 // setup storage with test releases
185 setup := func() {
186 // release records
187 rls0 := ReleaseTestData{Name: name, Version: 1, Status: common.StatusSuperseded}.ToRelease()
188 rls1 := ReleaseTestData{Name: name, Version: 2, Status: common.StatusSuperseded}.ToRelease()
189 rls2 := ReleaseTestData{Name: name, Version: 3, Status: common.StatusSuperseded}.ToRelease()
190 rls3 := ReleaseTestData{Name: name, Version: 4, Status: common.StatusDeployed}.ToRelease()
191
192 // create the release records in the storage
193 assertErrNil(t.Fatal, storage.Create(rls0), "Storing release 'angry-bird' (v1)")
194 assertErrNil(t.Fatal, storage.Create(rls1), "Storing release 'angry-bird' (v2)")
195 assertErrNil(t.Fatal, storage.Create(rls2), "Storing release 'angry-bird' (v3)")
196 assertErrNil(t.Fatal, storage.Create(rls3), "Storing release 'angry-bird' (v4)")
197 }
198
199 setup()
200
201 rls, err := storage.Last(name)
202 if err != nil {
203 t.Fatalf("Failed to query for deployed release: %s\n", err)
204 }
205
206 rel, err := releaserToV1Release(rls)
207 assert.NoError(t, err)
208
209 switch {
210 case rls == nil:
211 t.Fatal("Release is nil")
212 case rel.Name != name:
213 t.Fatalf("Expected release name %q, actual %q\n", name, rel.Name)
214 case rel.Version != vers:
215 t.Fatalf("Expected release version %d, actual %d\n", vers, rel.Version)
216 case rel.Info.Status != common.StatusDeployed:
217 t.Fatalf("Expected release status 'DEPLOYED', actual %s\n", rel.Info.Status.String())
218 }
219}
220
221func TestStorageDeployedWithCorruption(t *testing.T) {
222 storage := Init(driver.NewMemory())

Callers

nothing calls this directly

Calls 11

NewMemoryFunction · 0.92
InitFunction · 0.85
assertErrNilFunction · 0.85
setupFunction · 0.85
ToReleaseMethod · 0.80
LastMethod · 0.80
FatalfMethod · 0.80
FatalMethod · 0.80
releaserToV1ReleaseFunction · 0.70
CreateMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…