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