Extract a test library helper for ErrorWriter{}.
Signed-off-by: Matt Moyer <moyerm@vmware.com>
This commit is contained in:
parent
a15a106fd3
commit
531954511b
@ -16,12 +16,10 @@ import (
|
||||
"github.com/sclevine/spec/report"
|
||||
"github.com/stretchr/testify/require"
|
||||
"k8s.io/client-go/pkg/apis/clientauthentication"
|
||||
|
||||
"github.com/suzerain-io/placeholder-name/test/library"
|
||||
)
|
||||
|
||||
type errWriter struct{ returnErr error }
|
||||
|
||||
func (e *errWriter) Write([]byte) (int, error) { return 0, e.returnErr }
|
||||
|
||||
func TestRun(t *testing.T) {
|
||||
spec.Run(t, "Run", func(t *testing.T, when spec.G, it spec.S) {
|
||||
var buffer *bytes.Buffer
|
||||
@ -97,7 +95,7 @@ func TestRun(t *testing.T) {
|
||||
})
|
||||
|
||||
it("returns an error", func() {
|
||||
err := run(envGetter, tokenExchanger, &errWriter{returnErr: fmt.Errorf("some IO error")}, 30*time.Second)
|
||||
err := run(envGetter, tokenExchanger, &library.ErrorWriter{ReturnError: fmt.Errorf("some IO error")}, 30*time.Second)
|
||||
require.EqualError(t, err, "failed to marshal response to stdout: some IO error")
|
||||
})
|
||||
}, spec.Parallel())
|
||||
|
17
test/library/ioutil.go
Normal file
17
test/library/ioutil.go
Normal file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
Copyright 2020 VMware, Inc.
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package library
|
||||
|
||||
import "io"
|
||||
|
||||
// ErrorWriter implements io.Writer by returning a fixed error.
|
||||
type ErrorWriter struct {
|
||||
ReturnError error
|
||||
}
|
||||
|
||||
var _ io.Writer = &ErrorWriter{}
|
||||
|
||||
func (e *ErrorWriter) Write([]byte) (int, error) { return 0, e.ReturnError }
|
Loading…
Reference in New Issue
Block a user