| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package page_modules
- import (
- "net/http"
- "os"
- "testing"
- "time"
- "gitp78su.ipnodns.ru/svi/kern/krn/kctx"
- "gitp78su.ipnodns.ru/svi/kern/krn/kmodule"
- "gitp78su.ipnodns.ru/svi/kern/krn/kmonolit"
- "gitp78su.ipnodns.ru/svi/kern/krn/kserv_http"
- . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
- "gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
- )
- type tester struct {
- t *testing.T
- ctx IKernelCtx
- serv IKernelServerHttp
- page *PageModules
- }
- func TestPageMonolit(t *testing.T) {
- sf := &tester{
- t: t,
- ctx: kctx.GetKernelCtx(),
- }
- sf.new()
- sf.postModulesState()
- sf.postModulesState1()
- sf.done()
- }
- // Возвращает состояние модуля 1 (теперь добавлен)
- func (sf *tester) postModulesState1() {
- sf.t.Log("postModulesState1")
- mon := kmonolit.GetMonolit("test_monolit")
- ctxMon := mon.Ctx()
- module := kmodule.NewKernelModule("test_module")
- module.Log().Debug("test msg")
- module.Log().Debug("test msg")
- ctxMod := module.Ctx()
- ctxMod.Set("demo_key", "demo value", "for demo comment")
- time.Sleep(time.Millisecond * 20)
- ctxMon.Set("module_1", module, "test_module")
- fiberApp := sf.serv.Fiber()
- req, err := http.NewRequest("POST", "/modules", nil)
- if err != nil {
- sf.t.Fatalf("postModulesState1(): in net request, err=%v", err)
- }
- resp, err := fiberApp.Test(req)
- if err != nil {
- sf.t.Fatalf("postModulesState1(): in make POST, err=%v", err)
- }
- if resp.StatusCode != 200 {
- sf.t.Fatalf("postModulesState1(): status(%v)!=200", resp.StatusCode)
- }
- }
- // Возвращает состояние модуля
- func (sf *tester) postModulesState() {
- sf.t.Log("postModulesState")
- fiberApp := sf.serv.Fiber()
- req, err := http.NewRequest("POST", "/modules", nil)
- if err != nil {
- sf.t.Fatalf("postModulesState(): in net request, err=%v", err)
- }
- resp, err := fiberApp.Test(req)
- if err != nil {
- sf.t.Fatalf("postModulesState(): in make POST, err=%v", err)
- }
- if resp.StatusCode != 200 {
- sf.t.Fatalf("postModulesState(): 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:18315/")
- sf.ctx.Set("isLocal", true, "testing")
- _ = kmonolit.GetMonolit("test_monolit")
- sf.serv = kserv_http.GetKernelServHttp()
- sf.page = GetPageModules()
- if sf.page == nil {
- sf.t.Fatalf("new(): page==nil")
- }
- _ = GetPageModules()
- go sf.serv.Run()
- }
|