package serv_http import ( "os" "testing" "time" "git.p78su.freemyip.com/svi/gostore/pkg/mock/mock_service" ) type tester struct { t *testing.T serv *mock_service.MockService web *ServHttp } func TestServHttp(t *testing.T) { sf := &tester{ t: t, } sf.create() } // Создание нового веб-сервера func (sf *tester) create() { sf.t.Log("create") sf.createBad1() sf.createBad2() sf.createGood1() } func (sf *tester) createGood1() { sf.t.Log("createGood1") var err error os.Setenv("HTTP_PORT", "8080") sf.web, err = NewServHttp(sf.serv) if err != nil { sf.t.Fatalf("createGood1(): err=\n\t%v", err) } if sf.web == nil { sf.t.Fatalf("createGood1(): web==nil") } go func() { _ = sf.web.Run() }() sf.serv.CancelApp() time.Sleep(50 * time.Millisecond) } // Нет порта для работы сервера func (sf *tester) createBad2() { sf.t.Log("createBad2") sf.serv = mock_service.NewMockService() var err error sf.web, err = NewServHttp(sf.serv) if err == nil { sf.t.Fatalf("createBad2(): err==nil") } if sf.web != nil { sf.t.Fatalf("createBad2(): web!=nil") } } // Нет объекта сервиса func (sf *tester) createBad1() { sf.t.Log("createBad1") sf.serv = mock_service.NewMockService() var err error sf.web, err = NewServHttp(nil) if err == nil { sf.t.Fatalf("createBad1(): err==nil") } if sf.web != nil { sf.t.Fatalf("createBad1(): web!=nil") } }