func (_m *Manager) GetGroups(ctx context.Context, filter database.AndFilter) ([]*fftypes.Group, *database.FilterResult, error) {
	ret := _m.Called(ctx, filter)
	var r0 []*fftypes.Group
	if rf, ok := ret.Get(0).(func(context.Context, database.AndFilter) []*fftypes.Group); ok {
		r0 = rf(ctx, filter)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]*fftypes.Group)
		}
	}
	var r1 *database.FilterResult
	if rf, ok := ret.Get(1).(func(context.Context, database.AndFilter) *database.FilterResult); ok {
		r1 = rf(ctx, filter)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*database.FilterResult)
		}
	}
	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context, database.AndFilter) error); ok {
		r2 = rf(ctx, filter)
	} else {
		r2 = ret.Error(2)
	}
	return r0, r1, r2
}
GetGroups provides a mock function with given fields: ctx, filter
package privatemessagingmocks
import (
	context "context"
	database "github.com/hyperledger/firefly/pkg/database"
	fftypes "github.com/hyperledger/firefly/pkg/fftypes"
	mock "github.com/stretchr/testify/mock"
	sysmessaging "github.com/hyperledger/firefly/internal/sysmessaging"
)
type Manager struct {
	mock.Mock
}
func (_m *Manager) EnsureLocalGroup(ctx context.Context, group *fftypes.Group) (bool, error) {
	ret := _m.Called(ctx, group)
	var r0 bool
	if rf, ok := ret.Get(0).(func(context.Context, *fftypes.Group) bool); ok {
		r0 = rf(ctx, group)
	} else {
		r0 = ret.Get(0).(bool)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *fftypes.Group) error); ok {
		r1 = rf(ctx, group)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Manager) GetGroupByID(ctx context.Context, id string) (*fftypes.Group, error) {
	ret := _m.Called(ctx, id)
	var r0 *fftypes.Group
	if rf, ok := ret.Get(0).(func(context.Context, string) *fftypes.Group); ok {
		r0 = rf(ctx, id)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*fftypes.Group)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, string) error); ok {
		r1 = rf(ctx, id)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}