summaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2018-05-18 08:37:43 -0700
committerGitHub <noreply@github.com>2018-05-18 08:37:43 -0700
commit0432f995ec27de9ee6cc2f5847d4a17fcc095a26 (patch)
treecc87cb698389d6191f6fc9d34fcacddb44850bb6 /cmd
parentd5e1f7e2982c2fcc888ccac550b34095efbee217 (diff)
downloadchat-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')
-rw-r--r--cmd/mattermost/commands/server.go16
-rw-r--r--cmd/mattermost/commands/server_test.go10
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()