kern_test.go 2.8 KB

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