kern_test.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package kern
  2. import (
  3. "fmt"
  4. "os"
  5. "testing"
  6. "gitp78su.ipnodns.ru/svi/kern/kc/log_buf"
  7. "gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
  8. )
  9. type tester struct {
  10. t *testing.T
  11. me *mock_env.MockEnv
  12. }
  13. func TestBuilders(t *testing.T) {
  14. sf := &tester{
  15. t: t,
  16. me: mock_env.MakeEnv(),
  17. }
  18. _ = os.Unsetenv("LOCAL_STORE_PATH")
  19. _ = os.Setenv("LOCAL_STORE_PATH", "/store/store_kern")
  20. _ = os.Unsetenv("LOCAL_HTTP_URL")
  21. os.Setenv("LOCAL_HTTP_URL", "http://localhost:18311/")
  22. fnClear := func() {
  23. pwd := sf.me.Pwd() + "/store/store_kern"
  24. _ = os.RemoveAll(pwd)
  25. }
  26. fnClear()
  27. defer fnClear()
  28. sf.new()
  29. sf.newModBad()
  30. }
  31. func (sf *tester) newModBad() {
  32. sf.t.Log("newModBad")
  33. defer func() {
  34. if _panic := recover(); _panic == nil {
  35. sf.t.Fatalf("newModBad(): panic==nil")
  36. }
  37. }()
  38. _ = NewKernelModule("")
  39. }
  40. // создание компонентов
  41. func (sf *tester) new() {
  42. sf.t.Log("new")
  43. ctx := GetKernelCtx()
  44. {
  45. if ctx == nil {
  46. sf.t.Fatalf("new(): IKernelCtx==nil")
  47. }
  48. store := GetKernelStoreKv()
  49. res := store.Delete("test_builders")
  50. if res.IsErr() {
  51. sf.t.Fatalf("new(): get empty key, store, err=%v", res.Err())
  52. }
  53. safeBool := NewSafeBool()
  54. if safeBool == nil {
  55. sf.t.Fatalf("new(): ISafeBool==nil")
  56. }
  57. kernBus := GetKernelBusLocal()
  58. if kernBus == nil {
  59. sf.t.Fatalf("new(): (local) IKernelBus==nil")
  60. }
  61. kernBusHttp := GetKernelBusHttp()
  62. if kernBusHttp == nil {
  63. sf.t.Fatalf("new(): (http) IKernelBus==nil")
  64. }
  65. }
  66. {
  67. monLocal := GetMonolitLocal("mon_local")
  68. if monLocal == nil {
  69. sf.t.Fatalf("new(): (local) IKernelMonolit==nil")
  70. }
  71. monHttp := GetMonolitHttp("mon_http")
  72. if monHttp == nil {
  73. sf.t.Fatalf("new(): (http) IKernelMonolit==nil")
  74. }
  75. mod := NewKernelModule("test_mod")
  76. if mod == nil {
  77. sf.t.Fatalf("new(): IKernelModule==nil")
  78. }
  79. clientLocal := NewClientBusLocal()
  80. if clientLocal == nil {
  81. sf.t.Fatalf("new(): (local) IBusClient==nil")
  82. }
  83. clientHttp := NewClientBusHttp("test_url")
  84. if clientHttp == nil {
  85. sf.t.Fatalf("new(): (http) IBusClient==nil")
  86. }
  87. }
  88. {
  89. modServHttp := GetModuleServHttp()
  90. if modServHttp == nil {
  91. sf.t.Fatalf("new(): modServHttp==nil")
  92. }
  93. modKernelCtx := GetModuleKernelCtx()
  94. if modKernelCtx == nil {
  95. sf.t.Fatalf("new(): modKernelCtx==nil")
  96. }
  97. modKernelKeeper := GetModuleKernelKeeper()
  98. if modKernelKeeper == nil {
  99. sf.t.Fatalf("new(): modKernelKeeper==nil")
  100. }
  101. modWui := GetModuleWui()
  102. if modWui == nil {
  103. sf.t.Fatalf("new(): modWui==nil")
  104. }
  105. logBuf := NewLogBuf(log_buf.OptIsTerm(true))
  106. if logBuf == nil {
  107. sf.t.Fatalf("new(): ILogBuf==nil")
  108. }
  109. boolReact := NewSafeBoolReact()
  110. if boolReact == nil {
  111. sf.t.Fatalf("new(): ISafeBoolReact==nil")
  112. }
  113. safeInt := NewSafeInt()
  114. if safeInt == nil {
  115. sf.t.Fatalf("new(): ISafeInt==nil")
  116. }
  117. lCtx := NewLocalCtx(ctx.Ctx())
  118. if lCtx == nil {
  119. sf.t.Fatalf("new(): ILocalCtx==nil")
  120. }
  121. }
  122. {
  123. safeStr := NewSafeString()
  124. if safeStr == nil {
  125. sf.t.Fatalf("new(): ISafeStr==nil")
  126. }
  127. fnHassert := GetFnHassert()
  128. if fnHassert == nil {
  129. sf.t.Fatalf("new(): Hassert==nil")
  130. }
  131. fnAssert := GetFnAssert()
  132. if fnAssert == nil {
  133. sf.t.Fatalf("new(): Assert==nil")
  134. }
  135. }
  136. _ = MakeOk("test ok")
  137. _ = MakeErr[bool](fmt.Errorf("test err"))
  138. _ = MakeSome("test err")
  139. _ = MakeNone[int64]()
  140. kernServHttp := GetKernelServerHttp()
  141. go kernServHttp.Run()
  142. ctx.Cancel()
  143. ctx.Wg().Wait()
  144. ctx.Cancel()
  145. ctx.Wg().Wait()
  146. }