kern_test.go 3.0 KB

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