project_test.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package project
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io/ioutil"
  6. "log"
  7. "net/http"
  8. "net/url"
  9. "sfbase/utils"
  10. "strings"
  11. "sync"
  12. "testing"
  13. "time"
  14. )
  15. var (
  16. apiurl = "http://127.0.0.1:8080/sfis/api/v1/projectList"
  17. // apiurl = "http://127.0.0.1:8080/sfis/api/v1/projectListDetail"
  18. SE = utils.SimpleEncrypt{Key: "topJYBX2019"}
  19. )
  20. func Test_ProjectListApi(t *testing.T) {
  21. var wg = sync.WaitGroup{}
  22. for i := 0; i < 15; i++ {
  23. wg.Add(1)
  24. go func(i int) {
  25. defer wg.Done()
  26. getData1(i)
  27. }(i)
  28. }
  29. wg.Wait()
  30. c := make(chan int)
  31. c <- 2
  32. }
  33. func Test_Project(t *testing.T) {
  34. //getData()
  35. m := &sync.Map{}
  36. m.Store("sfGSVYRQMAAgkGBAUBJg4f", &sync.Mutex{})
  37. if v, ok := m.Load("sfGSVYRQMAAgkGBAUBJg4f"); ok {
  38. log.Println("取到值:", v)
  39. }
  40. }
  41. func getData1(n int) {
  42. appID := "sfGSVYRQMAAgkGBAUBJg4f"
  43. secretKey := "364xw909"
  44. projectName := "郑州航空港区富士"
  45. winner := "中铁十五局集团有限公司"
  46. zbRq := "2019-07-15"
  47. data := make(url.Values)
  48. data["project_name"] = []string{projectName}
  49. data["winner"] = []string{winner}
  50. data["bid_time"] = []string{zbRq}
  51. data["app_id"] = []string{appID}
  52. now := time.Now().Unix()
  53. bs, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
  54. "token": utils.MD5(fmt.Sprintf("%s%d%s", appID, now, secretKey)),
  55. "timestamp": fmt.Sprint(now),
  56. }, data)
  57. log.Print(string(bs))
  58. }
  59. func Test_ProjectList(t *testing.T) {
  60. appID := "sfGSVYRQMAAgkGBAUBJg4f"
  61. secretKey := "364xw909"
  62. projectName := "洛阳市东环路"
  63. winner := "中铁十五局集团有限公司"
  64. bidTime1 := "2020-01-14"
  65. bidTime := "2020-06-30"
  66. bidTime3 := "2020-09-01"
  67. // 中标日期 项目名称 中标单位
  68. data := make(url.Values)
  69. data["project_name"] = []string{projectName}
  70. data["winner"] = []string{winner}
  71. data["bid_time"] = []string{bidTime1}
  72. data["app_id"] = []string{appID}
  73. now := time.Now().Unix()
  74. bs, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
  75. "token": utils.MD5(fmt.Sprintf("%s%d%s", appID, now, secretKey)),
  76. "timestamp": fmt.Sprint(now),
  77. }, data)
  78. log.Print(string(bs))
  79. // 中标日期 项目名称
  80. data2 := make(url.Values)
  81. data2["project_name"] = []string{projectName}
  82. data2["bid_time"] = []string{bidTime}
  83. data2["app_id"] = []string{appID}
  84. now2 := time.Now().Unix()
  85. bs2, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
  86. "token": utils.MD5(fmt.Sprintf("%s%d%s", appID, now2, secretKey)),
  87. "timestamp": fmt.Sprint(now2),
  88. }, data2)
  89. log.Print(string(bs2))
  90. // 中标日期 中标单位
  91. data3 := make(url.Values)
  92. data3["winner"] = []string{winner}
  93. data3["bid_time"] = []string{bidTime3}
  94. data3["app_id"] = []string{appID}
  95. now3 := time.Now().Unix()
  96. bs3, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectList", map[string]string{
  97. "token": utils.MD5(fmt.Sprintf("%s%d%s", appID, now3, secretKey)),
  98. "timestamp": fmt.Sprint(now2),
  99. }, data3)
  100. log.Print(string(bs3))
  101. }
  102. // 列表详情测试用例
  103. func Test_ProjectListDetail(t *testing.T) {
  104. appID := "sfGSVYRQMAAgkGBAUBJg4f"
  105. secretKey := "364xw909"
  106. data1 := make(url.Values)
  107. data1["app_id"] = []string{appID}
  108. data1["winner"] = []string{"中铁十五局集团有限公司"}
  109. now := time.Now().Unix()
  110. bs, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectListDetail", map[string]string{
  111. "token": utils.MD5(fmt.Sprintf("%s%d%s", appID, now, secretKey)),
  112. "timestamp": fmt.Sprint(now),
  113. }, data1)
  114. log.Print(string(bs))
  115. }
  116. func getData() {
  117. data := post(apiurl, map[string]string{
  118. "projectname": "河南大学",
  119. "s_winner": "洛阳丹尼斯量贩有限公司",
  120. "jgtime": "1545235200_1599014733",
  121. })
  122. log.Println(data)
  123. }
  124. //获取项目详情测试用例
  125. func Test_ProjectDetails(t *testing.T) {
  126. appID := "sfPQRYRQMAAwcGBwYBCgcA"
  127. secretKey := "a8Iws4mE"
  128. data := make(url.Values)
  129. projectId := SE.EncodeString("5f6b4e12499cb0822d39c68f")
  130. data["project_id"] = []string{projectId}
  131. data["app_id"] = []string{appID}
  132. now := time.Now().Unix()
  133. bs, _ := utils.HttpPostForm("http://localhost:8080/sfis/api/v1/projectDetail", map[string]string{
  134. "token": utils.MD5(fmt.Sprintf("%s%d%s", appID, now, secretKey)),
  135. "timestamp": fmt.Sprint(now),
  136. }, data)
  137. log.Print(string(bs))
  138. }
  139. func post(url string, form map[string]string) (data map[string]interface{}) {
  140. str := ""
  141. for k, v := range form {
  142. str += "&" + k + "=" + v
  143. }
  144. log.Println(str)
  145. res, err := http.Post(url, "application/x-www-form-urlencoded", strings.NewReader(str))
  146. if err != nil {
  147. log.Println("post err:", err.Error())
  148. } else if res.Body != nil {
  149. defer res.Body.Close()
  150. bs, _ := ioutil.ReadAll(res.Body)
  151. json.Unmarshal(bs, &data)
  152. }
  153. return
  154. }