Merge pull request #18 from platform9/controller-emptydb-bug
Fix resource store errors on empty db
This commit is contained in:
@@ -132,9 +132,14 @@ func (rs *ResourceStore) delete(typename, rkey string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// getAll finds all entries under key. If none or found or key
|
||||
// doesn't exist, returns an empty slice.
|
||||
func (rs *ResourceStore) getAll(key string) ([]string, error) {
|
||||
resp, err := rs.KeysAPI.Get(context.Background(), key, &client.GetOptions{Recursive: true})
|
||||
if err != nil {
|
||||
if client.IsKeyNotFound(err) {
|
||||
return []string{}, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -69,9 +69,17 @@ func TestResourceStore(t *testing.T) {
|
||||
|
||||
// Delete the key first, in case of a panic'd previous test run; ignore errors
|
||||
_ = rs.delete("TestResource", tr.Key())
|
||||
ks.Delete(context.Background(), "/TestResource", &client.DeleteOptions{Dir: true})
|
||||
|
||||
// Verify getAll for empty db
|
||||
trs, err := rs.getAll("TestResource")
|
||||
panicIf(err)
|
||||
if len(trs) != 0 {
|
||||
log.Fatalf("Expected zero length slice, got %v", trs)
|
||||
}
|
||||
|
||||
// Create
|
||||
err := rs.create(tr)
|
||||
err = rs.create(tr)
|
||||
panicIf(err)
|
||||
defer ks.Delete(context.Background(), "/TestResource", &client.DeleteOptions{Dir: true})
|
||||
defer rs.delete("TestResource", tr.Key())
|
||||
|
||||
Reference in New Issue
Block a user