github.com/misfo/deis@v1.0.1-0.20141111224634-e0eee0392b8a/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 }