service_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. serv.CancelApp()
  44. serv.Run()
  45. }
  46. // Нет переменной окружения для порта веб-сервера
  47. func (sf *tester) createBad2() {
  48. sf.t.Log("createBad2")
  49. serv, err := NewService()
  50. if err == nil {
  51. sf.t.Fatalf("createBad2(): err==nil")
  52. }
  53. if serv != nil {
  54. sf.t.Fatalf("createBad2(): serv!=nil")
  55. }
  56. }
  57. // Не удалось создать хранилище
  58. func (sf *tester) createBad1() {
  59. sf.t.Log("createBad1")
  60. store.IsBad_ = true
  61. serv, err := NewService()
  62. if err == nil {
  63. sf.t.Fatalf("createBad1(): err==nil")
  64. }
  65. if serv != nil {
  66. sf.t.Fatalf("createBad1(): serv!=nil")
  67. }
  68. store.IsBad_ = false
  69. }