// 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) } }