summaryrefslogtreecommitdiffstats
path: root/api4/apitestlib.go
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-10-02 03:50:56 -0500
committerGeorge Goldberg <george@gberg.me>2017-10-02 09:50:56 +0100
commit9bc7af0c5704bbf73f8240b4569d5ea215352e39 (patch)
treeb17ddafc83ab43ccdce2116e83358299a08a50a6 /api4/apitestlib.go
parentb84736e9b6401df0c6eeab9950bef09458a6aefd (diff)
downloadchat-9bc7af0c5704bbf73f8240b4569d5ea215352e39.tar.gz
chat-9bc7af0c5704bbf73f8240b4569d5ea215352e39.tar.bz2
chat-9bc7af0c5704bbf73f8240b4569d5ea215352e39.zip
Don't use global app for api / api4 tests (#7528)
* don't use global app for api / api4 tests * put sleep back. we're gonna have to do some goroutine wrangling * fix oauth test config assumptions * jobs package, i'm comin' for you next * app test fix * try increasing sleep a little
Diffstat (limited to 'api4/apitestlib.go')
-rw-r--r--api4/apitestlib.go60
1 files changed, 26 insertions, 34 deletions
diff --git a/api4/apitestlib.go b/api4/apitestlib.go
index 301e312da..f3c9c1634 100644
--- a/api4/apitestlib.go
+++ b/api4/apitestlib.go
@@ -5,6 +5,7 @@ package api4
import (
"bytes"
+ "fmt"
"io"
"net/http"
"os"
@@ -46,7 +47,7 @@ type TestHelper struct {
func setupTestHelper(enterprise bool) *TestHelper {
th := &TestHelper{
- App: app.Global(),
+ App: app.New(),
}
if th.App.Srv == nil {
@@ -75,9 +76,7 @@ func setupTestHelper(enterprise bool) *TestHelper {
utils.License().Features.SetDefaults()
}
- if th.App.Jobs.Store == nil {
- th.App.Jobs.Store = th.App.Srv.Store
- }
+ th.App.Jobs.Store = th.App.Srv.Store
th.Client = th.CreateClient()
th.SystemAdminClient = th.CreateClient()
@@ -92,13 +91,7 @@ func Setup() *TestHelper {
return setupTestHelper(false)
}
-func StopServer() {
- if app.Global().Srv != nil {
- app.Global().StopServer()
- }
-}
-
-func TearDown() {
+func (me *TestHelper) TearDown() {
utils.DisableDebugLogForTest()
var wg sync.WaitGroup
@@ -108,13 +101,13 @@ func TearDown() {
defer wg.Done()
options := map[string]bool{}
options[store.USER_SEARCH_OPTION_NAMES_ONLY_NO_FULL_NAME] = true
- if result := <-app.Global().Srv.Store.User().Search("", "fakeuser", options); result.Err != nil {
+ if result := <-me.App.Srv.Store.User().Search("", "fakeuser", options); result.Err != nil {
l4g.Error("Error tearing down test users")
} else {
users := result.Data.([]*model.User)
for _, u := range users {
- if err := app.Global().PermanentDeleteUser(u); err != nil {
+ if err := me.App.PermanentDeleteUser(u); err != nil {
l4g.Error(err.Error())
}
}
@@ -123,13 +116,13 @@ func TearDown() {
go func() {
defer wg.Done()
- if result := <-app.Global().Srv.Store.Team().SearchByName("faketeam"); result.Err != nil {
+ if result := <-me.App.Srv.Store.Team().SearchByName("faketeam"); result.Err != nil {
l4g.Error("Error tearing down test teams")
} else {
teams := result.Data.([]*model.Team)
for _, t := range teams {
- if err := app.Global().PermanentDeleteTeam(t); err != nil {
+ if err := me.App.PermanentDeleteTeam(t); err != nil {
l4g.Error(err.Error())
}
}
@@ -138,14 +131,14 @@ func TearDown() {
go func() {
defer wg.Done()
- if result := <-app.Global().Srv.Store.OAuth().GetApps(0, 1000); result.Err != nil {
+ if result := <-me.App.Srv.Store.OAuth().GetApps(0, 1000); result.Err != nil {
l4g.Error("Error tearing down test oauth apps")
} else {
apps := result.Data.([]*model.OAuthApp)
for _, a := range apps {
if strings.HasPrefix(a.Name, "fakeoauthapp") {
- <-app.Global().Srv.Store.OAuth().DeleteApp(a.Id)
+ <-me.App.Srv.Store.OAuth().DeleteApp(a.Id)
}
}
}
@@ -153,6 +146,8 @@ func TearDown() {
wg.Wait()
+ me.App.Shutdown()
+
utils.EnableDebugLogForTest()
}
@@ -165,9 +160,9 @@ func (me *TestHelper) InitBasic() *TestHelper {
me.BasicChannel2 = me.CreatePublicChannel()
me.BasicPost = me.CreatePost()
me.BasicUser = me.CreateUser()
- LinkUserToTeam(me.BasicUser, me.BasicTeam)
+ me.LinkUserToTeam(me.BasicUser, me.BasicTeam)
me.BasicUser2 = me.CreateUser()
- LinkUserToTeam(me.BasicUser2, me.BasicTeam)
+ me.LinkUserToTeam(me.BasicUser2, me.BasicTeam)
me.App.AddUserToChannel(me.BasicUser, me.BasicChannel)
me.App.AddUserToChannel(me.BasicUser2, me.BasicChannel)
me.App.AddUserToChannel(me.BasicUser, me.BasicChannel2)
@@ -232,9 +227,10 @@ func (me *TestHelper) CreateUserWithClient(client *model.Client4) *model.User {
}
utils.DisableDebugLogForTest()
- ruser, _ := client.CreateUser(user)
+ ruser, r := client.CreateUser(user)
+ fmt.Println(r)
ruser.Password = "Password1"
- VerifyUserEmail(ruser.Id)
+ store.Must(me.App.Srv.Store.User().VerifyEmail(ruser.Id))
utils.EnableDebugLogForTest()
return ruser
}
@@ -379,10 +375,10 @@ func (me *TestHelper) UpdateActiveUser(user *model.User, active bool) {
utils.EnableDebugLogForTest()
}
-func LinkUserToTeam(user *model.User, team *model.Team) {
+func (me *TestHelper) LinkUserToTeam(user *model.User, team *model.Team) {
utils.DisableDebugLogForTest()
- err := app.Global().JoinUserToTeam(team, user, "")
+ err := me.App.JoinUserToTeam(team, user, "")
if err != nil {
l4g.Error(err.Error())
l4g.Close()
@@ -417,10 +413,6 @@ func GenerateTestId() string {
return model.NewId()
}
-func VerifyUserEmail(userId string) {
- store.Must(app.Global().Srv.Store.User().VerifyEmail(userId))
-}
-
func CheckUserSanitization(t *testing.T, user *model.User) {
if user.Password != "" {
t.Fatal("password wasn't blank")
@@ -683,13 +675,13 @@ func cleanupTestFile(info *model.FileInfo) error {
return nil
}
-func MakeUserChannelAdmin(user *model.User, channel *model.Channel) {
+func (me *TestHelper) MakeUserChannelAdmin(user *model.User, channel *model.Channel) {
utils.DisableDebugLogForTest()
- if cmr := <-app.Global().Srv.Store.Channel().GetMember(channel.Id, user.Id); cmr.Err == nil {
+ if cmr := <-me.App.Srv.Store.Channel().GetMember(channel.Id, user.Id); cmr.Err == nil {
cm := cmr.Data.(*model.ChannelMember)
cm.Roles = "channel_admin channel_user"
- if sr := <-app.Global().Srv.Store.Channel().UpdateMember(cm); sr.Err != nil {
+ if sr := <-me.App.Srv.Store.Channel().UpdateMember(cm); sr.Err != nil {
utils.EnableDebugLogForTest()
panic(sr.Err)
}
@@ -701,11 +693,11 @@ func MakeUserChannelAdmin(user *model.User, channel *model.Channel) {
utils.EnableDebugLogForTest()
}
-func UpdateUserToTeamAdmin(user *model.User, team *model.Team) {
+func (me *TestHelper) UpdateUserToTeamAdmin(user *model.User, team *model.Team) {
utils.DisableDebugLogForTest()
tm := &model.TeamMember{TeamId: team.Id, UserId: user.Id, Roles: model.ROLE_TEAM_USER.Id + " " + model.ROLE_TEAM_ADMIN.Id}
- if tmr := <-app.Global().Srv.Store.Team().UpdateMember(tm); tmr.Err != nil {
+ if tmr := <-me.App.Srv.Store.Team().UpdateMember(tm); tmr.Err != nil {
utils.EnableDebugLogForTest()
l4g.Error(tmr.Err.Error())
l4g.Close()
@@ -715,11 +707,11 @@ func UpdateUserToTeamAdmin(user *model.User, team *model.Team) {
utils.EnableDebugLogForTest()
}
-func UpdateUserToNonTeamAdmin(user *model.User, team *model.Team) {
+func (me *TestHelper) UpdateUserToNonTeamAdmin(user *model.User, team *model.Team) {
utils.DisableDebugLogForTest()
tm := &model.TeamMember{TeamId: team.Id, UserId: user.Id, Roles: model.ROLE_TEAM_USER.Id}
- if tmr := <-app.Global().Srv.Store.Team().UpdateMember(tm); tmr.Err != nil {
+ if tmr := <-me.App.Srv.Store.Team().UpdateMember(tm); tmr.Err != nil {
utils.EnableDebugLogForTest()
l4g.Error(tmr.Err.Error())
l4g.Close()