1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // package mock_web -- мок веб-сервер для тестов
- package mock_web
- import (
- "fmt"
- "log"
- "github.com/gofiber/fiber/v2"
- "git.p78su.freemyip.com/svi/gostore/pkg/types"
- )
- // MockWeb -- мок веб-сервер для тестов
- type MockWeb struct {
- serv types.IService
- fiberApp *fiber.App
- }
- // NewMockWeb -- возвращает мок веб-сервер для тестов
- func NewMockWeb(serv types.IService) (*MockWeb, error) {
- if serv == nil {
- return nil, fmt.Errorf("NewMockWeb(): serv==nil")
- }
- sf := &MockWeb{
- serv: serv,
- fiberApp: fiber.New(),
- }
- return sf, nil
- }
- // Service -- возвращает сервис
- func (sf *MockWeb) Service() types.IService {
- return sf.serv
- }
- // Run -- запускает веб-сервер в работу
- func (sf *MockWeb) Run() {
- sf.serv.Wg().Add(1)
- go func() {
- err := sf.fiberApp.Listen(":25000")
- if err != nil {
- log.Printf("MockWeb.Run(): in listen port(25000), err=\n\t%v\n", err)
- sf.serv.CancelApp()
- sf.serv.Wg().Done()
- }
- }()
- }
- // FiberApp -- возвращает приложение fiber
- func (sf *MockWeb) FiberApp() *fiber.App {
- return sf.fiberApp
- }
|