Finally remove utils.Cfg (#8113)
* finally remove utils.Cfg * fix compile error * another test compilation fix
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
dce0616305
Коммит
4e6cc846a6
@@ -5,6 +5,8 @@ package api
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"io/ioutil"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -24,7 +26,7 @@ import (
|
|||||||
|
|
||||||
type TestHelper struct {
|
type TestHelper struct {
|
||||||
App *app.App
|
App *app.App
|
||||||
originalConfig *model.Config
|
tempConfigPath string
|
||||||
|
|
||||||
BasicClient *model.Client
|
BasicClient *model.Client
|
||||||
BasicTeam *model.Team
|
BasicTeam *model.Team
|
||||||
@@ -64,7 +66,22 @@ func StopTestStore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setupTestHelper(enterprise bool) *TestHelper {
|
func setupTestHelper(enterprise bool) *TestHelper {
|
||||||
options := []app.Option{app.DisableConfigWatch}
|
permConfig, err := os.Open(utils.FindConfigFile("config.json"))
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer permConfig.Close()
|
||||||
|
tempConfig, err := ioutil.TempFile("", "")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
_, err = io.Copy(tempConfig, permConfig)
|
||||||
|
tempConfig.Close()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
options := []app.Option{app.ConfigFile(tempConfig.Name()), app.DisableConfigWatch}
|
||||||
if testStore != nil {
|
if testStore != nil {
|
||||||
options = append(options, app.StoreOverride(testStore))
|
options = append(options, app.StoreOverride(testStore))
|
||||||
}
|
}
|
||||||
@@ -75,9 +92,9 @@ func setupTestHelper(enterprise bool) *TestHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
th := &TestHelper{
|
th := &TestHelper{
|
||||||
App: a,
|
App: a,
|
||||||
|
tempConfigPath: tempConfig.Name(),
|
||||||
}
|
}
|
||||||
th.originalConfig = th.App.Config().Clone()
|
|
||||||
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||||
*cfg.TeamSettings.MaxUsersPerTeam = 50
|
*cfg.TeamSettings.MaxUsersPerTeam = 50
|
||||||
@@ -176,7 +193,7 @@ func (me *TestHelper) CreateTeam(client *model.Client) *model.Team {
|
|||||||
team := &model.Team{
|
team := &model.Team{
|
||||||
DisplayName: "dn_" + id,
|
DisplayName: "dn_" + id,
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: me.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,7 +207,7 @@ func (me *TestHelper) CreateUser(client *model.Client) *model.User {
|
|||||||
id := model.NewId()
|
id := model.NewId()
|
||||||
|
|
||||||
user := &model.User{
|
user := &model.User{
|
||||||
Email: GenerateTestEmail(),
|
Email: me.GenerateTestEmail(),
|
||||||
Username: "un_" + id,
|
Username: "un_" + id,
|
||||||
Nickname: "nn_" + id,
|
Nickname: "nn_" + id,
|
||||||
Password: "Password1",
|
Password: "Password1",
|
||||||
@@ -353,8 +370,8 @@ func (me *TestHelper) LoginSystemAdmin() {
|
|||||||
utils.EnableDebugLogForTest()
|
utils.EnableDebugLogForTest()
|
||||||
}
|
}
|
||||||
|
|
||||||
func GenerateTestEmail() string {
|
func (me *TestHelper) GenerateTestEmail() string {
|
||||||
if utils.Cfg.EmailSettings.SMTPServer != "dockerhost" && os.Getenv("CI_INBUCKET_PORT") == "" {
|
if me.App.Config().EmailSettings.SMTPServer != "dockerhost" && os.Getenv("CI_INBUCKET_PORT") == "" {
|
||||||
return strings.ToLower("success+" + model.NewId() + "@simulator.amazonses.com")
|
return strings.ToLower("success+" + model.NewId() + "@simulator.amazonses.com")
|
||||||
}
|
}
|
||||||
return strings.ToLower(model.NewId() + "@dockerhost")
|
return strings.ToLower(model.NewId() + "@dockerhost")
|
||||||
@@ -365,11 +382,8 @@ func GenerateTestTeamName() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (me *TestHelper) TearDown() {
|
func (me *TestHelper) TearDown() {
|
||||||
me.App.UpdateConfig(func(cfg *model.Config) {
|
|
||||||
*cfg = *me.originalConfig
|
|
||||||
})
|
|
||||||
|
|
||||||
me.App.Shutdown()
|
me.App.Shutdown()
|
||||||
|
os.Remove(me.tempConfigPath)
|
||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
StopTestStore()
|
StopTestStore()
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|||||||
@@ -88,8 +88,6 @@ func TestOAuthRegisterApp(t *testing.T) {
|
|||||||
t.Fatal("should have failed. not enough permissions")
|
t.Fatal("should have failed. not enough permissions")
|
||||||
}
|
}
|
||||||
|
|
||||||
adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
|
||||||
|
|
||||||
th.LoginBasic()
|
th.LoginBasic()
|
||||||
@@ -741,9 +739,6 @@ func TestOAuthComplete(t *testing.T) {
|
|||||||
|
|
||||||
// We are going to use mattermost as the provider emulating gitlab
|
// We are going to use mattermost as the provider emulating gitlab
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
|
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
|
||||||
|
|
||||||
adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
|
||||||
|
|
||||||
oauthApp := &model.OAuthApp{
|
oauthApp := &model.OAuthApp{
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ func TestCreateTeamSanitization(t *testing.T) {
|
|||||||
team := &model.Team{
|
team := &model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}
|
}
|
||||||
@@ -84,7 +84,7 @@ func TestCreateTeamSanitization(t *testing.T) {
|
|||||||
team := &model.Team{
|
team := &model.Team{
|
||||||
DisplayName: t.Name() + "_2",
|
DisplayName: t.Name() + "_2",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}
|
}
|
||||||
@@ -304,7 +304,7 @@ func TestGetAllTeamsSanitization(t *testing.T) {
|
|||||||
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@@ -317,7 +317,7 @@ func TestGetAllTeamsSanitization(t *testing.T) {
|
|||||||
if res, err := th.SystemAdminClient.CreateTeam(&model.Team{
|
if res, err := th.SystemAdminClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_2",
|
DisplayName: t.Name() + "_2",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@@ -418,7 +418,7 @@ func TestGetAllTeamListingsSanitization(t *testing.T) {
|
|||||||
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
AllowOpenInvite: true,
|
AllowOpenInvite: true,
|
||||||
@@ -432,7 +432,7 @@ func TestGetAllTeamListingsSanitization(t *testing.T) {
|
|||||||
if res, err := th.SystemAdminClient.CreateTeam(&model.Team{
|
if res, err := th.SystemAdminClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_2",
|
DisplayName: t.Name() + "_2",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
AllowOpenInvite: true,
|
AllowOpenInvite: true,
|
||||||
@@ -665,7 +665,7 @@ func TestUpdateTeamSanitization(t *testing.T) {
|
|||||||
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@@ -772,7 +772,7 @@ func TestGetMyTeamSanitization(t *testing.T) {
|
|||||||
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@@ -1192,7 +1192,7 @@ func TestGetTeamByNameSanitization(t *testing.T) {
|
|||||||
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
if res, err := th.BasicClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"io/ioutil"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
@@ -33,7 +34,7 @@ import (
|
|||||||
|
|
||||||
type TestHelper struct {
|
type TestHelper struct {
|
||||||
App *app.App
|
App *app.App
|
||||||
originalConfig *model.Config
|
tempConfigPath string
|
||||||
|
|
||||||
Client *model.Client4
|
Client *model.Client4
|
||||||
BasicUser *model.User
|
BasicUser *model.User
|
||||||
@@ -73,7 +74,22 @@ func StopTestStore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setupTestHelper(enterprise bool) *TestHelper {
|
func setupTestHelper(enterprise bool) *TestHelper {
|
||||||
options := []app.Option{app.DisableConfigWatch}
|
permConfig, err := os.Open(utils.FindConfigFile("config.json"))
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer permConfig.Close()
|
||||||
|
tempConfig, err := ioutil.TempFile("", "")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
_, err = io.Copy(tempConfig, permConfig)
|
||||||
|
tempConfig.Close()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
options := []app.Option{app.ConfigFile(tempConfig.Name()), app.DisableConfigWatch}
|
||||||
if testStore != nil {
|
if testStore != nil {
|
||||||
options = append(options, app.StoreOverride(testStore))
|
options = append(options, app.StoreOverride(testStore))
|
||||||
}
|
}
|
||||||
@@ -84,9 +100,9 @@ func setupTestHelper(enterprise bool) *TestHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
th := &TestHelper{
|
th := &TestHelper{
|
||||||
App: a,
|
App: a,
|
||||||
|
tempConfigPath: tempConfig.Name(),
|
||||||
}
|
}
|
||||||
th.originalConfig = th.App.Config().Clone()
|
|
||||||
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||||
*cfg.TeamSettings.MaxUsersPerTeam = 50
|
*cfg.TeamSettings.MaxUsersPerTeam = 50
|
||||||
@@ -178,11 +194,8 @@ func (me *TestHelper) TearDown() {
|
|||||||
|
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
me.App.UpdateConfig(func(cfg *model.Config) {
|
|
||||||
*cfg = *me.originalConfig
|
|
||||||
})
|
|
||||||
|
|
||||||
me.App.Shutdown()
|
me.App.Shutdown()
|
||||||
|
os.Remove(me.tempConfigPath)
|
||||||
|
|
||||||
utils.EnableDebugLogForTest()
|
utils.EnableDebugLogForTest()
|
||||||
|
|
||||||
@@ -262,7 +275,7 @@ func (me *TestHelper) CreateTeamWithClient(client *model.Client4) *model.Team {
|
|||||||
team := &model.Team{
|
team := &model.Team{
|
||||||
DisplayName: "dn_" + id,
|
DisplayName: "dn_" + id,
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: me.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,7 +289,7 @@ func (me *TestHelper) CreateUserWithClient(client *model.Client4) *model.User {
|
|||||||
id := model.NewId()
|
id := model.NewId()
|
||||||
|
|
||||||
user := &model.User{
|
user := &model.User{
|
||||||
Email: GenerateTestEmail(),
|
Email: me.GenerateTestEmail(),
|
||||||
Username: GenerateTestUsername(),
|
Username: GenerateTestUsername(),
|
||||||
Nickname: "nn_" + id,
|
Nickname: "nn_" + id,
|
||||||
FirstName: "f_" + id,
|
FirstName: "f_" + id,
|
||||||
@@ -451,8 +464,8 @@ func (me *TestHelper) LinkUserToTeam(user *model.User, team *model.Team) {
|
|||||||
utils.EnableDebugLogForTest()
|
utils.EnableDebugLogForTest()
|
||||||
}
|
}
|
||||||
|
|
||||||
func GenerateTestEmail() string {
|
func (me *TestHelper) GenerateTestEmail() string {
|
||||||
if utils.Cfg.EmailSettings.SMTPServer != "dockerhost" && os.Getenv("CI_INBUCKET_PORT") == "" {
|
if me.App.Config().EmailSettings.SMTPServer != "dockerhost" && os.Getenv("CI_INBUCKET_PORT") == "" {
|
||||||
return strings.ToLower("success+" + model.NewId() + "@simulator.amazonses.com")
|
return strings.ToLower("success+" + model.NewId() + "@simulator.amazonses.com")
|
||||||
}
|
}
|
||||||
return strings.ToLower(model.NewId() + "@dockerhost")
|
return strings.ToLower(model.NewId() + "@dockerhost")
|
||||||
|
|||||||
@@ -323,7 +323,7 @@ func TestCreatePostPublic(t *testing.T) {
|
|||||||
|
|
||||||
post := &model.Post{ChannelId: th.BasicChannel.Id, Message: "#hashtag a" + model.NewId() + "a"}
|
post := &model.Post{ChannelId: th.BasicChannel.Id, Message: "#hashtag a" + model.NewId() + "a"}
|
||||||
|
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Joram Wilander", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Joram Wilander", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
ruser, resp := Client.CreateUser(&user)
|
ruser, resp := Client.CreateUser(&user)
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
@@ -368,7 +368,7 @@ func TestCreatePostAll(t *testing.T) {
|
|||||||
|
|
||||||
post := &model.Post{ChannelId: th.BasicChannel.Id, Message: "#hashtag a" + model.NewId() + "a"}
|
post := &model.Post{ChannelId: th.BasicChannel.Id, Message: "#hashtag a" + model.NewId() + "a"}
|
||||||
|
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Joram Wilander", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Joram Wilander", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
directChannel, _ := th.App.CreateDirectChannel(th.BasicUser.Id, th.BasicUser2.Id)
|
directChannel, _ := th.App.CreateDirectChannel(th.BasicUser.Id, th.BasicUser2.Id)
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ func TestCreateTeamSanitization(t *testing.T) {
|
|||||||
team := &model.Team{
|
team := &model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ func TestCreateTeamSanitization(t *testing.T) {
|
|||||||
team := &model.Team{
|
team := &model.Team{
|
||||||
DisplayName: t.Name() + "_2",
|
DisplayName: t.Name() + "_2",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
}
|
}
|
||||||
@@ -148,10 +148,10 @@ func TestGetTeam(t *testing.T) {
|
|||||||
|
|
||||||
th.LoginTeamAdmin()
|
th.LoginTeamAdmin()
|
||||||
|
|
||||||
team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: false}
|
team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: false}
|
||||||
rteam2, _ := Client.CreateTeam(team2)
|
rteam2, _ := Client.CreateTeam(team2)
|
||||||
|
|
||||||
team3 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_INVITE, AllowOpenInvite: true}
|
team3 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_INVITE, AllowOpenInvite: true}
|
||||||
rteam3, _ := Client.CreateTeam(team3)
|
rteam3, _ := Client.CreateTeam(team3)
|
||||||
|
|
||||||
th.LoginBasic()
|
th.LoginBasic()
|
||||||
@@ -178,7 +178,7 @@ func TestGetTeamSanitization(t *testing.T) {
|
|||||||
team, resp := th.Client.CreateTeam(&model.Team{
|
team, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -359,7 +359,7 @@ func TestUpdateTeamSanitization(t *testing.T) {
|
|||||||
team, resp := th.Client.CreateTeam(&model.Team{
|
team, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -458,7 +458,7 @@ func TestPatchTeamSanitization(t *testing.T) {
|
|||||||
team, resp := th.Client.CreateTeam(&model.Team{
|
team, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -492,7 +492,7 @@ func TestSoftDeleteTeam(t *testing.T) {
|
|||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
Client := th.Client
|
Client := th.Client
|
||||||
|
|
||||||
team := &model.Team{DisplayName: "DisplayName", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_OPEN}
|
team := &model.Team{DisplayName: "DisplayName", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_OPEN}
|
||||||
team, _ = Client.CreateTeam(team)
|
team, _ = Client.CreateTeam(team)
|
||||||
|
|
||||||
ok, resp := Client.SoftDeleteTeam(team.Id)
|
ok, resp := Client.SoftDeleteTeam(team.Id)
|
||||||
@@ -534,7 +534,7 @@ func TestPermanentDeleteTeam(t *testing.T) {
|
|||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
Client := th.Client
|
Client := th.Client
|
||||||
|
|
||||||
team := &model.Team{DisplayName: "DisplayName", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_OPEN}
|
team := &model.Team{DisplayName: "DisplayName", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_OPEN}
|
||||||
team, _ = Client.CreateTeam(team)
|
team, _ = Client.CreateTeam(team)
|
||||||
|
|
||||||
ok, resp := Client.PermanentDeleteTeam(team.Id)
|
ok, resp := Client.PermanentDeleteTeam(team.Id)
|
||||||
@@ -567,7 +567,7 @@ func TestGetAllTeams(t *testing.T) {
|
|||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
Client := th.Client
|
Client := th.Client
|
||||||
|
|
||||||
team := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: true}
|
team := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: true}
|
||||||
_, resp := Client.CreateTeam(team)
|
_, resp := Client.CreateTeam(team)
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
@@ -627,7 +627,7 @@ func TestGetAllTeamsSanitization(t *testing.T) {
|
|||||||
team, resp := th.Client.CreateTeam(&model.Team{
|
team, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
AllowOpenInvite: true,
|
AllowOpenInvite: true,
|
||||||
@@ -636,7 +636,7 @@ func TestGetAllTeamsSanitization(t *testing.T) {
|
|||||||
team2, resp := th.SystemAdminClient.CreateTeam(&model.Team{
|
team2, resp := th.SystemAdminClient.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_2",
|
DisplayName: t.Name() + "_2",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
AllowOpenInvite: true,
|
AllowOpenInvite: true,
|
||||||
@@ -722,10 +722,10 @@ func TestGetTeamByName(t *testing.T) {
|
|||||||
|
|
||||||
th.LoginTeamAdmin()
|
th.LoginTeamAdmin()
|
||||||
|
|
||||||
team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: false}
|
team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: false}
|
||||||
rteam2, _ := Client.CreateTeam(team2)
|
rteam2, _ := Client.CreateTeam(team2)
|
||||||
|
|
||||||
team3 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_INVITE, AllowOpenInvite: true}
|
team3 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_INVITE, AllowOpenInvite: true}
|
||||||
rteam3, _ := Client.CreateTeam(team3)
|
rteam3, _ := Client.CreateTeam(team3)
|
||||||
|
|
||||||
th.LoginBasic()
|
th.LoginBasic()
|
||||||
@@ -745,7 +745,7 @@ func TestGetTeamByNameSanitization(t *testing.T) {
|
|||||||
team, resp := th.Client.CreateTeam(&model.Team{
|
team, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -800,7 +800,7 @@ func TestSearchAllTeams(t *testing.T) {
|
|||||||
oTeam.UpdateAt = updatedTeam.UpdateAt
|
oTeam.UpdateAt = updatedTeam.UpdateAt
|
||||||
}
|
}
|
||||||
|
|
||||||
pTeam := &model.Team{DisplayName: "PName", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_INVITE}
|
pTeam := &model.Team{DisplayName: "PName", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_INVITE}
|
||||||
Client.CreateTeam(pTeam)
|
Client.CreateTeam(pTeam)
|
||||||
|
|
||||||
rteams, resp := Client.SearchTeams(&model.TeamSearch{Term: oTeam.Name})
|
rteams, resp := Client.SearchTeams(&model.TeamSearch{Term: oTeam.Name})
|
||||||
@@ -876,7 +876,7 @@ func TestSearchAllTeamsSanitization(t *testing.T) {
|
|||||||
team, resp := th.Client.CreateTeam(&model.Team{
|
team, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -884,7 +884,7 @@ func TestSearchAllTeamsSanitization(t *testing.T) {
|
|||||||
team2, resp := th.Client.CreateTeam(&model.Team{
|
team2, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_2",
|
DisplayName: t.Name() + "_2",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -954,7 +954,7 @@ func TestGetTeamsForUser(t *testing.T) {
|
|||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
Client := th.Client
|
Client := th.Client
|
||||||
|
|
||||||
team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_INVITE}
|
team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_INVITE}
|
||||||
rteam2, _ := Client.CreateTeam(team2)
|
rteam2, _ := Client.CreateTeam(team2)
|
||||||
|
|
||||||
teams, resp := Client.GetTeamsForUser(th.BasicUser.Id, "")
|
teams, resp := Client.GetTeamsForUser(th.BasicUser.Id, "")
|
||||||
@@ -998,7 +998,7 @@ func TestGetTeamsForUserSanitization(t *testing.T) {
|
|||||||
team, resp := th.Client.CreateTeam(&model.Team{
|
team, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_1",
|
DisplayName: t.Name() + "_1",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -1006,7 +1006,7 @@ func TestGetTeamsForUserSanitization(t *testing.T) {
|
|||||||
team2, resp := th.Client.CreateTeam(&model.Team{
|
team2, resp := th.Client.CreateTeam(&model.Team{
|
||||||
DisplayName: t.Name() + "_2",
|
DisplayName: t.Name() + "_2",
|
||||||
Name: GenerateTestTeamName(),
|
Name: GenerateTestTeamName(),
|
||||||
Email: GenerateTestEmail(),
|
Email: th.GenerateTestEmail(),
|
||||||
Type: model.TEAM_OPEN,
|
Type: model.TEAM_OPEN,
|
||||||
AllowedDomains: "simulator.amazonses.com",
|
AllowedDomains: "simulator.amazonses.com",
|
||||||
})
|
})
|
||||||
@@ -1881,8 +1881,8 @@ func TestInviteUsersToTeam(t *testing.T) {
|
|||||||
th := Setup().InitBasic().InitSystemAdmin()
|
th := Setup().InitBasic().InitSystemAdmin()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
user1 := GenerateTestEmail()
|
user1 := th.GenerateTestEmail()
|
||||||
user2 := GenerateTestEmail()
|
user2 := th.GenerateTestEmail()
|
||||||
|
|
||||||
emailList := []string{user1, user2}
|
emailList := []string{user1, user2}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ func TestCreateUser(t *testing.T) {
|
|||||||
Client := th.Client
|
Client := th.Client
|
||||||
AdminClient := th.SystemAdminClient
|
AdminClient := th.SystemAdminClient
|
||||||
|
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
ruser, resp := Client.CreateUser(&user)
|
ruser, resp := Client.CreateUser(&user)
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
@@ -52,7 +52,7 @@ func TestCreateUser(t *testing.T) {
|
|||||||
CheckErrorMessage(t, resp, "store.sql_user.save.email_exists.app_error")
|
CheckErrorMessage(t, resp, "store.sql_user.save.email_exists.app_error")
|
||||||
CheckBadRequestStatus(t, resp)
|
CheckBadRequestStatus(t, resp)
|
||||||
|
|
||||||
ruser.Email = GenerateTestEmail()
|
ruser.Email = th.GenerateTestEmail()
|
||||||
ruser.Username = user.Username
|
ruser.Username = user.Username
|
||||||
_, resp = Client.CreateUser(ruser)
|
_, resp = Client.CreateUser(ruser)
|
||||||
CheckErrorMessage(t, resp, "store.sql_user.save.username_exists.app_error")
|
CheckErrorMessage(t, resp, "store.sql_user.save.username_exists.app_error")
|
||||||
@@ -66,7 +66,7 @@ func TestCreateUser(t *testing.T) {
|
|||||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false })
|
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false })
|
||||||
|
|
||||||
user2 := &model.User{Email: GenerateTestEmail(), Password: "Password1", Username: GenerateTestUsername()}
|
user2 := &model.User{Email: th.GenerateTestEmail(), Password: "Password1", Username: GenerateTestUsername()}
|
||||||
_, resp = AdminClient.CreateUser(user2)
|
_, resp = AdminClient.CreateUser(user2)
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ func TestCreateUserWithHash(t *testing.T) {
|
|||||||
Client := th.Client
|
Client := th.Client
|
||||||
|
|
||||||
t.Run("CreateWithHashHappyPath", func(t *testing.T) {
|
t.Run("CreateWithHashHappyPath", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
props := make(map[string]string)
|
props := make(map[string]string)
|
||||||
props["email"] = user.Email
|
props["email"] = user.Email
|
||||||
props["id"] = th.BasicTeam.Id
|
props["id"] = th.BasicTeam.Id
|
||||||
@@ -113,7 +113,7 @@ func TestCreateUserWithHash(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("NoHashAndNoData", func(t *testing.T) {
|
t.Run("NoHashAndNoData", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
props := make(map[string]string)
|
props := make(map[string]string)
|
||||||
props["email"] = user.Email
|
props["email"] = user.Email
|
||||||
props["id"] = th.BasicTeam.Id
|
props["id"] = th.BasicTeam.Id
|
||||||
@@ -133,7 +133,7 @@ func TestCreateUserWithHash(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("HashExpired", func(t *testing.T) {
|
t.Run("HashExpired", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
timeNow := time.Now()
|
timeNow := time.Now()
|
||||||
past49Hours := timeNow.Add(-49*time.Hour).UnixNano() / int64(time.Millisecond)
|
past49Hours := timeNow.Add(-49*time.Hour).UnixNano() / int64(time.Millisecond)
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ func TestCreateUserWithHash(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("WrongHash", func(t *testing.T) {
|
t.Run("WrongHash", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
props := make(map[string]string)
|
props := make(map[string]string)
|
||||||
props["email"] = user.Email
|
props["email"] = user.Email
|
||||||
props["id"] = th.BasicTeam.Id
|
props["id"] = th.BasicTeam.Id
|
||||||
@@ -168,7 +168,7 @@ func TestCreateUserWithHash(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("EnableUserCreationDisable", func(t *testing.T) {
|
t.Run("EnableUserCreationDisable", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
props := make(map[string]string)
|
props := make(map[string]string)
|
||||||
props["email"] = user.Email
|
props["email"] = user.Email
|
||||||
@@ -189,7 +189,7 @@ func TestCreateUserWithHash(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("EnableOpenServerDisable", func(t *testing.T) {
|
t.Run("EnableOpenServerDisable", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
props := make(map[string]string)
|
props := make(map[string]string)
|
||||||
props["email"] = user.Email
|
props["email"] = user.Email
|
||||||
@@ -225,7 +225,7 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
AdminClient := th.SystemAdminClient
|
AdminClient := th.SystemAdminClient
|
||||||
|
|
||||||
t.Run("CreateWithInviteIdHappyPath", func(t *testing.T) {
|
t.Run("CreateWithInviteIdHappyPath", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
inviteId := th.BasicTeam.InviteId
|
inviteId := th.BasicTeam.InviteId
|
||||||
|
|
||||||
@@ -245,7 +245,7 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("WrongInviteId", func(t *testing.T) {
|
t.Run("WrongInviteId", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
inviteId := model.NewId()
|
inviteId := model.NewId()
|
||||||
|
|
||||||
@@ -255,7 +255,7 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("NoInviteId", func(t *testing.T) {
|
t.Run("NoInviteId", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
_, resp := Client.CreateUserWithInviteId(&user, "")
|
_, resp := Client.CreateUserWithInviteId(&user, "")
|
||||||
CheckBadRequestStatus(t, resp)
|
CheckBadRequestStatus(t, resp)
|
||||||
@@ -263,7 +263,7 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("ExpiredInviteId", func(t *testing.T) {
|
t.Run("ExpiredInviteId", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
inviteId := th.BasicTeam.InviteId
|
inviteId := th.BasicTeam.InviteId
|
||||||
|
|
||||||
@@ -277,7 +277,7 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("EnableUserCreationDisable", func(t *testing.T) {
|
t.Run("EnableUserCreationDisable", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false })
|
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false })
|
||||||
|
|
||||||
@@ -291,7 +291,7 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("EnableOpenServerDisable", func(t *testing.T) {
|
t.Run("EnableOpenServerDisable", func(t *testing.T) {
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
|
||||||
|
|
||||||
@@ -471,7 +471,7 @@ func TestGetUserByEmail(t *testing.T) {
|
|||||||
_, resp = Client.GetUserByEmail(GenerateTestUsername(), "")
|
_, resp = Client.GetUserByEmail(GenerateTestUsername(), "")
|
||||||
CheckBadRequestStatus(t, resp)
|
CheckBadRequestStatus(t, resp)
|
||||||
|
|
||||||
_, resp = Client.GetUserByEmail(GenerateTestEmail(), "")
|
_, resp = Client.GetUserByEmail(th.GenerateTestEmail(), "")
|
||||||
CheckNotFoundStatus(t, resp)
|
CheckNotFoundStatus(t, resp)
|
||||||
|
|
||||||
// Check against privacy config settings
|
// Check against privacy config settings
|
||||||
@@ -964,7 +964,7 @@ func TestUpdateUser(t *testing.T) {
|
|||||||
th.App.AddSessionToCache(session)
|
th.App.AddSessionToCache(session)
|
||||||
|
|
||||||
ruser.Id = user.Id
|
ruser.Id = user.Id
|
||||||
ruser.Email = GenerateTestEmail()
|
ruser.Email = th.GenerateTestEmail()
|
||||||
_, resp = Client.UpdateUser(ruser)
|
_, resp = Client.UpdateUser(ruser)
|
||||||
CheckForbiddenStatus(t, resp)
|
CheckForbiddenStatus(t, resp)
|
||||||
|
|
||||||
@@ -1047,7 +1047,7 @@ func TestPatchUser(t *testing.T) {
|
|||||||
session.IsOAuth = true
|
session.IsOAuth = true
|
||||||
th.App.AddSessionToCache(session)
|
th.App.AddSessionToCache(session)
|
||||||
|
|
||||||
patch.Email = model.NewString(GenerateTestEmail())
|
patch.Email = model.NewString(th.GenerateTestEmail())
|
||||||
_, resp = Client.PatchUser(user.Id, patch)
|
_, resp = Client.PatchUser(user.Id, patch)
|
||||||
CheckForbiddenStatus(t, resp)
|
CheckForbiddenStatus(t, resp)
|
||||||
|
|
||||||
@@ -2070,7 +2070,7 @@ func TestVerifyUserEmail(t *testing.T) {
|
|||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
Client := th.Client
|
Client := th.Client
|
||||||
|
|
||||||
user := model.User{Email: GenerateTestEmail(), Nickname: "Darth Vader", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Darth Vader", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||||
|
|
||||||
ruser, resp := Client.CreateUser(&user)
|
ruser, resp := Client.CreateUser(&user)
|
||||||
|
|
||||||
@@ -2105,7 +2105,7 @@ func TestSendVerificationEmail(t *testing.T) {
|
|||||||
CheckBadRequestStatus(t, resp)
|
CheckBadRequestStatus(t, resp)
|
||||||
|
|
||||||
// Even non-existent emails should return 200 OK
|
// Even non-existent emails should return 200 OK
|
||||||
_, resp = Client.SendVerificationEmail(GenerateTestEmail())
|
_, resp = Client.SendVerificationEmail(th.GenerateTestEmail())
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
Client.Logout()
|
Client.Logout()
|
||||||
@@ -2450,20 +2450,20 @@ func TestGetUserAccessToken(t *testing.T) {
|
|||||||
if len(rtokens) != 2 {
|
if len(rtokens) != 2 {
|
||||||
t.Fatal("should have 2 tokens")
|
t.Fatal("should have 2 tokens")
|
||||||
}
|
}
|
||||||
|
|
||||||
_, resp = Client.GetUserAccessTokens(0,100)
|
_, resp = Client.GetUserAccessTokens(0, 100)
|
||||||
CheckForbiddenStatus(t, resp)
|
CheckForbiddenStatus(t, resp)
|
||||||
|
|
||||||
rtokens, resp = AdminClient.GetUserAccessTokens(1,1)
|
rtokens, resp = AdminClient.GetUserAccessTokens(1, 1)
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
if len(rtokens) != 1 {
|
if len(rtokens) != 1 {
|
||||||
t.Fatal("should have 1 token")
|
t.Fatal("should have 1 token")
|
||||||
}
|
}
|
||||||
|
|
||||||
rtokens, resp = AdminClient.GetUserAccessTokens(0,2)
|
rtokens, resp = AdminClient.GetUserAccessTokens(0, 2)
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
if len(rtokens) != 2 {
|
if len(rtokens) != 2 {
|
||||||
t.Fatal("should have 2 tokens")
|
t.Fatal("should have 2 tokens")
|
||||||
}
|
}
|
||||||
@@ -2474,42 +2474,42 @@ func TestSearchUserAccessToken(t *testing.T) {
|
|||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
Client := th.Client
|
Client := th.Client
|
||||||
AdminClient := th.SystemAdminClient
|
AdminClient := th.SystemAdminClient
|
||||||
|
|
||||||
testDescription := "test token"
|
testDescription := "test token"
|
||||||
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
|
||||||
|
|
||||||
th.App.UpdateUserRoles(th.BasicUser.Id, model.SYSTEM_USER_ROLE_ID+" "+model.SYSTEM_USER_ACCESS_TOKEN_ROLE_ID, false)
|
th.App.UpdateUserRoles(th.BasicUser.Id, model.SYSTEM_USER_ROLE_ID+" "+model.SYSTEM_USER_ACCESS_TOKEN_ROLE_ID, false)
|
||||||
token, resp := Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
|
token, resp := Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
_, resp = Client.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: token.Id})
|
_, resp = Client.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: token.Id})
|
||||||
CheckForbiddenStatus(t, resp)
|
CheckForbiddenStatus(t, resp)
|
||||||
|
|
||||||
rtokens, resp := AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: th.BasicUser.Id})
|
rtokens, resp := AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: th.BasicUser.Id})
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
if len(rtokens) != 1 {
|
if len(rtokens) != 1 {
|
||||||
t.Fatal("should have 1 tokens")
|
t.Fatal("should have 1 tokens")
|
||||||
}
|
}
|
||||||
|
|
||||||
rtokens, resp = AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: token.Id})
|
rtokens, resp = AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: token.Id})
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
if len(rtokens) != 1 {
|
if len(rtokens) != 1 {
|
||||||
t.Fatal("should have 1 tokens")
|
t.Fatal("should have 1 tokens")
|
||||||
}
|
}
|
||||||
|
|
||||||
rtokens, resp = AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: th.BasicUser.Username})
|
rtokens, resp = AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: th.BasicUser.Username})
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
if len(rtokens) != 1 {
|
if len(rtokens) != 1 {
|
||||||
t.Fatal("should have 1 tokens")
|
t.Fatal("should have 1 tokens")
|
||||||
}
|
}
|
||||||
|
|
||||||
rtokens, resp = AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: "not found"})
|
rtokens, resp = AdminClient.SearchUserAccessTokens(&model.UserAccessTokenSearch{Term: "not found"})
|
||||||
CheckNoError(t, resp)
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
if len(rtokens) != 0 {
|
if len(rtokens) != 0 {
|
||||||
t.Fatal("should have 0 tokens")
|
t.Fatal("should have 0 tokens")
|
||||||
}
|
}
|
||||||
@@ -2567,8 +2567,6 @@ func TestDisableUserAccessToken(t *testing.T) {
|
|||||||
|
|
||||||
testDescription := "test token"
|
testDescription := "test token"
|
||||||
|
|
||||||
enableUserAccessTokens := *th.App.Config().ServiceSettings.EnableUserAccessTokens
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens })
|
|
||||||
*th.App.Config().ServiceSettings.EnableUserAccessTokens = true
|
*th.App.Config().ServiceSettings.EnableUserAccessTokens = true
|
||||||
|
|
||||||
th.App.UpdateUserRoles(th.BasicUser.Id, model.SYSTEM_USER_ROLE_ID+" "+model.SYSTEM_USER_ACCESS_TOKEN_ROLE_ID, false)
|
th.App.UpdateUserRoles(th.BasicUser.Id, model.SYSTEM_USER_ROLE_ID+" "+model.SYSTEM_USER_ACCESS_TOKEN_ROLE_ID, false)
|
||||||
@@ -2612,8 +2610,6 @@ func TestEnableUserAccessToken(t *testing.T) {
|
|||||||
|
|
||||||
testDescription := "test token"
|
testDescription := "test token"
|
||||||
|
|
||||||
enableUserAccessTokens := *th.App.Config().ServiceSettings.EnableUserAccessTokens
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens })
|
|
||||||
*th.App.Config().ServiceSettings.EnableUserAccessTokens = true
|
*th.App.Config().ServiceSettings.EnableUserAccessTokens = true
|
||||||
|
|
||||||
th.App.UpdateUserRoles(th.BasicUser.Id, model.SYSTEM_USER_ROLE_ID+" "+model.SYSTEM_USER_ACCESS_TOKEN_ROLE_ID, false)
|
th.App.UpdateUserRoles(th.BasicUser.Id, model.SYSTEM_USER_ROLE_ID+" "+model.SYSTEM_USER_ACCESS_TOKEN_ROLE_ID, false)
|
||||||
|
|||||||
@@ -61,15 +61,11 @@ func TestUpdateConfig(t *testing.T) {
|
|||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
prev := *th.App.Config().ServiceSettings.SiteURL
|
prev := *th.App.Config().ServiceSettings.SiteURL
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) {
|
|
||||||
*cfg.ServiceSettings.SiteURL = prev
|
|
||||||
})
|
|
||||||
|
|
||||||
listener := th.App.AddConfigListener(func(old, current *model.Config) {
|
th.App.AddConfigListener(func(old, current *model.Config) {
|
||||||
assert.Equal(t, prev, *old.ServiceSettings.SiteURL)
|
assert.Equal(t, prev, *old.ServiceSettings.SiteURL)
|
||||||
assert.Equal(t, "foo", *current.ServiceSettings.SiteURL)
|
assert.Equal(t, "foo", *current.ServiceSettings.SiteURL)
|
||||||
})
|
})
|
||||||
defer th.App.RemoveConfigListener(listener)
|
|
||||||
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||||
*cfg.ServiceSettings.SiteURL = "foo"
|
*cfg.ServiceSettings.SiteURL = "foo"
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ package app
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@@ -29,8 +30,9 @@ type TestHelper struct {
|
|||||||
BasicChannel *model.Channel
|
BasicChannel *model.Channel
|
||||||
BasicPost *model.Post
|
BasicPost *model.Post
|
||||||
|
|
||||||
tempWorkspace string
|
tempConfigPath string
|
||||||
pluginHooks map[string]plugin.Hooks
|
tempWorkspace string
|
||||||
|
pluginHooks map[string]plugin.Hooks
|
||||||
}
|
}
|
||||||
|
|
||||||
type persistentTestStore struct {
|
type persistentTestStore struct {
|
||||||
@@ -57,7 +59,22 @@ func StopTestStore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setupTestHelper(enterprise bool) *TestHelper {
|
func setupTestHelper(enterprise bool) *TestHelper {
|
||||||
options := []Option{DisableConfigWatch}
|
permConfig, err := os.Open(utils.FindConfigFile("config.json"))
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer permConfig.Close()
|
||||||
|
tempConfig, err := ioutil.TempFile("", "")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
_, err = io.Copy(tempConfig, permConfig)
|
||||||
|
tempConfig.Close()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
options := []Option{ConfigFile(tempConfig.Name()), DisableConfigWatch}
|
||||||
if testStore != nil {
|
if testStore != nil {
|
||||||
options = append(options, StoreOverride(testStore))
|
options = append(options, StoreOverride(testStore))
|
||||||
}
|
}
|
||||||
@@ -68,8 +85,9 @@ func setupTestHelper(enterprise bool) *TestHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
th := &TestHelper{
|
th := &TestHelper{
|
||||||
App: a,
|
App: a,
|
||||||
pluginHooks: make(map[string]plugin.Hooks),
|
pluginHooks: make(map[string]plugin.Hooks),
|
||||||
|
tempConfigPath: tempConfig.Name(),
|
||||||
}
|
}
|
||||||
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.MaxUsersPerTeam = 50 })
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.MaxUsersPerTeam = 50 })
|
||||||
@@ -232,6 +250,7 @@ func (me *TestHelper) LinkUserToTeam(user *model.User, team *model.Team) {
|
|||||||
|
|
||||||
func (me *TestHelper) TearDown() {
|
func (me *TestHelper) TearDown() {
|
||||||
me.App.Shutdown()
|
me.App.Shutdown()
|
||||||
|
os.Remove(me.tempConfigPath)
|
||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
StopTestStore()
|
StopTestStore()
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ func (a *App) UpdateConfig(f func(*model.Config)) {
|
|||||||
updated := old.Clone()
|
updated := old.Clone()
|
||||||
f(updated)
|
f(updated)
|
||||||
a.config.Store(updated)
|
a.config.Store(updated)
|
||||||
utils.Cfg = updated
|
|
||||||
a.InvokeConfigListeners(old, updated)
|
a.InvokeConfigListeners(old, updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +47,6 @@ func (a *App) LoadConfig(configFile string) *model.AppError {
|
|||||||
utils.ConfigureLog(&cfg.LogSettings)
|
utils.ConfigureLog(&cfg.LogSettings)
|
||||||
|
|
||||||
a.config.Store(cfg)
|
a.config.Store(cfg)
|
||||||
utils.Cfg = cfg
|
|
||||||
|
|
||||||
utils.SetSiteURL(*cfg.ServiceSettings.SiteURL)
|
utils.SetSiteURL(*cfg.ServiceSettings.SiteURL)
|
||||||
|
|
||||||
|
|||||||
@@ -155,9 +155,7 @@ func TestDiagnostics(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("SendDailyDiagnosticsDisabled", func(t *testing.T) {
|
t.Run("SendDailyDiagnosticsDisabled", func(t *testing.T) {
|
||||||
oldSetting := *th.App.Config().LogSettings.EnableDiagnostics
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.LogSettings.EnableDiagnostics = false })
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.LogSettings.EnableDiagnostics = false })
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { *cfg.LogSettings.EnableDiagnostics = oldSetting })
|
|
||||||
|
|
||||||
th.App.SendDailyDiagnostics()
|
th.App.SendDailyDiagnostics()
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ func (a *App) LoadLicense() {
|
|||||||
|
|
||||||
if len(licenseId) != 26 {
|
if len(licenseId) != 26 {
|
||||||
// Lets attempt to load the file from disk since it was missing from the DB
|
// Lets attempt to load the file from disk since it was missing from the DB
|
||||||
license, licenseBytes := utils.GetAndValidateLicenseFileFromDisk()
|
license, licenseBytes := utils.GetAndValidateLicenseFileFromDisk(*a.Config().ServiceSettings.LicenseFileLocation)
|
||||||
|
|
||||||
if license != nil {
|
if license != nil {
|
||||||
if _, err := a.SaveLicense(licenseBytes); err != nil {
|
if _, err := a.SaveLicense(licenseBytes); err != nil {
|
||||||
|
|||||||
@@ -49,10 +49,6 @@ func TestOAuthDeleteApp(t *testing.T) {
|
|||||||
th := Setup()
|
th := Setup()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
oldSetting := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) {
|
|
||||||
cfg.ServiceSettings.EnableOAuthServiceProvider = oldSetting
|
|
||||||
})
|
|
||||||
th.App.Config().ServiceSettings.EnableOAuthServiceProvider = true
|
th.App.Config().ServiceSettings.EnableOAuthServiceProvider = true
|
||||||
|
|
||||||
a1 := &model.OAuthApp{}
|
a1 := &model.OAuthApp{}
|
||||||
|
|||||||
@@ -88,10 +88,6 @@ func TestCreateOAuthUser(t *testing.T) {
|
|||||||
|
|
||||||
th.App.PermanentDeleteUser(user)
|
th.App.PermanentDeleteUser(user)
|
||||||
|
|
||||||
userCreation := th.App.Config().TeamSettings.EnableUserCreation
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) {
|
|
||||||
cfg.TeamSettings.EnableUserCreation = userCreation
|
|
||||||
})
|
|
||||||
th.App.Config().TeamSettings.EnableUserCreation = false
|
th.App.Config().TeamSettings.EnableUserCreation = false
|
||||||
|
|
||||||
_, err = th.App.CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id)
|
_, err = th.App.CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id)
|
||||||
|
|||||||
@@ -17,13 +17,6 @@ func TestCreateIncomingWebhookForChannel(t *testing.T) {
|
|||||||
th := Setup().InitBasic()
|
th := Setup().InitBasic()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
|
|
||||||
enablePostUsernameOverride := th.App.Config().ServiceSettings.EnablePostUsernameOverride
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnablePostUsernameOverride = enablePostUsernameOverride })
|
|
||||||
enablePostIconOverride := th.App.Config().ServiceSettings.EnablePostIconOverride
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnablePostIconOverride = enablePostIconOverride })
|
|
||||||
|
|
||||||
type TestCase struct {
|
type TestCase struct {
|
||||||
EnableIncomingHooks bool
|
EnableIncomingHooks bool
|
||||||
EnablePostUsernameOverride bool
|
EnablePostUsernameOverride bool
|
||||||
@@ -155,13 +148,6 @@ func TestUpdateIncomingWebhook(t *testing.T) {
|
|||||||
th := Setup().InitBasic()
|
th := Setup().InitBasic()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
|
|
||||||
enablePostUsernameOverride := th.App.Config().ServiceSettings.EnablePostUsernameOverride
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnablePostUsernameOverride = enablePostUsernameOverride })
|
|
||||||
enablePostIconOverride := th.App.Config().ServiceSettings.EnablePostIconOverride
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnablePostIconOverride = enablePostIconOverride })
|
|
||||||
|
|
||||||
type TestCase struct {
|
type TestCase struct {
|
||||||
EnableIncomingHooks bool
|
EnableIncomingHooks bool
|
||||||
EnablePostUsernameOverride bool
|
EnablePostUsernameOverride bool
|
||||||
@@ -300,8 +286,6 @@ func TestCreateWebhookPost(t *testing.T) {
|
|||||||
th := Setup().InitBasic()
|
th := Setup().InitBasic()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
|
|
||||||
defer th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
|
|
||||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
|
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
|
||||||
|
|
||||||
hook, err := th.App.CreateIncomingWebhookForChannel(th.BasicUser.Id, th.BasicChannel, &model.IncomingWebhook{ChannelId: th.BasicChannel.Id})
|
hook, err := th.App.CreateIncomingWebhookForChannel(th.BasicUser.Id, th.BasicChannel, &model.IncomingWebhook{ChannelId: th.BasicChannel.Id})
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ func doSecurity(a *app.App) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func doDiagnostics(a *app.App) {
|
func doDiagnostics(a *app.App) {
|
||||||
if *utils.Cfg.LogSettings.EnableDiagnostics {
|
if *a.Config().LogSettings.EnableDiagnostics {
|
||||||
a.SendDailyDiagnostics()
|
a.SendDailyDiagnostics()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ func (srv *JobServer) LoadLicense() {
|
|||||||
|
|
||||||
if len(licenseId) != 26 {
|
if len(licenseId) != 26 {
|
||||||
// Lets attempt to load the file from disk since it was missing from the DB
|
// Lets attempt to load the file from disk since it was missing from the DB
|
||||||
_, licenseBytes = utils.GetAndValidateLicenseFileFromDisk()
|
_, licenseBytes = utils.GetAndValidateLicenseFileFromDisk(*srv.ConfigService.Config().ServiceSettings.LicenseFileLocation)
|
||||||
} else {
|
} else {
|
||||||
if result := <-srv.Store.License().Get(licenseId); result.Err == nil {
|
if result := <-srv.Store.License().Get(licenseId); result.Err == nil {
|
||||||
record := result.Data.(*model.LicenseRecord)
|
record := result.Data.(*model.LicenseRecord)
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ func manualTest(c *api.Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create a client for tests to use
|
// Create a client for tests to use
|
||||||
client := model.NewClient("http://localhost" + *utils.Cfg.ServiceSettings.ListenAddress)
|
client := model.NewClient("http://localhost" + *c.App.Config().ServiceSettings.ListenAddress)
|
||||||
|
|
||||||
// Check for username parameter and create a user if present
|
// Check for username parameter and create a user if present
|
||||||
username, ok1 := params["username"]
|
username, ok1 := params["username"]
|
||||||
@@ -118,7 +118,7 @@ func manualTest(c *api.Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
Name: model.SESSION_COOKIE_TOKEN,
|
Name: model.SESSION_COOKIE_TOKEN,
|
||||||
Value: client.AuthToken,
|
Value: client.AuthToken,
|
||||||
Path: "/",
|
Path: "/",
|
||||||
MaxAge: *utils.Cfg.ServiceSettings.SessionLengthWebInDays * 60 * 60 * 24,
|
MaxAge: *c.App.Config().ServiceSettings.SessionLengthWebInDays * 60 * 60 * 24,
|
||||||
HttpOnly: true,
|
HttpOnly: true,
|
||||||
}
|
}
|
||||||
http.SetCookie(w, sessionCookie)
|
http.SetCookie(w, sessionCookie)
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ const (
|
|||||||
|
|
||||||
var originalDisableDebugLvl l4g.Level = l4g.DEBUG
|
var originalDisableDebugLvl l4g.Level = l4g.DEBUG
|
||||||
var siteURL = ""
|
var siteURL = ""
|
||||||
var Cfg *model.Config
|
|
||||||
|
|
||||||
func GetSiteURL() string {
|
func GetSiteURL() string {
|
||||||
return siteURL
|
return siteURL
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ func ValidateLicense(signed []byte) (bool, string) {
|
|||||||
return true, string(plaintext)
|
return true, string(plaintext)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAndValidateLicenseFileFromDisk() (*model.License, []byte) {
|
func GetAndValidateLicenseFileFromDisk(location string) (*model.License, []byte) {
|
||||||
fileName := GetLicenseFileLocation(*Cfg.ServiceSettings.LicenseFileLocation)
|
fileName := GetLicenseFileLocation(location)
|
||||||
|
|
||||||
if _, err := os.Stat(fileName); err != nil {
|
if _, err := os.Stat(fileName); err != nil {
|
||||||
l4g.Debug("We could not find the license key in the database or on disk at %v", fileName)
|
l4g.Debug("We could not find the license key in the database or on disk at %v", fileName)
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user