package router_anonym import ( "net/http" "testing" "git.p78su.freemyip.com/svi/gostore/pkg/mock/mock_service" "git.p78su.freemyip.com/svi/gostore/pkg/mock/mock_web" "github.com/gofiber/fiber/v2" ) type tester struct { t *testing.T serv *mock_service.MockService web *mock_web.MockWeb anonRouter *RouterAnonym } func TestRouterAnonym(t *testing.T) { sf := &tester{ t: t, } sf.create() sf.get() sf.time() } // Получение времени с сервера func (sf *tester) time() { sf.t.Log("time") app := fiber.New() app.Get("/anonym/time", sf.anonRouter.time) req, err := http.NewRequest("GET", "/anonym/time", nil) if err != nil { sf.t.Fatalf("time(): err=\n\t%v", err) } resp, err := app.Test(req) if err != nil { sf.t.Fatalf("time(): err=\n\t%v", err) } defer resp.Body.Close() } // Получение страницы размещения анонимного ключа func (sf *tester) get() { sf.t.Log("get") app := fiber.New() app.Get("/anonym", sf.anonRouter.get) req, err := http.NewRequest("GET", "/anonym", 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.createGood1() } func (sf *tester) createGood1() { sf.t.Log("createGood1") var err error sf.anonRouter, err = NewRouterAnonym(sf.web) if err != nil { sf.t.Fatalf("createGood1(): err=\n\t%v", err) } if sf.anonRouter == nil { sf.t.Fatalf("createGood1(): anonRouter==nil") } } // Нет объекта веб-сервера func (sf *tester) createBad1() { sf.t.Log("createBad1") sf.serv = mock_service.NewMockService() var err error sf.web, err = mock_web.NewMockWeb(sf.serv) if err != nil { sf.t.Fatalf("createBad1(): err=\n\t%v", err) } sf.anonRouter, err = NewRouterAnonym(nil) if err == nil { sf.t.Fatalf("createBad1(): err==nil") } if sf.anonRouter != nil { sf.t.Fatalf("createBad1(): anonRouter!=nil") } }