func TestCallApiGet(t *testing.T) { kmgControllerRunner.RegisterController(TestObj{}) out := CallApiByHttp( "/?n=github.com.bronze1man.kmg.kmgControllerRunner.kmgControllerTest.TestObj.TestFunc&a=10", kmgHttp.NewTestContext(), ) Equal(out, "11") }
func TestCallApiPost(t *testing.T) { kmgControllerRunner.RegisterController(TestObj{}) out := CallApiByHttp( "/?n=github.com.bronze1man.kmg.kmgControllerRunner.kmgControllerTest.TestObj.TestFunc", kmgHttp.NewTestContext(). SetPost(). SetInStr("a", "1")) Equal(out, "2") }
// 请在进程初始化的时候进行Init.不要做懒加载.避免掉单. func (ot *OverseaTrade) InitForPayCallback() { if ot.SelfSchemeAndHost == "" { panic("支付回调必须填写当前网站scheme和host 如: http://127.0.0.1") } if ot.PayReturnPageCallback == nil { panic("支付回调必须处理同步回调.") } if ot.PayFinishCallback == nil && ot.PayCallback == nil { panic("支付成功必须处理,必须加入支付成功回调.") } kmgControllerRunner.RegisterController(ot) }
func TestUploadFile(t *testing.T) { testFileRealPath := "/tmp/UFile.md" file, err := os.Create(testFileRealPath) defer file.Close() if err != nil { panic(err) } file.WriteString("hello") file.Close() kmgControllerRunner.RegisterController(TestObj{}) out := CallApiByHttpWithUploadFile("/?n=github.com.bronze1man.kmg.kmgControllerRunner.kmgControllerTest.TestObj.TestHandleUploadFile", kmgHttp.NewTestContext(). SetPost(). SetInStr("a", "10"), map[string]string{ "UFile": "/tmp/UFile.md", }, ) Equal(out, "UFile.md 10 hello") }
func TestCookie(t *testing.T) { kmgControllerRunner.RegisterController(TestApiObj{}) uri := "/?n=github.com.bronze1man.kmg.kmgSession_test.TestApiObj.Count" server := httptest.NewServer(kmgControllerRunner.HttpHandler) defer server.Close() var response *http.Response uri = server.URL + uri cj, _ := cookiejar.New(&cookiejar.Options{}) client := http.Client{Jar: cj} Equal(shareSessionId, "") response, err := client.Get(uri) Equal(err, nil) Equal((shareSessionId == ""), false) _sessionId := shareSessionId response, _ = client.Get(uri) Equal(_sessionId, shareSessionId) _b, err := ioutil.ReadAll(response.Body) Equal(err, nil) response.Body.Close() content := string(_b) Equal(err, nil) Equal(content, shareSessionId) }
func main() { kmgControllerRunner.RegisterController(Example{}) kmgControllerRunner.EnterPointApiName = "main.Example.Demo1" kmgControllerRunner.StartServerCommand() }