kern_test.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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 := NewKernelCtx()
  42. if ctx == nil {
  43. sf.t.Fatalf("new(): IKernelCtx==nil")
  44. }
  45. store := NewKernelStoreKv()
  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 := NewKernelBusLocal()
  55. if kernBus == nil {
  56. sf.t.Fatalf("new(): (local) IKernelBus==nil")
  57. }
  58. kernBusHttp := NewKernelBusHttp()
  59. if kernBusHttp == nil {
  60. sf.t.Fatalf("new(): (http) IKernelBus==nil")
  61. }
  62. monLocal := NewMonolitLocal("mon_local")
  63. if monLocal == nil {
  64. sf.t.Fatalf("new(): (local) IKernelMonolit==nil")
  65. }
  66. monHttp := NewMonolitHttp("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 := NewModuleServHttp()
  83. if modServHttp == nil {
  84. sf.t.Fatalf("new(): modServHttp==nil")
  85. }
  86. modKernelCtx := NewModuleKernelCtx()
  87. if modKernelCtx == nil {
  88. sf.t.Fatalf("new(): modKernelCtx==nil")
  89. }
  90. modKernelKeeper := NewModuleKernelKeeper()
  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. kernServHttp := NewKernelServerHttp()
  99. go kernServHttp.Run()
  100. ctx.Cancel()
  101. ctx.Wg().Wait()
  102. ctx.Cancel()
  103. ctx.Wg().Wait()
  104. }