Files
waf-platform/EdgeNode/internal/js/lib_net_http_client_test.go
2026-02-04 20:27:13 +08:00

75 lines
1.8 KiB
Go

// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
//go:build script
// +build script
package js_test
import (
"github.com/TeaOSLab/EdgeNode/internal/js"
"testing"
)
func TestJSNetHTTPClientLibrary(t *testing.T) {
isolate, err := js.NewIsolate()
if err != nil {
t.Fatal(err)
}
ctx, err := isolate.GetContext()
if err != nil {
t.Fatal(err)
}
defer ctx.Done()
js.SharedJSConsoleLogLibrary.JSSetTesting(t)
_, err = ctx.Run(`
let clientReq = new gojs.net.http.client.Request("https://goedge.cn/api/boot/versions?os=linux&arch=amd64&pretty=true")
clientReq.setUserAgent("gojs/1.0")
let clientResp = clientReq.get()
if (clientResp.error != null) {
console.log("error:", clientResp.error)
} else {
console.log("status:", clientResp.status, "contentLength:", clientResp.contentLength, "headers:", clientResp.headers, "toString:", clientResp.body, "object:", clientResp.bodyObject.code)
}
`, "client.js")
if err != nil {
t.Fatal(err)
}
}
func TestJSNetHTTPClientLibrary_Post(t *testing.T) {
isolate, err := js.NewIsolate()
if err != nil {
t.Fatal(err)
}
ctx, err := isolate.GetContext()
if err != nil {
t.Fatal(err)
}
defer ctx.Done()
js.SharedJSConsoleLogLibrary.JSSetTesting(t)
_, err = ctx.Run(`
let clientReq = new gojs.net.http.client.Request("https://127.0.0.1/post")
//clientReq.setUserAgent("gojs/1.0")
clientReq.setContentType("application/json")
clientReq.setBody('{"hello":"world"}')
let clientResp = clientReq.post()
//let client = new gojs.net.http.client.Client()
//clientResp = client.do(clientReq)
if (clientResp.error != null) {
console.log("error:", clientResp.error)
} else {
console.log("status:", clientResp.status, "contentLength:", clientResp.contentLength, "headers:", clientResp.headers, "toString:", clientResp.body)
}
`, "client.js")
if err != nil {
t.Fatal(err)
}
}