api_login_test.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package main
  2. import (
  3. "encoding/json"
  4. "github.com/gogf/gf/crypto/gmd5"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/net/ghttp"
  7. "gmanager/library/resp"
  8. "testing"
  9. )
  10. var (
  11. Token = g.MapStrStr{}
  12. Username = "admin"
  13. )
  14. func TestSystemConfigIndex(t *testing.T) {
  15. // 登录,访问用户信息
  16. if r, e := ghttp.Get(TestURL + "/system/config/index"); e != nil {
  17. t.Error(e)
  18. } else {
  19. t.Log(string(r.ReadAll()))
  20. r.Close()
  21. }
  22. }
  23. func TestSystemUserGet(t *testing.T) {
  24. // 登录,访问用户信息
  25. t.Log("1. execute get user")
  26. data := Post(t, "/system/user/get", "id=1")
  27. if data.Success() {
  28. t.Log(data.Json())
  29. } else {
  30. t.Error(data.Json())
  31. }
  32. }
  33. func TestLogin(t *testing.T) {
  34. Username = "testLogin"
  35. t.Log(" login first ")
  36. token1 := getToken(t)
  37. t.Log("token:" + token1)
  38. t.Log(" login second and same token ")
  39. token2 := getToken(t)
  40. t.Log("token:" + token2)
  41. if token1 != token2 {
  42. t.Error("token not same ")
  43. }
  44. Username = "flyfox"
  45. }
  46. func TestLogout(t *testing.T) {
  47. Username = "testLogout"
  48. t.Log(" logout test ")
  49. data := Post(t, "/system/user/logout", "username="+Username)
  50. if data.Success() {
  51. t.Log(data.Json())
  52. } else {
  53. t.Error(data.Json())
  54. }
  55. Username = "flyfox"
  56. }
  57. func Post(t *testing.T, urlPath string, data ...interface{}) resp.Resp {
  58. client := ghttp.NewClient()
  59. client.SetHeader("Authorization", "Bearer "+getToken(t))
  60. content := client.PostContent(TestURL+urlPath, data...)
  61. var respData resp.Resp
  62. err := json.Unmarshal([]byte(content), &respData)
  63. if err != nil {
  64. t.Error(err)
  65. }
  66. return respData
  67. }
  68. func getToken(t *testing.T) string {
  69. if Token[Username] != "" {
  70. return Token[Username]
  71. }
  72. passwd, _ := gmd5.Encrypt("1234561")
  73. if r, e := ghttp.Post(TestURL+"/login/submit", "username="+Username+"&passwd="+passwd); e != nil {
  74. t.Error(e)
  75. } else {
  76. defer r.Close()
  77. content := string(r.ReadAll())
  78. var respData resp.Resp
  79. err := json.Unmarshal([]byte(content), &respData)
  80. if err != nil {
  81. t.Error(err)
  82. }
  83. if !respData.Success() {
  84. t.Error("resp fail:" + respData.Json())
  85. }
  86. Token[Username] = respData.GetString("token")
  87. }
  88. return Token[Username]
  89. }