Skip to content

Commit 7f9c7f3

Browse files
add purge function
1 parent 0277ca1 commit 7f9c7f3

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

store.go

+8
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,14 @@ func (s Store) Set(key string, value string) {
162162
s.Unlock()
163163
}
164164

165+
func (s Store) Purge() {
166+
s.Lock()
167+
for k := range s.m {
168+
delete(s.m, k)
169+
}
170+
s.Unlock()
171+
}
172+
165173
func stripKey(key, prefix string) string {
166174
return strings.TrimPrefix(strings.TrimPrefix(key, prefix), "/")
167175
}

store_test.go

+22
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,28 @@ func TestDel(t *testing.T) {
9393
s.Del("/app/port")
9494
}
9595

96+
func TestPurge(t *testing.T) {
97+
s := New()
98+
s.Set("/app/port", "8080")
99+
want := KVPair{"/app/port", "8080"}
100+
got, err := s.Get("/app/port")
101+
if err != nil || got != want {
102+
t.Errorf("Get(%q) = %v, %v, want %v, %v", "/app/port", got, err, want, true)
103+
}
104+
s.Purge()
105+
want = KVPair{}
106+
got, err = s.Get("/app/port")
107+
if err != ErrNotExist || got != want {
108+
t.Errorf("Get(%q) = %v, %v, want %v, %v", "/app/port", got, err, want, false)
109+
}
110+
s.Set("/app/port", "8080")
111+
want = KVPair{"/app/port", "8080"}
112+
got, err = s.Get("/app/port")
113+
if err != nil || got != want {
114+
t.Errorf("Get(%q) = %v, %v, want %v, %v", "/app/port", got, err, want, true)
115+
}
116+
}
117+
96118
var listTestMap = map[string]string{
97119
"/deis/database/user": "user",
98120
"/deis/database/pass": "pass",

0 commit comments

Comments
 (0)