summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/api.go15
-rw-r--r--api/apitestlib.go62
-rw-r--r--api/emoji_test.go10
3 files changed, 37 insertions, 50 deletions
diff --git a/api/api.go b/api/api.go
index 8e8064731..313cbc7e1 100644
--- a/api/api.go
+++ b/api/api.go
@@ -59,15 +59,16 @@ type Routes struct {
var BaseRoutes *Routes
-func InitRouter() {
- app.Global().Srv.Router = mux.NewRouter()
- app.Global().Srv.Router.NotFoundHandler = http.HandlerFunc(Handle404)
+func NewRouter() *mux.Router {
+ ret := mux.NewRouter()
+ ret.NotFoundHandler = http.HandlerFunc(Handle404)
+ return ret
}
-func InitApi() {
+func InitApi(root *mux.Router) {
BaseRoutes = &Routes{}
- BaseRoutes.Root = app.Global().Srv.Router
- BaseRoutes.ApiRoot = app.Global().Srv.Router.PathPrefix(model.API_URL_SUFFIX_V3).Subrouter()
+ BaseRoutes.Root = root
+ BaseRoutes.ApiRoot = root.PathPrefix(model.API_URL_SUFFIX_V3).Subrouter()
BaseRoutes.Users = BaseRoutes.ApiRoot.PathPrefix("/users").Subrouter()
BaseRoutes.NeedUser = BaseRoutes.Users.PathPrefix("/{user_id:[A-Za-z0-9]+}").Subrouter()
BaseRoutes.Teams = BaseRoutes.ApiRoot.PathPrefix("/teams").Subrouter()
@@ -111,7 +112,7 @@ func InitApi() {
InitDeprecated()
// 404 on any api route before web.go has a chance to serve it
- app.Global().Srv.Router.Handle("/api/{anything:.*}", http.HandlerFunc(Handle404))
+ root.Handle("/api/{anything:.*}", http.HandlerFunc(Handle404))
utils.InitHTML()
diff --git a/api/apitestlib.go b/api/apitestlib.go
index 71a1f59c2..3f63f3ffc 100644
--- a/api/apitestlib.go
+++ b/api/apitestlib.go
@@ -33,35 +33,12 @@ type TestHelper struct {
SystemAdminChannel *model.Channel
}
-func SetupEnterprise() *TestHelper {
- if app.Global().Srv == nil {
- utils.TranslationsPreInit()
- utils.LoadConfig("config.json")
- utils.InitTranslations(utils.Cfg.LocalizationSettings)
- *utils.Cfg.TeamSettings.MaxUsersPerTeam = 50
- *utils.Cfg.RateLimitSettings.Enable = false
- utils.DisableDebugLogForTest()
- utils.License().Features.SetDefaults()
- app.Global().NewServer()
- app.Global().InitStores()
- InitRouter()
- wsapi.InitRouter()
- app.Global().StartServer()
- utils.InitHTML()
- api4.InitApi(false)
- InitApi()
- wsapi.InitApi()
- utils.EnableDebugLogForTest()
- app.Global().Srv.Store.MarkSystemRanUnitTests()
-
- *utils.Cfg.TeamSettings.EnableOpenServer = true
+func setupTestHelper(enterprise bool) *TestHelper {
+ th := &TestHelper{
+ App: app.Global(),
}
- return &TestHelper{}
-}
-
-func Setup() *TestHelper {
- if app.Global().Srv == nil {
+ if th.App.Srv == nil {
utils.TranslationsPreInit()
utils.LoadConfig("config.json")
utils.InitTranslations(utils.Cfg.LocalizationSettings)
@@ -69,21 +46,32 @@ func Setup() *TestHelper {
*utils.Cfg.RateLimitSettings.Enable = false
utils.Cfg.EmailSettings.SendEmailNotifications = true
utils.DisableDebugLogForTest()
- app.Global().NewServer()
- app.Global().InitStores()
- InitRouter()
+ if enterprise {
+ utils.License().Features.SetDefaults()
+ }
+ th.App.NewServer()
+ th.App.InitStores()
+ th.App.Srv.Router = NewRouter()
wsapi.InitRouter()
- app.Global().StartServer()
- api4.InitApi(false)
- InitApi()
+ th.App.StartServer()
+ api4.InitApi(th.App.Srv.Router, false)
+ InitApi(th.App.Srv.Router)
wsapi.InitApi()
utils.EnableDebugLogForTest()
- app.Global().Srv.Store.MarkSystemRanUnitTests()
+ th.App.Srv.Store.MarkSystemRanUnitTests()
*utils.Cfg.TeamSettings.EnableOpenServer = true
}
- return &TestHelper{}
+ return th
+}
+
+func SetupEnterprise() *TestHelper {
+ return setupTestHelper(true)
+}
+
+func Setup() *TestHelper {
+ return setupTestHelper(false)
}
func ReloadConfigForSetup() {
@@ -96,7 +84,6 @@ func ReloadConfigForSetup() {
}
func (me *TestHelper) InitBasic() *TestHelper {
- me.App = app.Global()
me.BasicClient = me.CreateClient()
me.BasicUser = me.CreateUser(me.BasicClient)
me.LoginBasic()
@@ -116,7 +103,6 @@ func (me *TestHelper) InitBasic() *TestHelper {
}
func (me *TestHelper) InitSystemAdmin() *TestHelper {
- me.App = app.Global()
me.SystemAdminClient = me.CreateClient()
me.SystemAdminUser = me.CreateUser(me.SystemAdminClient)
me.SystemAdminUser.Password = "Password1"
@@ -166,7 +152,7 @@ func (me *TestHelper) CreateUser(client *model.Client) *model.User {
utils.DisableDebugLogForTest()
ruser := client.Must(client.CreateUser(user, "")).Data.(*model.User)
ruser.Password = "Password1"
- store.Must(app.Global().Srv.Store.User().VerifyEmail(ruser.Id))
+ store.Must(me.App.Srv.Store.User().VerifyEmail(ruser.Id))
utils.EnableDebugLogForTest()
return ruser
}
diff --git a/api/emoji_test.go b/api/emoji_test.go
index 01fd9411c..443fe7758 100644
--- a/api/emoji_test.go
+++ b/api/emoji_test.go
@@ -226,7 +226,7 @@ func TestDeleteEmoji(t *testing.T) {
}()
*utils.Cfg.ServiceSettings.EnableCustomEmoji = false
- emoji1 := createTestEmoji(t, &model.Emoji{
+ emoji1 := createTestEmoji(t, th.App, &model.Emoji{
CreatorId: th.BasicUser.Id,
Name: model.NewId(),
}, utils.CreateTestGif(t, 10, 10))
@@ -247,7 +247,7 @@ func TestDeleteEmoji(t *testing.T) {
t.Fatal("shouldn't be able to delete an already-deleted emoji")
}
- emoji2 := createTestEmoji(t, &model.Emoji{
+ emoji2 := createTestEmoji(t, th.App, &model.Emoji{
CreatorId: th.BasicUser2.Id,
Name: model.NewId(),
}, utils.CreateTestGif(t, 10, 10))
@@ -263,11 +263,11 @@ func TestDeleteEmoji(t *testing.T) {
}
}
-func createTestEmoji(t *testing.T, emoji *model.Emoji, imageData []byte) *model.Emoji {
- emoji = store.Must(app.Global().Srv.Store.Emoji().Save(emoji)).(*model.Emoji)
+func createTestEmoji(t *testing.T, a *app.App, emoji *model.Emoji, imageData []byte) *model.Emoji {
+ emoji = store.Must(a.Srv.Store.Emoji().Save(emoji)).(*model.Emoji)
if err := utils.WriteFile(imageData, "emoji/"+emoji.Id+"/image"); err != nil {
- store.Must(app.Global().Srv.Store.Emoji().Delete(emoji.Id, time.Now().Unix()))
+ store.Must(a.Srv.Store.Emoji().Delete(emoji.Id, time.Now().Unix()))
t.Fatalf("failed to write image: %v", err.Error())
}