comandy/http_test.go
2024-05-02 18:53:32 +09:00

65 lines
1.5 KiB
Go

package main
import (
"encoding/base64"
"encoding/json"
"net/http"
"sync"
"testing"
"unsafe"
"github.com/fumiama/terasu/dns"
)
type testlist struct {
sync.RWMutex
m map[string][]*uintptr
}
func TestRequest(t *testing.T) {
(*testlist)(unsafe.Pointer(&dns.IPv4Servers)).m = make(map[string][]*uintptr)
(*testlist)(unsafe.Pointer(&dns.IPv6Servers)).m = make(map[string][]*uintptr)
dns.IPv4Servers.Add(&dns.DNSConfig{
Servers: map[string][]string{
"dot.360.cn": {
"101.198.192.33:853",
"112.65.69.15:853",
"101.226.4.6:853",
"218.30.118.6:853",
"123.125.81.6:853",
"140.207.198.6:853",
},
},
})
dns.IPv6Servers.Add(&dns.DNSConfig{
Servers: map[string][]string{
"dot.360.cn": {
"101.198.192.33:853",
"112.65.69.15:853",
"101.226.4.6:853",
"218.30.118.6:853",
"123.125.81.6:853",
"140.207.198.6:853",
},
},
})
r := gorequest(`{"code":0,"headers":{"authorization":"Token ","host":"api.mangacopy.com","source":"copyApp","webp":"1","region":"1","version":"2.1.7","platform":"3","user-agent":"COPY/2.1.7"},"method":"GET","url":"https://api.mangacopy.com/api/v3/h5/homeIndex?platform\u003d3"}`)
t.Log(r)
c := capsule{}
err := json.Unmarshal(stringToBytes(r), &c)
if err != nil {
t.Fatal(err)
}
if c.C != http.StatusOK {
s, err := base64.StdEncoding.DecodeString(c.D)
if err != nil {
t.Fatal("status code", c.C, "msg:", c.D)
} else {
t.Fatal("status code", c.C, "msg:", s)
}
}
if len(c.D) == 0 {
t.Fatal("empty data")
}
}