github.com/gust1n/deis@v0.13.1-0.20141009230754-43ff4d95947b/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  }