code: func (_m *Cluster) Copy(ctx context.Context, opts *types.CopyOptions) (chan *types.CopyMessage, error) {
  	ret := _m.Called(ctx, opts)
  
  	var r0 chan *types.CopyMessage
  	if rf, ok := ret.Get(0).(func(context.Context, *types.CopyOptions) chan *types.CopyMessage); ok {
  		r0 = rf(ctx, opts)
  	} else {
  		if ret.Get(0) != nil {
  			r0 = ret.Get(0).(chan *types.CopyMessage)
  		}
  	}
  
  	var r1 error
  	if rf, ok := ret.Get(1).(func(context.Context, *types.CopyOptions) error); ok {
  		r1 = rf(ctx, opts)
  	} else {
  		r1 = ret.Error(1)
  	}
  
  	return r0, r1
  }
docs: // Copy provides a mock function with given fields: ctx, opts