package kern import ( "fmt" "os" "testing" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/alias" "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() } // создание компонентов. func (sf *tester) new() { sf.t.Log("new") ctx := GetKernelCtx() if ctx == nil { sf.t.Fatalf("new(): IKernelCtx==nil") } sf.new0() sf.new1() sf.new2() sf.new3() _ = 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() go kernServHttp.Run() ctx.Cancel() ctx.Wg().Wait() ctx.Cancel() ctx.Wg().Wait() } func (sf *tester) new3() { 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") } } func (sf *tester) new2() { ctx := GetKernelCtx() if ctx == nil { sf.t.Fatalf("new(): IKernelCtx==nil") } modServHttp := GetModuleServHttp() if modServHttp == nil { sf.t.Fatalf("new2(): modServHttp==nil") } modKernelCtx := GetModuleKernelCtx() if modKernelCtx == nil { sf.t.Fatalf("new2(): modKernelCtx==nil") } modKernelKeeper := GetModuleKernelKeeper() if modKernelKeeper == nil { sf.t.Fatalf("new2(): modKernelKeeper==nil") } modWui := GetModuleWui() if modWui == nil { sf.t.Fatalf("new2(): modWui==nil") } logBuf := NewLogBuf(log_buf.OptIsTerm(true)) if logBuf == nil { sf.t.Fatalf("new2(): ILogBuf==nil") } boolReact := NewSafeBoolReact() if boolReact == nil { sf.t.Fatalf("new2(): ISafeBoolReact==nil") } safeInt := NewSafeInt(12) if safeInt == nil { sf.t.Fatalf("new2(): ISafeInt==nil") } lCtx := NewLocalCtx(ctx.Ctx()) if lCtx == nil { sf.t.Fatalf("new2(): ILocalCtx==nil") } } func (sf *tester) new1() { monLocal := GetMonolitLocal("mon_local") if monLocal == nil { sf.t.Fatalf("new1(): (local) IKernelMonolit==nil") } monHttp := GetMonolitHttp("mon_http") if monHttp == nil { sf.t.Fatalf("new1(): (http) IKernelMonolit==nil") } modName := alias.NewAModuleName("test_mod") mod := NewKernelModule(modName) if mod == nil { sf.t.Fatalf("new1(): IKernelModule==nil") } clientLocal := NewClientBusLocal() if clientLocal == nil { sf.t.Fatalf("new1(): (local) IBusClient==nil") } clientHttp := NewClientBusHttp("test_url") if clientHttp == nil { sf.t.Fatalf("new1(): (http) IBusClient==nil") } } func (sf *tester) new0() { store := GetKernelStoreKv() res := store.Delete("test_builders") if res.IsErr() { sf.t.Fatalf("new0(): get empty key, store, err=%v", res.Err()) } safeBool := NewSafeBool() if safeBool == nil { sf.t.Fatalf("new0(): ISafeBool==nil") } kernBus := GetKernelBusLocal() if kernBus == nil { sf.t.Fatalf("new0(): (local) IKernelBus==nil") } kernBusHttp := GetKernelBusHttp() if kernBusHttp == nil { sf.t.Fatalf("new0(): (http) IKernelBus==nil") } }