package http_api import ( "net/http" "os" "testing" . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes" "gitp78su.ipnodns.ru/svi/kern/v4/lev1/mock_env" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kctx" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kmonolit" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kserv_http" ) type tester struct { t *testing.T ctx IKernelCtx serv IKernelServerHttp api *HttpApi } func TestPageMonolit(t *testing.T) { sf := &tester{ t: t, ctx: kctx.GetKernelCtx().Hassert("TestPageMonolit()"), } sf.new() sf.getTime() sf.done() } // Возвращает главную страницу монолита. func (sf *tester) getTime() { sf.t.Log("get") fiberApp := sf.serv.Fiber() req, err := http.NewRequest("POST", "/api_time", nil) if err != nil { sf.t.Fatalf("get(): in net request, err=%v", err) } resp, err := fiberApp.Test(req) if err != nil { sf.t.Fatalf("get(): in make POST, err=%v", err) } defer resp.Body.Close() if resp.StatusCode != 200 { sf.t.Fatalf("get(): status(%v)!=200", resp.StatusCode) } } // Освобождает ресурсы. func (sf *tester) done() { sf.t.Log("done") sf.ctx.Cancel() sf.ctx.Wg().Wait() } // Создаёт новую страницу монолита. func (sf *tester) new() { sf.t.Log("new") _ = mock_env.MakeEnv() _ = os.Unsetenv("LOCAL_HTTP_URL") os.Setenv("LOCAL_HTTP_URL", "http://localhost:18312/") sf.ctx.Set("isLocal", true, "testing").Hassert("new()") _ = kmonolit.GetMonolit("test_monolit") sf.serv = kserv_http.GetKernelServHttp().Hassert("new()") sf.api = NewHttpApi().Hassert("new()") if sf.api == nil { sf.t.Fatalf("new(): page==nil") } go sf.serv.Run() }