github.com/amrnt/deis@v1.3.1/tests/config_test.go (about) 1 // +build integration 2 3 package tests 4 5 import ( 6 "testing" 7 8 "github.com/deis/deis/tests/utils" 9 ) 10 11 var ( 12 configListCmd = "config:list --app={{.AppName}}" 13 configSetCmd = "config:set FOO=讲台 --app={{.AppName}}" 14 configSet2Cmd = "config:set FOO=10 --app={{.AppName}}" 15 configSet3Cmd = "config:set POWERED_BY=\"the Deis team\" --app={{.AppName}}" 16 configUnsetCmd = "config:unset FOO --app={{.AppName}}" 17 ) 18 19 func TestConfig(t *testing.T) { 20 params := configSetup(t) 21 configSetTest(t, params) 22 configListTest(t, params, false) 23 appsOpenTest(t, params) 24 configUnsetTest(t, params) 25 configListTest(t, params, true) 26 limitsSetTest(t, params, 4) 27 appsOpenTest(t, params) 28 limitsUnsetTest(t, params, 6) 29 appsOpenTest(t, params) 30 //tagsTest(t, params, 8) 31 appsOpenTest(t, params) 32 utils.AppsDestroyTest(t, params) 33 } 34 35 func configSetup(t *testing.T) *utils.DeisTestConfig { 36 cfg := utils.GetGlobalConfig() 37 cfg.AppName = "configsample" 38 utils.Execute(t, authLoginCmd, cfg, false, "") 39 utils.Execute(t, gitCloneCmd, cfg, false, "") 40 if err := utils.Chdir(cfg.ExampleApp); err != nil { 41 t.Fatal(err) 42 } 43 utils.Execute(t, appsCreateCmd, cfg, false, "") 44 // ensure envvars with spaces work fine on `git push` 45 // https://github.com/deis/deis/issues/2477 46 utils.Execute(t, configSet3Cmd, cfg, false, "the Deis team") 47 utils.Execute(t, gitPushCmd, cfg, false, "") 48 utils.CurlWithFail(t, cfg, false, "the Deis team") 49 if err := utils.Chdir(".."); err != nil { 50 t.Fatal(err) 51 } 52 return cfg 53 } 54 55 func configListTest( 56 t *testing.T, params *utils.DeisTestConfig, notflag bool) { 57 utils.CheckList(t, configListCmd, params, "FOO", notflag) 58 } 59 60 func configSetTest(t *testing.T, params *utils.DeisTestConfig) { 61 utils.Execute(t, configSetCmd, params, false, "讲台") 62 utils.CheckList(t, appsInfoCmd, params, "(v4)", false) 63 utils.Execute(t, configSet2Cmd, params, false, "10") 64 utils.CheckList(t, appsInfoCmd, params, "(v5)", false) 65 } 66 67 func configUnsetTest(t *testing.T, params *utils.DeisTestConfig) { 68 utils.Execute(t, configUnsetCmd, params, false, "") 69 utils.CheckList(t, appsInfoCmd, params, "(v6)", false) 70 utils.CheckList(t, "run env --app={{.AppName}}", params, "FOO", true) 71 }