32 lines
682 B
Go
32 lines
682 B
Go
package testutil
|
|
|
|
import (
|
|
"io"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// MockReadCloser is a mock implementation of io.ReadCloser
|
|
type MockReadCloser struct {
|
|
io.Reader
|
|
CloseFunc func() error
|
|
}
|
|
|
|
func (m MockReadCloser) Close() error {
|
|
if m.CloseFunc != nil {
|
|
return m.CloseFunc()
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// NewMockReadCloser creates a new MockReadCloser with the given content
|
|
func NewMockReadCloser(content string) io.ReadCloser {
|
|
return MockReadCloser{Reader: strings.NewReader(content)}
|
|
}
|
|
|
|
// RequireMockEquals asserts that two mocks are equal
|
|
func RequireMockEquals(t *testing.T, expected, actual interface{}) {
|
|
require.Equal(t, expected, actual)
|
|
}
|