add option to continue pipeline when the input is empty

This commit is contained in:
Donny Xia
2020-08-19 11:21:19 -07:00
parent 0ff4e53046
commit 037ac3b134
3 changed files with 40 additions and 2 deletions

View File

@@ -4,7 +4,9 @@
package kio_test
import (
"bytes"
"reflect"
"strings"
"testing"
"github.com/stretchr/testify/assert"
@@ -75,3 +77,34 @@ func TestPipelineWithCallback(t *testing.T) {
)
}
}
func TestContinueIfInputEmpty(t *testing.T) {
actual := &bytes.Buffer{}
output := ByteWriter{
Sort: true,
WrappingKind: ResourceListKind,
WrappingAPIVersion: ResourceListAPIVersion,
}
output.Writer = actual
p := Pipeline{
Outputs: []Writer{output},
ContinueIfInputEmpty: true,
}
err := p.Execute()
if err != nil {
t.Fatal(err)
}
expected := `
apiVersion: config.kubernetes.io/v1alpha1
kind: ResourceList
items: []
`
if !assert.Equal(t,
strings.TrimSpace(expected), strings.TrimSpace(actual.String())) {
t.FailNow()
}
}