github.com/leverly/deis@v1.0.2/tests/auth_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  	authLoginCmd    = "auth:login http://deis.{{.Domain}} --username={{.UserName}} --password={{.Password}}"
    13  	authLogoutCmd   = "auth:logout"
    14  	authRegisterCmd = "auth:register http://deis.{{.Domain}} --username={{.UserName}} --password={{.Password}} --email={{.Email}}"
    15  )
    16  
    17  func TestAuth(t *testing.T) {
    18  	params := authSetup(t)
    19  	authRegisterTest(t, params)
    20  	authLogoutTest(t, params)
    21  	authLoginTest(t, params)
    22  	authWhoamiTest(t, params)
    23  	authPasswdTest(t, params)
    24  	authCancel(t, params)
    25  }
    26  
    27  func authSetup(t *testing.T) *utils.DeisTestConfig {
    28  	user := utils.GetGlobalConfig()
    29  	user.UserName, user.Password = utils.NewID(), utils.NewID()
    30  	return user
    31  }
    32  
    33  func authCancel(t *testing.T, params *utils.DeisTestConfig) {
    34  	utils.AuthCancel(t, params)
    35  }
    36  
    37  func authLoginTest(t *testing.T, params *utils.DeisTestConfig) {
    38  	cmd := authLoginCmd
    39  	utils.Execute(t, cmd, params, false, "")
    40  	params = authSetup(t)
    41  	utils.Execute(t, cmd, params, true, "400 BAD REQUEST")
    42  }
    43  
    44  func authLogoutTest(t *testing.T, params *utils.DeisTestConfig) {
    45  	utils.Execute(t, authLogoutCmd, params, false, "")
    46  }
    47  
    48  func authPasswdTest(t *testing.T, params *utils.DeisTestConfig) {
    49  	password := "aNewPassword"
    50  	utils.AuthPasswd(t, params, password)
    51  	cmd := authLoginCmd
    52  	utils.Execute(t, cmd, params, true, "400 BAD REQUEST")
    53  	params.Password = password
    54  	utils.Execute(t, cmd, params, false, "")
    55  }
    56  
    57  func authRegisterTest(t *testing.T, params *utils.DeisTestConfig) {
    58  	cmd := authRegisterCmd
    59  	utils.Execute(t, cmd, params, false, "")
    60  	utils.Execute(t, cmd, params, true, "Registration failed")
    61  }
    62  
    63  func authWhoamiTest(t *testing.T, params *utils.DeisTestConfig) {
    64  	utils.Execute(t, "auth:whoami", params, true, params.UserName)
    65  }