package kern import ( "fmt" "os" "testing" "gitp78su.ipnodns.ru/svi/kern/v4/lev1/log_buf" "gitp78su.ipnodns.ru/svi/kern/v4/lev1/mock_env" ) const ( baseUrl = "http://127.0.0.1:18420/" pathStore = "/store/store_helpers" ) type tester struct { t *testing.T me *mock_env.MockEnv } func TestBuilders(t *testing.T) { sf := &tester{ t: t, me: mock_env.MakeEnv(), } _ = os.Unsetenv("LOCAL_STORE_PATH") _ = os.Setenv("LOCAL_STORE_PATH", pathStore) _ = os.Unsetenv("LOCAL_HTTP_URL") os.Setenv("LOCAL_HTTP_URL", baseUrl) fnClear := func() { _ = os.RemoveAll(pathStore) } fnClear() defer fnClear() sf.new() sf.newModBad() } func (sf *tester) newModBad() { sf.t.Log("newModBad") res := NewKernelModule("") if res.IsOk() { sf.t.Fatalf("newModBad(): res.IsOk()") } } // создание компонентов func (sf *tester) new() { sf.t.Log("new") ctx := GetKernelCtx().Hassert("new()") { if ctx == nil { sf.t.Fatalf("new(): IKernelCtx==nil") } store := GetKernelStoreKv().Hassert("new()") res := store.Delete("test_builders") if res.IsErr() { sf.t.Fatalf("new(): get empty key, store, err=%v", res.Err()) } safeBool := NewSafeBool() if safeBool == nil { sf.t.Fatalf("new(): ISafeBool==nil") } kernBus := GetKernelBusLocal() if kernBus == nil { sf.t.Fatalf("new(): (local) IKernelBus==nil") } kernBusHttp := GetKernelBusHttp() if kernBusHttp == nil { sf.t.Fatalf("new(): (http) IKernelBus==nil") } } { monLocal := GetMonolitLocal("mon_local") if monLocal == nil { sf.t.Fatalf("new(): (local) IKernelMonolit==nil") } monHttp := GetMonolitHttp("mon_http") if monHttp == nil { sf.t.Fatalf("new(): (http) IKernelMonolit==nil") } mod := NewKernelModule("test_mod") if mod == nil { sf.t.Fatalf("new(): IKernelModule==nil") } clientLocal := NewClientBusLocal() if clientLocal == nil { sf.t.Fatalf("new(): (local) IBusClient==nil") } clientHttp := NewClientBusHttp("test_url") if clientHttp == nil { sf.t.Fatalf("new(): (http) IBusClient==nil") } } { modServHttp := GetModuleServHttp() if modServHttp == nil { sf.t.Fatalf("new(): modServHttp==nil") } modKernelCtx := GetModuleKernelCtx() if modKernelCtx == nil { sf.t.Fatalf("new(): modKernelCtx==nil") } modKernelKeeper := GetModuleKernelKeeper() if modKernelKeeper == nil { sf.t.Fatalf("new(): modKernelKeeper==nil") } modWui := GetModuleWui() if modWui == nil { sf.t.Fatalf("new(): modWui==nil") } logBuf := NewLogBuf(log_buf.OptIsTerm(true)) if logBuf == nil { sf.t.Fatalf("new(): ILogBuf==nil") } boolReact := NewSafeBoolReact() if boolReact == nil { sf.t.Fatalf("new(): ISafeBoolReact==nil") } safeInt := NewSafeInt(12) if safeInt == nil { sf.t.Fatalf("new(): ISafeInt==nil") } lCtx := NewLocalCtx(ctx.Ctx()) if lCtx == nil { sf.t.Fatalf("new(): ILocalCtx==nil") } } { safeStr := NewSafeString() if safeStr == nil { sf.t.Fatalf("new(): ISafeStr==nil") } fnHassert := Hassert() if fnHassert == nil { sf.t.Fatalf("new(): Hassert==nil") } fnAssert := Assert() if fnAssert == nil { sf.t.Fatalf("new(): Assert==nil") } } _ = MakeOk("test ok") _ = MakeErr[bool](fmt.Errorf("test err")) _ = NewOpt("test err") _ = NewNone[int64]() valInt := NewInt(28) if val := valInt.Get(); val != 28 { sf.t.Fatalf("new(): cal(%v)!=28", val) } kernServHttp := GetKernelServerHttp().Hassert("new()") go kernServHttp.Run() ctx.Cancel() ctx.Wg().Wait() ctx.Cancel() ctx.Wg().Wait() }