diff options
author | Chris <ccbrown112@gmail.com> | 2017-10-11 12:16:04 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-10-11 12:16:04 -0700 |
commit | aa2b82727f0f1b3edb79f6d31c04b8fd0d718455 (patch) | |
tree | 6a7f4881155c9dd08b73ec8d1f6f566307b7af20 /api/apitestlib.go | |
parent | 675f13c808f4fe0f8a39e75f27d4471eb0680cd9 (diff) | |
download | chat-aa2b82727f0f1b3edb79f6d31c04b8fd0d718455.tar.gz chat-aa2b82727f0f1b3edb79f6d31c04b8fd0d718455.tar.bz2 chat-aa2b82727f0f1b3edb79f6d31c04b8fd0d718455.zip |
fix race condition in tests (#7609)
Diffstat (limited to 'api/apitestlib.go')
-rw-r--r-- | api/apitestlib.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/api/apitestlib.go b/api/apitestlib.go index 3c64d2430..a38c20813 100644 --- a/api/apitestlib.go +++ b/api/apitestlib.go @@ -4,6 +4,7 @@ package api import ( + "net" "strings" "time" @@ -86,7 +87,20 @@ func ReloadConfigForSetup() { *utils.Cfg.TeamSettings.EnableOpenServer = true } +func (me *TestHelper) waitForConnectivity() { + for i := 0; i < 1000; i++ { + _, err := net.Dial("tcp", "localhost"+*utils.Cfg.ServiceSettings.ListenAddress) + if err == nil { + return + } + time.Sleep(time.Millisecond * 20) + } + panic("unable to connect") +} + func (me *TestHelper) InitBasic() *TestHelper { + me.waitForConnectivity() + me.BasicClient = me.CreateClient() me.BasicUser = me.CreateUser(me.BasicClient) me.LoginBasic() @@ -106,6 +120,8 @@ func (me *TestHelper) InitBasic() *TestHelper { } func (me *TestHelper) InitSystemAdmin() *TestHelper { + me.waitForConnectivity() + me.SystemAdminClient = me.CreateClient() me.SystemAdminUser = me.CreateUser(me.SystemAdminClient) me.SystemAdminUser.Password = "Password1" |