package service import ( "os" "testing" "git.p78su.freemyip.com/svi/gostore/internal/store" ) type tester struct { t *testing.T } func TestService(t *testing.T) { fnClear := func() { _ = os.RemoveAll("./store") } fnClear() defer fnClear() sf := &tester{ t: t, } sf.create() } // create -- создает сервис func (sf *tester) create() { sf.t.Log("create") sf.createBad1() sf.createBad2() sf.createGood1() } func (sf *tester) createGood1() { sf.t.Log("createGood1") _ = os.RemoveAll("./store") os.Unsetenv("HTTP_PORT") os.Setenv("HTTP_PORT", "18080") serv, err := NewService() if err != nil { sf.t.Fatalf("createGood1(): in create IStoreDisk, err=\n\t%v", err) } if serv == nil { sf.t.Fatalf("createGood1(): serv==nil") } if http := serv.ServHttp(); http == nil { sf.t.Fatalf("createGood1(): http==nil") } serv.CancelApp() if err := serv.Run(); err != nil { sf.t.Fatalf("createGood1(): err=\n\t%v", err) } } // Нет переменной окружения для порта веб-сервера func (sf *tester) createBad2() { sf.t.Log("createBad2") serv, err := NewService() if err == nil { sf.t.Fatalf("createBad2(): err==nil") } if serv != nil { sf.t.Fatalf("createBad2(): serv!=nil") } } // Не удалось создать хранилище func (sf *tester) createBad1() { sf.t.Log("createBad1") store.IsBad_ = true serv, err := NewService() if err == nil { sf.t.Fatalf("createBad1(): err==nil") } if serv != nil { sf.t.Fatalf("createBad1(): serv!=nil") } store.IsBad_ = false }