comandy/http_test.go
2024-04-15 23:58:32 +09:00

50 lines
1.1 KiB
Go

package main
import (
"encoding/json"
"io"
"net/http"
"testing"
)
func TestClientGet(t *testing.T) {
_ = canUseIPv6.Get()
req, err := http.NewRequest("GET", "https://api.mangacopy.com/api/v3/h5/homeIndex?platform=3", nil)
if err != nil {
t.Fatal(err)
}
resp, err := (*http.Client)(&cli).Do(req)
if err != nil {
t.Fatal(err)
}
defer resp.Body.Close()
t.Log("[T] response code", resp.StatusCode)
for k, vs := range resp.Header {
for _, v := range vs {
t.Log("[T] response header", k+":", v)
}
}
data, err := io.ReadAll(resp.Body)
if err != nil {
t.Fatal(err)
}
t.Log(bytesToString(data))
t.Fail()
}
func TestRequest(t *testing.T) {
r := cli.request(`{"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 {
t.Fatal("status code", c.C)
}
if len(c.D) == 0 {
t.Fatal("empty data")
}
}