github.com/blystad/deis@v0.11.0/tests/clusters_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 clustersCreateCmd = "clusters:create {{.ClusterName}} {{.Domain}} --hosts={{.Hosts}} --auth={{.SSHKey}}" 13 clustersListCmd = "clusters:list" 14 clustersUpdateCmd = "clusters:update {{.ClusterName}} --domain={{.Domain}} --hosts={{.Hosts}} --auth=~/.ssh/{{.AuthKey}}" 15 clustersInfoCmd = "clusters:info {{.ClusterName}}" 16 clustersDestroyCmd = "clusters:destroy {{.ClusterName}} --confirm={{.ClusterName}}" 17 ) 18 19 func TestClusters(t *testing.T) { 20 params := clustersSetup(t) 21 clustersCreateTest(t, params) 22 clustersListTest(t, params, false) 23 clustersInfoTest(t, params) 24 clustersUpdateTest(t, params) 25 clustersDestroyTest(t, params) 26 clustersListTest(t, params, true) 27 } 28 29 func clustersSetup(t *testing.T) *utils.DeisTestConfig { 30 cfg := utils.GetGlobalConfig() 31 cfg.ClusterName = "devtest" 32 utils.Execute(t, authLoginCmd, cfg, false, "") 33 return cfg 34 } 35 36 func clustersCreateTest(t *testing.T, params *utils.DeisTestConfig) { 37 cmd := clustersCreateCmd 38 utils.Execute(t, cmd, params, false, "") 39 utils.Execute(t, cmd, params, true, "Cluster with this Id already exists") 40 } 41 42 func clustersDestroyTest(t *testing.T, params *utils.DeisTestConfig) { 43 utils.Execute(t, clustersDestroyCmd, params, false, "") 44 } 45 46 func clustersInfoTest(t *testing.T, params *utils.DeisTestConfig) { 47 utils.Execute(t, clustersInfoCmd, params, false, "") 48 } 49 50 func clustersListTest( 51 t *testing.T, params *utils.DeisTestConfig, notflag bool) { 52 utils.CheckList(t, clustersListCmd, params, params.ClusterName, notflag) 53 } 54 55 func clustersUpdateTest(t *testing.T, params *utils.DeisTestConfig) { 56 // Regression test for https://github.com/deis/deis/pull/1283 57 // Check that we didn't store the path of the key in the cluster. 58 utils.CheckList(t, clustersUpdateCmd, params, "~/.ssh/", true) 59 }