serv_http_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package serv_http
  2. import (
  3. "os"
  4. "testing"
  5. "time"
  6. "git.p78su.freemyip.com/svi/gostore/pkg/mock/mock_service"
  7. )
  8. type tester struct {
  9. t *testing.T
  10. serv *mock_service.MockService
  11. web *ServHttp
  12. }
  13. func TestServHttp(t *testing.T) {
  14. sf := &tester{
  15. t: t,
  16. }
  17. sf.create()
  18. }
  19. // Создание нового веб-сервера
  20. func (sf *tester) create() {
  21. sf.t.Log("create")
  22. sf.createBad1()
  23. sf.createBad2()
  24. sf.createGood1()
  25. }
  26. func (sf *tester) createGood1() {
  27. sf.t.Log("createGood1")
  28. var err error
  29. os.Setenv("HTTP_PORT", "8080")
  30. sf.web, err = NewServHttp(sf.serv)
  31. if err != nil {
  32. sf.t.Fatalf("createGood1(): err=\n\t%v", err)
  33. }
  34. if sf.web == nil {
  35. sf.t.Fatalf("createGood1(): web==nil")
  36. }
  37. go func() {
  38. _ = sf.web.Run()
  39. }()
  40. sf.serv.CancelApp()
  41. time.Sleep(50 * time.Millisecond)
  42. }
  43. // Нет порта для работы сервера
  44. func (sf *tester) createBad2() {
  45. sf.t.Log("createBad2")
  46. sf.serv = mock_service.NewMockService()
  47. var err error
  48. sf.web, err = NewServHttp(sf.serv)
  49. if err == nil {
  50. sf.t.Fatalf("createBad2(): err==nil")
  51. }
  52. if sf.web != nil {
  53. sf.t.Fatalf("createBad2(): web!=nil")
  54. }
  55. }
  56. // Нет объекта сервиса
  57. func (sf *tester) createBad1() {
  58. sf.t.Log("createBad1")
  59. sf.serv = mock_service.NewMockService()
  60. var err error
  61. sf.web, err = NewServHttp(nil)
  62. if err == nil {
  63. sf.t.Fatalf("createBad1(): err==nil")
  64. }
  65. if sf.web != nil {
  66. sf.t.Fatalf("createBad1(): web!=nil")
  67. }
  68. }