From 09a8f07ead93131e6182892889c3fe76ebd0168e Mon Sep 17 00:00:00 2001 From: Tyson Gern Date: Tue, 26 Mar 2024 05:19:54 -0600 Subject: [PATCH] Add test for deferrable --- pkg/deferrable/deferrable_test.go | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 pkg/deferrable/deferrable_test.go diff --git a/pkg/deferrable/deferrable_test.go b/pkg/deferrable/deferrable_test.go new file mode 100644 index 0000000..484e91d --- /dev/null +++ b/pkg/deferrable/deferrable_test.go @@ -0,0 +1,37 @@ +package deferrable_test + +import ( + "github.com/initialcapacity/go-streaming/pkg/deferrable" + "github.com/stretchr/testify/assert" + "net/http" + "testing" +) + +func TestDefer(t *testing.T) { + writer := ResponseWriterSpy{} + d := deferrable.New(&writer, "pickles") + + value := d.Value() + + assert.Equal(t, "pickles", value) + assert.True(t, writer.FlushCalled) +} + +type ResponseWriterSpy struct { + FlushCalled bool +} + +func (w *ResponseWriterSpy) Header() http.Header { + return map[string][]string{} +} + +func (w *ResponseWriterSpy) Write([]byte) (int, error) { + return 0, nil +} + +func (w *ResponseWriterSpy) WriteHeader(statusCode int) { +} + +func (w *ResponseWriterSpy) Flush() { + w.FlushCalled = true +}