mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-11-28 12:21:12 +00:00
Fix secret/configmap management for terminated pods
This commit is contained in:
@@ -429,6 +429,37 @@ func TestCacheInvalidation(t *testing.T) {
|
||||
fakeClient.ClearActions()
|
||||
}
|
||||
|
||||
func TestRegisterIdempotence(t *testing.T) {
|
||||
fakeClient := &fake.Clientset{}
|
||||
fakeClock := clock.NewFakeClock(time.Now())
|
||||
store := newSecretStore(fakeClient, fakeClock, noObjectTTL, time.Minute)
|
||||
manager := newCacheBasedSecretManager(store)
|
||||
|
||||
s1 := secretsToAttach{
|
||||
imagePullSecretNames: []string{"s1"},
|
||||
}
|
||||
|
||||
refs := func(ns, name string) int {
|
||||
store.lock.Lock()
|
||||
defer store.lock.Unlock()
|
||||
item, ok := store.items[objectKey{ns, name}]
|
||||
if !ok {
|
||||
return 0
|
||||
}
|
||||
return item.refCount
|
||||
}
|
||||
|
||||
manager.RegisterPod(podWithSecrets("ns1", "name1", s1))
|
||||
assert.Equal(t, 1, refs("ns1", "s1"))
|
||||
manager.RegisterPod(podWithSecrets("ns1", "name1", s1))
|
||||
assert.Equal(t, 1, refs("ns1", "s1"))
|
||||
|
||||
manager.UnregisterPod(podWithSecrets("ns1", "name1", s1))
|
||||
assert.Equal(t, 0, refs("ns1", "s1"))
|
||||
manager.UnregisterPod(podWithSecrets("ns1", "name1", s1))
|
||||
assert.Equal(t, 0, refs("ns1", "s1"))
|
||||
}
|
||||
|
||||
func TestCacheRefcounts(t *testing.T) {
|
||||
fakeClient := &fake.Clientset{}
|
||||
fakeClock := clock.NewFakeClock(time.Now())
|
||||
|
||||
Reference in New Issue
Block a user