75 lines
1.8 KiB
Go
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)
|
|
}
|
|
}
|