github.com/didip/deis@v1.4.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 configSetBuildpackCmd = "config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-go#98f37cc --app={{.AppName}}" 17 configUnsetCmd = "config:unset FOO --app={{.AppName}}" 18 ) 19 20 func TestConfig(t *testing.T) { 21 params := configSetup(t) 22 configSetTest(t, params) 23 configListTest(t, params, false) 24 appsOpenTest(t, params) 25 configUnsetTest(t, params) 26 configListTest(t, params, true) 27 limitsSetTest(t, params, 4) 28 appsOpenTest(t, params) 29 limitsUnsetTest(t, params, 6) 30 appsOpenTest(t, params) 31 //tagsTest(t, params, 8) 32 appsOpenTest(t, params) 33 utils.AppsDestroyTest(t, params) 34 } 35 36 func configSetup(t *testing.T) *utils.DeisTestConfig { 37 cfg := utils.GetGlobalConfig() 38 cfg.AppName = "configsample" 39 utils.Execute(t, authLoginCmd, cfg, false, "") 40 utils.Execute(t, gitCloneCmd, cfg, false, "") 41 if err := utils.Chdir(cfg.ExampleApp); err != nil { 42 t.Fatal(err) 43 } 44 utils.Execute(t, appsCreateCmd, cfg, false, "") 45 // ensure envvars with spaces work fine on `git push` 46 // https://github.com/deis/deis/issues/2477 47 utils.Execute(t, configSet3Cmd, cfg, false, "the Deis team") 48 // ensure custom buildpack URLS are in order 49 utils.Execute(t, configSetBuildpackCmd, cfg, false, "https://github.com/heroku/heroku-buildpack-go#98f37cc") 50 utils.Execute(t, gitPushCmd, cfg, false, "") 51 utils.CurlWithFail(t, cfg, false, "the Deis team") 52 if err := utils.Chdir(".."); err != nil { 53 t.Fatal(err) 54 } 55 return cfg 56 } 57 58 func configListTest( 59 t *testing.T, params *utils.DeisTestConfig, notflag bool) { 60 utils.CheckList(t, configListCmd, params, "FOO", notflag) 61 } 62 63 func configSetTest(t *testing.T, params *utils.DeisTestConfig) { 64 utils.Execute(t, configSetCmd, params, false, "讲台") 65 utils.CheckList(t, appsInfoCmd, params, "(v5)", false) 66 utils.Execute(t, configSet2Cmd, params, false, "10") 67 utils.CheckList(t, appsInfoCmd, params, "(v6)", false) 68 } 69 70 func configUnsetTest(t *testing.T, params *utils.DeisTestConfig) { 71 utils.Execute(t, configUnsetCmd, params, false, "") 72 utils.CheckList(t, appsInfoCmd, params, "(v7)", false) 73 utils.CheckList(t, "run env --app={{.AppName}}", params, "FOO", true) 74 }