mocks_test.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package handlers
  2. import (
  3. "context"
  4. "log/slog"
  5. "github.com/stretchr/testify/mock"
  6. "github.com/mk6i/open-oscar-server/state"
  7. "github.com/mk6i/open-oscar-server/wire"
  8. )
  9. // MockLocateService is a mock implementation of LocateService
  10. type MockLocateService struct {
  11. mock.Mock
  12. }
  13. func (m *MockLocateService) SetInfo(ctx context.Context, instance *state.SessionInstance, inBody wire.SNAC_0x02_0x04_LocateSetInfo) error {
  14. args := m.Called(ctx, instance, inBody)
  15. return args.Error(0)
  16. }
  17. func (m *MockLocateService) UserInfoQuery(ctx context.Context, instance *state.SessionInstance, inFrame wire.SNACFrame, inBody wire.SNAC_0x02_0x05_LocateUserInfoQuery) (wire.SNACMessage, error) {
  18. args := m.Called(ctx, instance, inFrame, inBody)
  19. return args.Get(0).(wire.SNACMessage), args.Error(1)
  20. }
  21. // MockBuddyIconRetriever is a mock implementation of BuddyIconRetriever
  22. type MockBuddyIconRetriever struct {
  23. mock.Mock
  24. }
  25. func (m *MockBuddyIconRetriever) BuddyIconMetadata(ctx context.Context, screenName state.IdentScreenName) (*wire.BARTID, error) {
  26. args := m.Called(ctx, screenName)
  27. id, _ := args.Get(0).(*wire.BARTID)
  28. return id, args.Error(1)
  29. }
  30. // MockBARTService is a mock implementation of BARTService
  31. type MockBARTService struct {
  32. mock.Mock
  33. }
  34. func (m *MockBARTService) RetrieveItem(ctx context.Context, inFrame wire.SNACFrame, inBody wire.SNAC_0x10_0x04_BARTDownloadQuery) (wire.SNACMessage, error) {
  35. args := m.Called(ctx, inFrame, inBody)
  36. return args.Get(0).(wire.SNACMessage), args.Error(1)
  37. }
  38. // newTestIconSource returns a BuddyIconSource whose users have no buddy icon,
  39. // for tests that are not exercising icons.
  40. func newTestIconSource() BuddyIconSource {
  41. iconRetriever := &MockBuddyIconRetriever{}
  42. iconRetriever.On("BuddyIconMetadata", mock.Anything, mock.Anything).Return(nil, nil).Maybe()
  43. return BuddyIconSource{
  44. IconRetriever: iconRetriever,
  45. BARTService: &MockBARTService{},
  46. Logger: slog.Default(),
  47. }
  48. }