MCPcopy
hub / github.com/helm/helm / TestMemoryDelete

Function TestMemoryDelete

pkg/storage/driver/memory_test.go:241–304  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

239}
240
241func TestMemoryDelete(t *testing.T) {
242 var tests = []struct {
243 desc string
244 key string
245 namespace string
246 err bool
247 }{
248 {"release key should exist", "rls-a.v4", "default", false},
249 {"release key should not exist", "rls-a.v5", "default", true},
250 {"release key from other namespace should not exist", "rls-c.v4", "default", true},
251 {"release key from namespace should exist", "rls-c.v4", "mynamespace", false},
252 {"release key from namespace should not exist", "rls-c.v5", "mynamespace", true},
253 {"release key from namespace2 should not exist", "rls-a.v4", "mynamespace", true},
254 }
255
256 ts := tsFixtureMemory(t)
257 ts.SetNamespace("")
258 start, err := ts.Query(map[string]string{"status": "deployed"})
259 if err != nil {
260 t.Errorf("Query failed: %s", err)
261 }
262 startLen := len(start)
263 for _, tt := range tests {
264 ts.SetNamespace(tt.namespace)
265
266 rel, err := ts.Delete(tt.key)
267 var rls *rspb.Release
268 if err == nil {
269 rls = convertReleaserToV1(t, rel)
270 }
271 if err != nil {
272 if !tt.err {
273 t.Fatalf("Failed %q to get '%s': %q\n", tt.desc, tt.key, err)
274 }
275 continue
276 } else if tt.err {
277 t.Fatalf("Did not get expected error for %q '%s'\n", tt.desc, tt.key)
278 } else if fmt.Sprintf("%s.v%d", rls.Name, rls.Version) != tt.key {
279 t.Fatalf("Asked for delete on %s, but deleted %d", tt.key, rls.Version)
280 }
281 _, err = ts.Get(tt.key)
282 if err == nil {
283 t.Error("Expected an error when asking for a deleted key")
284 }
285 }
286
287 // Make sure that the deleted records are gone.
288 ts.SetNamespace("")
289 end, err := ts.Query(map[string]string{"status": "deployed"})
290 if err != nil {
291 t.Errorf("Query failed: %s", err)
292 }
293 endLen := len(end)
294
295 if startLen-2 != endLen {
296 t.Errorf("expected end to be %d instead of %d", startLen-2, endLen)
297 for _, ee := range end {
298 rac, err := release.NewAccessor(ee)

Callers

nothing calls this directly

Calls 10

NameMethod · 0.95
VersionMethod · 0.95
tsFixtureMemoryFunction · 0.85
convertReleaserToV1Function · 0.85
FatalfMethod · 0.80
QueryMethod · 0.65
DeleteMethod · 0.65
GetMethod · 0.65
SetNamespaceMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…