Fix the resources variable not reset after the resource manager is closed (#1105)
* Fix the resource variable not reset after the resource manager is closed * Format code
This commit is contained in:
@@ -33,7 +33,8 @@ func (manager *ResourceManager) Close() error {
|
||||
be.Add(err)
|
||||
}
|
||||
}
|
||||
|
||||
// reset resources
|
||||
manager.resources = make(map[string]io.Closer)
|
||||
return be.Err()
|
||||
}
|
||||
|
||||
|
||||
@@ -44,3 +44,17 @@ func TestResourceManager_GetResourceError(t *testing.T) {
|
||||
assert.NotNil(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestResourceManager_Close(t *testing.T) {
|
||||
manager := NewResourceManager()
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
_, err := manager.GetResource("key", func() (io.Closer, error) {
|
||||
return nil, errors.New("fail")
|
||||
})
|
||||
assert.NotNil(t, err)
|
||||
}
|
||||
err := manager.Close()
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 0, len(manager.resources))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user