github.com/technosophos/deis@v1.7.1-0.20150915173815-f9005256004b/tests/keys_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  	keysAddCmd    = "keys:add ~/.ssh/{{.AuthKey}}.pub || true"
    13  	keysListCmd   = "keys:list"
    14  	keysRemoveCmd = "keys:remove {{.AuthKey}} || true"
    15  )
    16  
    17  func TestKeys(t *testing.T) {
    18  	params := keysSetup(t)
    19  	keysAddTest(t, params)
    20  	keysListTest(t, params, false)
    21  	keysRemoveTest(t, params)
    22  	keysListTest(t, params, true)
    23  }
    24  
    25  // Requires a ~/.ssh/deis-testkey to be set up:
    26  // $ ssh-keygen -q -t rsa -f ~/.ssh/deiskey -N '' -C deiskey
    27  func keysSetup(t *testing.T) *utils.DeisTestConfig {
    28  	cfg := utils.GetGlobalConfig()
    29  	utils.Execute(t, authLoginCmd, cfg, false, "")
    30  	return cfg
    31  }
    32  
    33  func keysAddTest(t *testing.T, params *utils.DeisTestConfig) {
    34  	params.AuthKey = "deiskey"
    35  	utils.Execute(t, keysAddCmd, params, false, "")
    36  	utils.Execute(t, keysAddCmd, params, true,
    37  		"This field must be unique")
    38  }
    39  
    40  func keysListTest(t *testing.T, params *utils.DeisTestConfig, notflag bool) {
    41  	utils.CheckList(t, keysListCmd, params, params.AuthKey, notflag)
    42  }
    43  
    44  func keysRemoveTest(t *testing.T, params *utils.DeisTestConfig) {
    45  	utils.Execute(t, keysRemoveCmd, params, false, "")
    46  }