From 4e4554923257393bd34f8599962b6036a55515cc Mon Sep 17 00:00:00 2001 From: risk danger olson Date: Fri, 18 Nov 2016 14:48:38 -0700 Subject: [PATCH] test Next() --- lfs/gitscanner_catfilebatchscanner_test.go | 54 +++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/lfs/gitscanner_catfilebatchscanner_test.go b/lfs/gitscanner_catfilebatchscanner_test.go index b58358df..afdd434f 100644 --- a/lfs/gitscanner_catfilebatchscanner_test.go +++ b/lfs/gitscanner_catfilebatchscanner_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/assert" ) -func TestCatFileBatchScannerWithValidOutput(t *testing.T) { +func TestCatFileBatchScannerScanWithValidOutput(t *testing.T) { blobs := []*Pointer{ &Pointer{ Version: "https://git-lfs.github.com/spec/v1", @@ -54,6 +54,58 @@ func TestCatFileBatchScannerWithValidOutput(t *testing.T) { } } +func TestCatFileBatchScannerNextWithValidOutput(t *testing.T) { + blobs := []*Pointer{ + &Pointer{ + Version: "https://git-lfs.github.com/spec/v1", + Oid: "e71eefd918ea175b8f362611f981f648dbf9888ff74865077cb4c9077728f350", + Size: 123, + OidType: "sha256", + }, + &Pointer{ + Version: "https://git-lfs.github.com/spec/v1", + Oid: "0eb69b651be65d5a61d6bebf2c53c811a5bf8031951111000e2077f4d7fe43b1", + Size: 132, + OidType: "sha256", + }, + } + + reader := fakeReaderWithRandoData(t, blobs) + if reader == nil { + return + } + + scanner := &catFileBatchScanner{r: bufio.NewReader(reader)} + + for i := 0; i < 5; i++ { + p, err := scanner.Next() + assert.Nil(t, err) + assert.Nil(t, p) + } + + p, err := scanner.Next() + assert.Nil(t, err) + assert.NotNil(t, p) + assert.Equal(t, "e71eefd918ea175b8f362611f981f648dbf9888ff74865077cb4c9077728f350", p.Oid) + + for i := 0; i < 5; i++ { + p, err = scanner.Next() + assert.Nil(t, err) + assert.Nil(t, p) + } + + p, err = scanner.Next() + assert.Nil(t, err) + assert.NotNil(t, p) + assert.Equal(t, "0eb69b651be65d5a61d6bebf2c53c811a5bf8031951111000e2077f4d7fe43b1", p.Oid) + + for i := 0; i < 5; i++ { + p, err = scanner.Next() + assert.Nil(t, err) + assert.Nil(t, p) + } +} + func fakeReaderWithRandoData(t *testing.T, blobs []*Pointer) io.Reader { buf := &bytes.Buffer{} rngbuf := make([]byte, 1000) // just under blob size cutoff