123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package serv_http
- import (
- "net/http"
- "os"
- "testing"
- "time"
- "github.com/gofiber/fiber/v2"
- "git.p78su.freemyip.com/svi/gostore/pkg/mock/mock_service"
- "git.p78su.freemyip.com/svi/gostore/pkg/types"
- )
- type tester struct {
- t *testing.T
- serv types.IService
- web *ServHttp
- }
- func TestServHttp(t *testing.T) {
- sf := &tester{
- t: t,
- }
- sf.create()
- sf.get()
- sf.close()
- }
- // Закрытие сервиса
- func (sf *tester) close() {
- sf.t.Log("close")
- sf.serv.CancelApp()
- sf.serv.Wg().Wait()
- sf.web.close()
- }
- // Получение индексной страницы
- func (sf *tester) get() {
- sf.t.Log("get")
- app := fiber.New()
- app.Get("/", sf.web.get)
- req, err := http.NewRequest("GET", "/", nil)
- if err != nil {
- sf.t.Fatalf("get(): err=\n\t%v", err)
- }
- resp, err := app.Test(req)
- if err != nil {
- sf.t.Fatalf("get(): err=\n\t%v", err)
- }
- defer resp.Body.Close()
- }
- // Создание нового веб-сервера
- func (sf *tester) create() {
- sf.t.Log("create")
- sf.createBad1()
- sf.createBad2()
- sf.createGood1()
- }
- func (sf *tester) createGood1() {
- sf.t.Log("createGood1")
- os.Setenv("STORE_HTTP_PORT", "8080")
- web, err := NewServHttp(sf.serv)
- if err != nil {
- sf.t.Fatalf("createGood1(): err=\n\t%v", err)
- }
- sf.web = web.(*ServHttp)
- 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()
- web, err := NewServHttp(sf.serv)
- if err == nil {
- sf.t.Fatalf("createBad2(): err==nil")
- }
- if web != nil {
- sf.t.Fatalf("createBad2(): web!=nil")
- }
- }
- // Нет объекта сервиса
- func (sf *tester) createBad1() {
- sf.t.Log("createBad1")
- sf.serv = mock_service.NewMockService()
- web, err := NewServHttp(nil)
- if err == nil {
- sf.t.Fatalf("createBad1(): err==nil")
- }
- if web != nil {
- sf.t.Fatalf("createBad1(): web!=nil")
- }
- }
|