github.com/coincircle/mattermost-server@v4.8.1-0.20180321182714-9d701c704416+incompatible/cmd/commands/config_flag_test.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package commands 5 6 import ( 7 "io/ioutil" 8 "os" 9 "path/filepath" 10 "testing" 11 12 "github.com/stretchr/testify/require" 13 14 "github.com/mattermost/mattermost-server/cmd" 15 "github.com/mattermost/mattermost-server/utils" 16 ) 17 18 func TestConfigFlag(t *testing.T) { 19 dir, err := ioutil.TempDir("", "") 20 require.NoError(t, err) 21 defer os.RemoveAll(dir) 22 23 utils.TranslationsPreInit() 24 config, _, err := utils.LoadConfig("config.json") 25 require.Nil(t, err) 26 configPath := filepath.Join(dir, "foo.json") 27 require.NoError(t, ioutil.WriteFile(configPath, []byte(config.ToJson()), 0600)) 28 29 i18n, ok := utils.FindDir("i18n") 30 require.True(t, ok) 31 require.NoError(t, utils.CopyDir(i18n, filepath.Join(dir, "i18n"))) 32 33 prevDir, err := os.Getwd() 34 require.NoError(t, err) 35 defer os.Chdir(prevDir) 36 os.Chdir(dir) 37 38 require.Error(t, cmd.RunCommand(t, "version")) 39 cmd.CheckCommand(t, "--config", "foo.json", "version") 40 cmd.CheckCommand(t, "--config", "./foo.json", "version") 41 cmd.CheckCommand(t, "--config", configPath, "version") 42 }