Remove wait group for onboarding complete code (#19580)
* remove wait group for onboarding complete code
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
59a34bfc53
Коммит
a3c1507563
@@ -869,17 +869,32 @@ func TestCompleteOnboarding(t *testing.T) {
|
||||
CheckOKStatus(t, resp)
|
||||
})
|
||||
|
||||
installedPlugins, resp, err := th.SystemAdminClient.GetPlugins()
|
||||
require.NoError(t, err)
|
||||
CheckOKStatus(t, resp)
|
||||
received := make(chan struct{})
|
||||
|
||||
found := false
|
||||
for _, p := range installedPlugins.Active {
|
||||
if p.Id == "testplugin2" {
|
||||
found = true
|
||||
go func() {
|
||||
for {
|
||||
installedPlugins, resp, err := th.SystemAdminClient.GetPlugins()
|
||||
if err != nil || resp.StatusCode != http.StatusOK {
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
continue
|
||||
}
|
||||
|
||||
for _, p := range installedPlugins.Active {
|
||||
if p.Id == "testplugin2" {
|
||||
received <- struct{}{}
|
||||
return
|
||||
}
|
||||
}
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
}
|
||||
}()
|
||||
|
||||
select {
|
||||
case <-received:
|
||||
break
|
||||
case <-time.After(15 * time.Second):
|
||||
require.Fail(t, "timed out waiting testplugin2 to be installed and enabled ")
|
||||
}
|
||||
|
||||
require.True(t, found, "testplugin2 should have been installed and enabled")
|
||||
})
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ package app
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"sync"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
||||
@@ -23,12 +22,9 @@ func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnbo
|
||||
|
||||
pluginContext := pluginContext(c)
|
||||
|
||||
var wg sync.WaitGroup
|
||||
for _, pluginID := range request.InstallPlugins {
|
||||
wg.Add(1)
|
||||
|
||||
go func(id string) {
|
||||
defer wg.Done()
|
||||
installRequest := &model.InstallMarketplacePluginRequest{
|
||||
Id: id,
|
||||
}
|
||||
@@ -68,8 +64,6 @@ func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnbo
|
||||
return model.NewAppError("setFirstAdminCompleteSetup", "api.error_set_first_admin_complete_setup", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user