http_test.go 903 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package webutils
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "testing"
  6. "time"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. func TestGet(t *testing.T) {
  10. resp, err := Get("https://ip.sb", time.Second*3)
  11. if err != nil {
  12. t.Fatal(err)
  13. }
  14. assert.NotEmpty(t, resp)
  15. }
  16. func TestPostJson(t *testing.T) {
  17. type ReqData struct {
  18. Username string
  19. }
  20. reqData := ReqData{
  21. Username: "123",
  22. }
  23. dataByte, _ := json.Marshal(reqData)
  24. _, err := Post("https://ip.sb", string(dataByte), time.Second*3)
  25. assert.Error(t, err)
  26. }
  27. func TestGetResp(t *testing.T) {
  28. type DataItem struct {
  29. API string `json:"api"`
  30. V string `json:"v"`
  31. Ret []string `json:"ret"`
  32. Data struct {
  33. T string `json:"t"`
  34. } `json:"data"`
  35. }
  36. reqUrl := "http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp"
  37. resp, err := GetResp[DataItem](reqUrl, time.Second*3)
  38. if err != nil {
  39. t.Fatal(err)
  40. }
  41. fmt.Println(resp)
  42. }