mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-08 05:57:03 +09:00
IterateComponents: Add test and comment
This commit is contained in:
parent
fa178d7c26
commit
4eb2245669
2 changed files with 16 additions and 0 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue