service_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package service
  2. import (
  3. "os"
  4. "testing"
  5. "git.p78su.freemyip.com/svi/gostore/pkg/store"
  6. )
  7. type tester struct {
  8. t *testing.T
  9. }
  10. func TestService(t *testing.T) {
  11. fnClear := func() {
  12. _ = os.RemoveAll("./store")
  13. }
  14. fnClear()
  15. defer fnClear()
  16. sf := &tester{
  17. t: t,
  18. }
  19. sf.create()
  20. }
  21. // create -- создает сервис
  22. func (sf *tester) create() {
  23. sf.t.Log("create")
  24. sf.createBad1()
  25. sf.createBad2()
  26. sf.createGood1()
  27. }
  28. func (sf *tester) createGood1() {
  29. sf.t.Log("createGood1")
  30. _ = os.RemoveAll("./store")
  31. os.Unsetenv("STORE_HTTP_PORT")
  32. os.Setenv("STORE_HTTP_PORT", "18080")
  33. serv, err := NewService()
  34. if err != nil {
  35. sf.t.Fatalf("createGood1(): in create IStoreDisk, err=\n\t%v", err)
  36. }
  37. if serv == nil {
  38. sf.t.Fatalf("createGood1(): serv==nil")
  39. }
  40. if http := serv.ServHttp(); http == nil {
  41. sf.t.Fatalf("createGood1(): http==nil")
  42. }
  43. go serv.Run()
  44. serv.CancelApp()
  45. serv.Wg().Wait()
  46. }
  47. // Нет переменной окружения для порта веб-сервера
  48. func (sf *tester) createBad2() {
  49. sf.t.Log("createBad2")
  50. serv, err := NewService()
  51. if err == nil {
  52. sf.t.Fatalf("createBad2(): err==nil")
  53. }
  54. if serv != nil {
  55. sf.t.Fatalf("createBad2(): serv!=nil")
  56. }
  57. }
  58. // Не удалось создать хранилище
  59. func (sf *tester) createBad1() {
  60. sf.t.Log("createBad1")
  61. store.IsBad_ = true
  62. serv, err := NewService()
  63. if err == nil {
  64. sf.t.Fatalf("createBad1(): err==nil")
  65. }
  66. if serv != nil {
  67. sf.t.Fatalf("createBad1(): serv!=nil")
  68. }
  69. store.IsBad_ = false
  70. }