mod_serv_http_test.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package mod_serv_http
  2. import (
  3. "os"
  4. "testing"
  5. "time"
  6. . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  7. . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
  8. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/mock_env"
  9. "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kctx"
  10. )
  11. const (
  12. baseUrl = "http://localhost:18390/"
  13. pathStore = "/store/store_mod_serv_http"
  14. )
  15. type tester struct {
  16. t *testing.T
  17. me *mock_env.MockEnv
  18. ctx IKernelCtx
  19. mod IKernelModule
  20. }
  21. func TestModServHttp(t *testing.T) {
  22. sf := &tester{
  23. t: t,
  24. me: mock_env.MakeEnv(),
  25. ctx: kctx.GetKernelCtx(),
  26. }
  27. err := os.Unsetenv("LOCAL_STORE_PATH")
  28. Hassert(err == nil, "err=%v", err)
  29. err = os.Setenv("LOCAL_STORE_PATH", pathStore)
  30. Hassert(err == nil, "err=%v", err)
  31. err = os.Unsetenv("LOCAL_HTTP_URL")
  32. Hassert(err == nil, "err=%v", err)
  33. err = os.Setenv("LOCAL_HTTP_URL", baseUrl)
  34. Hassert(err == nil, "err=%v", err)
  35. fnClear := func() {
  36. pwd := sf.me.Pwd() + pathStore
  37. _ = os.RemoveAll(pwd)
  38. }
  39. fnClear()
  40. defer fnClear()
  41. sf.ctx.Set("monolitName", "test_monolit", "test")
  42. sf.new()
  43. sf.done()
  44. }
  45. // Завершение работы.
  46. func (sf *tester) done() {
  47. sf.t.Log("done")
  48. sf.ctx.Cancel()
  49. sf.ctx.Wg().Wait()
  50. if isWork := sf.mod.IsWork(); isWork {
  51. sf.t.Fatalf("newGood1(): isWork==true")
  52. }
  53. }
  54. // Создание нового модуля HTTP-сервера.
  55. func (sf *tester) new() {
  56. sf.t.Log("new")
  57. // sf.newBad1()
  58. sf.newGood1()
  59. }
  60. func (sf *tester) newGood1() {
  61. sf.t.Log("newGood1")
  62. _ = mock_env.MakeEnv()
  63. err := os.Unsetenv("LOCAL_HTTP_URL")
  64. Hassert(err == nil, "newGood1(): err=%v", err)
  65. err = os.Setenv("LOCAL_HTTP_URL", "http://localhost:18301/")
  66. Hassert(err == nil, "newGood1(): err=%v", err)
  67. sf.mod = GetModuleServHttp()
  68. _ = GetModuleServHttp()
  69. if sf.mod == nil {
  70. sf.t.Fatalf("newGood1(): mod==nil")
  71. }
  72. go sf.mod.Run()
  73. for {
  74. time.Sleep(time.Millisecond * 1)
  75. if sf.mod.IsWork() {
  76. return
  77. }
  78. }
  79. }
  80. // нет ничего для создания модуля
  81. // func (sf *tester) newBad1() {
  82. // sf.t.Log("newBad1")
  83. // defer func() {
  84. // if _panic := recover(); _panic == nil {
  85. // sf.t.Fatalf("newBad1(): panic==nil")
  86. // }
  87. // }()
  88. // _ = GetModuleServHttp()
  89. // }