github.com/kubeshop/testkube@v1.17.23/internal/graphql/services/mock_service.go (about)

     1  package services
     2  
     3  import (
     4  	"github.com/kubeshop/testkube/pkg/event/bus"
     5  	"github.com/kubeshop/testkube/pkg/log"
     6  )
     7  
     8  type MockService interface {
     9  	Service
    10  	BusMock() *bus.EventBusMock
    11  	Reset()
    12  }
    13  
    14  type mockService struct {
    15  	*service
    16  }
    17  
    18  func NewMockService() MockService {
    19  	return &mockService{
    20  		service: &service{
    21  			bus:    bus.NewEventBusMock(),
    22  			logger: log.DefaultLogger,
    23  		},
    24  	}
    25  }
    26  
    27  func (s *mockService) Reset() {
    28  	_ = s.bus.Close()
    29  	s.bus = bus.NewEventBusMock()
    30  }
    31  
    32  func (s *mockService) BusMock() *bus.EventBusMock {
    33  	return s.bus.(*bus.EventBusMock)
    34  }