service_test.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package service
  2. import (
  3. "os"
  4. "testing"
  5. "git.p78su.freemyip.com/svi/gostore/internal/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("HTTP_PORT")
  32. os.Setenv("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. serv.CancelApp()
  44. if err := serv.Run(); err != nil {
  45. sf.t.Fatalf("createGood1(): err=\n\t%v", err)
  46. }
  47. }
  48. // Нет переменной окружения для порта веб-сервера
  49. func (sf *tester) createBad2() {
  50. sf.t.Log("createBad2")
  51. serv, err := NewService()
  52. if err == nil {
  53. sf.t.Fatalf("createBad2(): err==nil")
  54. }
  55. if serv != nil {
  56. sf.t.Fatalf("createBad2(): serv!=nil")
  57. }
  58. }
  59. // Не удалось создать хранилище
  60. func (sf *tester) createBad1() {
  61. sf.t.Log("createBad1")
  62. store.IsBad_ = true
  63. serv, err := NewService()
  64. if err == nil {
  65. sf.t.Fatalf("createBad1(): err==nil")
  66. }
  67. if serv != nil {
  68. sf.t.Fatalf("createBad1(): serv!=nil")
  69. }
  70. store.IsBad_ = false
  71. }