github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/worker/changestream/package_test.go (about)

     1  // Copyright 2023 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package changestream
     5  
     6  import (
     7  	"testing"
     8  	time "time"
     9  
    10  	"go.uber.org/mock/gomock"
    11  	gc "gopkg.in/check.v1"
    12  
    13  	dbtesting "github.com/juju/juju/database/testing"
    14  )
    15  
    16  //go:generate go run go.uber.org/mock/mockgen -package changestream -destination stream_mock_test.go github.com/juju/juju/worker/changestream ChangeStream,DBGetter,EventQueueWorker,EventQueue,FileNotifyWatcher
    17  //go:generate go run go.uber.org/mock/mockgen -package changestream -destination logger_mock_test.go github.com/juju/juju/worker/changestream Logger
    18  //go:generate go run go.uber.org/mock/mockgen -package changestream -destination clock_mock_test.go github.com/juju/clock Clock,Timer
    19  
    20  func TestPackage(t *testing.T) {
    21  	gc.TestingT(t)
    22  }
    23  
    24  type baseSuite struct {
    25  	dbtesting.ControllerSuite
    26  
    27  	dbGetter          *MockDBGetter
    28  	clock             *MockClock
    29  	timer             *MockTimer
    30  	logger            *MockLogger
    31  	fileNotifyWatcher *MockFileNotifyWatcher
    32  	eventQueue        *MockEventQueue
    33  	eventQueueWorker  *MockEventQueueWorker
    34  }
    35  
    36  func (s *baseSuite) setupMocks(c *gc.C) *gomock.Controller {
    37  	ctrl := gomock.NewController(c)
    38  
    39  	s.dbGetter = NewMockDBGetter(ctrl)
    40  	s.clock = NewMockClock(ctrl)
    41  	s.timer = NewMockTimer(ctrl)
    42  	s.logger = NewMockLogger(ctrl)
    43  	s.fileNotifyWatcher = NewMockFileNotifyWatcher(ctrl)
    44  	s.eventQueue = NewMockEventQueue(ctrl)
    45  	s.eventQueueWorker = NewMockEventQueueWorker(ctrl)
    46  
    47  	return ctrl
    48  }
    49  
    50  func (s *baseSuite) expectAnyLogs() {
    51  	s.logger.EXPECT().Errorf(gomock.Any()).AnyTimes()
    52  	s.logger.EXPECT().Warningf(gomock.Any()).AnyTimes()
    53  	s.logger.EXPECT().Infof(gomock.Any(), gomock.Any()).AnyTimes()
    54  	s.logger.EXPECT().Debugf(gomock.Any()).AnyTimes()
    55  	s.logger.EXPECT().IsTraceEnabled().Return(false).AnyTimes()
    56  }
    57  
    58  func (s *baseSuite) expectClock() {
    59  	s.clock.EXPECT().Now().Return(time.Now()).AnyTimes()
    60  }