IterateComponents: Add test and comment
This commit is contained in:
parent
fa178d7c26
commit
4eb2245669
@ -262,6 +262,7 @@ func (app *App) Start(ctx context.Context) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IterateComponents iterates over all registered components. It's safe for concurrent use.
|
||||||
func (app *App) IterateComponents(fn func(Component)) {
|
func (app *App) IterateComponents(fn func(Component)) {
|
||||||
app.mu.RLock()
|
app.mu.RLock()
|
||||||
defer app.mu.RUnlock()
|
defer app.mu.RUnlock()
|
||||||
|
|||||||
@ -55,6 +55,21 @@ func TestAppServiceRegistry(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestApp_IterateComponents(t *testing.T) {
|
||||||
|
app := new(App)
|
||||||
|
|
||||||
|
app.Register(newTestService(testTypeRunnable, "c1", nil, nil))
|
||||||
|
app.Register(newTestService(testTypeRunnable, "r1", nil, nil))
|
||||||
|
app.Register(newTestService(testTypeComponent, "s1", nil, nil))
|
||||||
|
|
||||||
|
var got []string
|
||||||
|
app.IterateComponents(func(s Component) {
|
||||||
|
got = append(got, s.Name())
|
||||||
|
})
|
||||||
|
|
||||||
|
assert.ElementsMatch(t, []string{"c1", "r1", "s1"}, got)
|
||||||
|
}
|
||||||
|
|
||||||
func TestAppStart(t *testing.T) {
|
func TestAppStart(t *testing.T) {
|
||||||
t.Run("SuccessStartStop", func(t *testing.T) {
|
t.Run("SuccessStartStop", func(t *testing.T) {
|
||||||
app := new(App)
|
app := new(App)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user