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)
|
be.Add(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// reset resources
|
||||||
|
manager.resources = make(map[string]io.Closer)
|
||||||
return be.Err()
|
return be.Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,3 +44,17 @@ func TestResourceManager_GetResourceError(t *testing.T) {
|
|||||||
assert.NotNil(t, err)
|
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