github.com/wasbazi/deis@v1.7.1-0.20150609203025-5765871615de/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 }