@@ -130,3 +130,54 @@ func TestDeleteNonExisting(t *testing.T) {
130130 t .Errorf ("Expected error ErrNotFound, got %s" , err )
131131 }
132132}
133+
134+ // TestDeleteAll tests deleting all secrets for a given service.
135+ func TestDeleteAll (t * testing.T ) {
136+ // Set up multiple secrets for the same service
137+ err := Set (service , user , password )
138+ if err != nil {
139+ t .Errorf ("Should not fail, got: %s" , err )
140+ }
141+
142+ err = Set (service , user + "2" , password + "2" )
143+ if err != nil {
144+ t .Errorf ("Should not fail, got: %s" , err )
145+ }
146+
147+ // Delete all secrets for the service
148+ err = DeleteAll (service )
149+ if err != nil {
150+ t .Errorf ("Should not fail, got: %s" , err )
151+ }
152+
153+ // Verify that all secrets for the service are deleted
154+ _ , err = Get (service , user )
155+ if err != ErrNotFound {
156+ t .Errorf ("Expected error ErrNotFound, got %s" , err )
157+ }
158+
159+ _ , err = Get (service , user + "2" )
160+ if err != ErrNotFound {
161+ t .Errorf ("Expected error ErrNotFound, got %s" , err )
162+ }
163+
164+ // Verify that DeleteAll on an empty service doesn't cause an error
165+ err = DeleteAll (service )
166+ if err != nil {
167+ t .Errorf ("Should not fail on empty service, got: %s" , err )
168+ }
169+ }
170+
171+ // TestDeleteAll with empty service name
172+ func TestDeleteAllEmptyService (t * testing.T ) {
173+ err := Set (service , user , password )
174+
175+ if err != nil {
176+ t .Errorf ("Should not fail, got: %s" , err )
177+ }
178+ _ = DeleteAll ("" )
179+ _ , err = Get (service , user )
180+ if err == ErrNotFound {
181+ t .Errorf ("Should not have deleted secret from another service" )
182+ }
183+ }
0 commit comments