diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-05-18 08:37:43 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-18 08:37:43 -0700 |
commit | 0432f995ec27de9ee6cc2f5847d4a17fcc095a26 (patch) | |
tree | cc87cb698389d6191f6fc9d34fcacddb44850bb6 /cmd/mattermost/commands | |
parent | d5e1f7e2982c2fcc888ccac550b34095efbee217 (diff) | |
download | chat-0432f995ec27de9ee6cc2f5847d4a17fcc095a26.tar.gz chat-0432f995ec27de9ee6cc2f5847d4a17fcc095a26.tar.bz2 chat-0432f995ec27de9ee6cc2f5847d4a17fcc095a26.zip |
MM-9983 Requiring SiteURL to be set. (#8769)
* Requiring SiteURL to be set.
* Modifying to make tests pass.
* Fixing test.
Diffstat (limited to 'cmd/mattermost/commands')
-rw-r--r-- | cmd/mattermost/commands/server.go | 16 | ||||
-rw-r--r-- | cmd/mattermost/commands/server_test.go | 10 |
2 files changed, 24 insertions, 2 deletions
diff --git a/cmd/mattermost/commands/server.go b/cmd/mattermost/commands/server.go index 9d0e5a917..299005b6a 100644 --- a/cmd/mattermost/commands/server.go +++ b/cmd/mattermost/commands/server.go @@ -6,6 +6,8 @@ package commands import ( "fmt" "net" + "net/http" + "net/url" "os" "os/signal" "syscall" @@ -129,7 +131,19 @@ func runServer(configFileLocation string, disableConfigWatch bool, usedPlatform // Enable developer settings if this is a "dev" build if model.BuildNumber == "dev" { - a.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableDeveloper = true }) + a.UpdateConfig(func(cfg *model.Config) { + *cfg.ServiceSettings.EnableDeveloper = true + if *cfg.ServiceSettings.SiteURL == "" { + *cfg.ServiceSettings.SiteURL = "http://localhost:8065" + } + }) + } + + // SiteURL should be set at this point. Either by a user or by the dev mode above + // This is here instead of in config.IsValid because there are many tests that make the assumption + // that the default config is valid. Which it is not. + if _, err := url.ParseRequestURI(*a.Config().ServiceSettings.SiteURL); err != nil { + return model.NewAppError("Config.IsValid", "model.config.is_valid.site_url.app_error", nil, "", http.StatusBadRequest) } resetStatuses(a) diff --git a/cmd/mattermost/commands/server_test.go b/cmd/mattermost/commands/server_test.go index 0f825e316..a0c7c6948 100644 --- a/cmd/mattermost/commands/server_test.go +++ b/cmd/mattermost/commands/server_test.go @@ -11,6 +11,7 @@ import ( "testing" "github.com/mattermost/mattermost-server/jobs" + "github.com/mattermost/mattermost-server/model" "github.com/mattermost/mattermost-server/utils" "github.com/stretchr/testify/require" ) @@ -20,6 +21,7 @@ type ServerTestHelper struct { disableConfigWatch bool interruptChan chan os.Signal originalInterval int + oldBuildNumber string } func SetupServerTest() *ServerTestHelper { @@ -41,14 +43,20 @@ func SetupServerTest() *ServerTestHelper { interruptChan: interruptChan, originalInterval: originalInterval, } + + // Run in dev mode so SiteURL gets set + th.oldBuildNumber = model.BuildNumber + model.BuildNumber = "dev" + return th } func (th *ServerTestHelper) TearDownServerTest() { jobs.DEFAULT_WATCHER_POLLING_INTERVAL = th.originalInterval + model.BuildNumber = th.oldBuildNumber } -func TestRunServerSuccess(t *testing.T) { +func TestRunServerSiteURL(t *testing.T) { th := SetupServerTest() defer th.TearDownServerTest() |