diff options
author | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2018-07-27 16:16:24 +0300 |
---|---|---|
committer | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2018-07-27 16:16:24 +0300 |
commit | b9a3433a7f2ec4a9f78ddc40984e2f24987ca2f9 (patch) | |
tree | d5d8ab24f2adf9ac0ae453ead0be988bd4194248 | |
parent | 0a728421484c26a9434d28ac8179ed51fe11e468 (diff) | |
parent | b91df717e75e449c7e00e45c9750e8bbc4b3fe1b (diff) |
Merge branch 'numstat-small-fixes' into 'master'
Move diff parser test to own package
See merge request gitlab-org/gitaly!837
-rw-r--r-- | changelogs/unreleased/numstat-small-fixes.yml | 5 | ||||
-rw-r--r-- | internal/diff/numstat.go | 2 | ||||
-rw-r--r-- | internal/diff/numstat_test.go | 73 | ||||
-rw-r--r-- | internal/diff/testdata/z-numstat.txt (renamed from internal/service/diff/testdata/z-numstat.txt) | bin | 229 -> 229 bytes | |||
-rw-r--r-- | internal/service/diff/numstat.go | 3 | ||||
-rw-r--r-- | internal/service/diff/numstat_test.go | 65 |
6 files changed, 80 insertions, 68 deletions
diff --git a/changelogs/unreleased/numstat-small-fixes.yml b/changelogs/unreleased/numstat-small-fixes.yml new file mode 100644 index 000000000..33776a226 --- /dev/null +++ b/changelogs/unreleased/numstat-small-fixes.yml @@ -0,0 +1,5 @@ +--- +title: Move diff parser test to own package +merge_request: 837 +author: +type: other diff --git a/internal/diff/numstat.go b/internal/diff/numstat.go index b044fbc2f..7b089daea 100644 --- a/internal/diff/numstat.go +++ b/internal/diff/numstat.go @@ -21,7 +21,7 @@ type NumStatParser struct { } const ( - numStatDelimiter = byte(0) + numStatDelimiter = 0 ) // NewDiffNumStatParser returns a new NumStatParser diff --git a/internal/diff/numstat_test.go b/internal/diff/numstat_test.go new file mode 100644 index 000000000..41f07ea89 --- /dev/null +++ b/internal/diff/numstat_test.go @@ -0,0 +1,73 @@ +package diff + +import ( + "io" + "os" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestNumStatParser(t *testing.T) { + file, err := os.Open("testdata/z-numstat.txt") + + require.NoError(t, err) + defer file.Close() + + var parsedStats []*NumStat + + parser := NewDiffNumStatParser(file) + + for { + stat, err := parser.NextNumStat() + if err == io.EOF { + break + } + + require.NoError(t, err) + parsedStats = append(parsedStats, stat) + } + + expectedStats := []NumStat{ + { + Path: []byte("app/controllers/graphql_controller.rb"), + Additions: 0, + Deletions: 15, + }, + { + Path: []byte("app/models/mr.rb"), + Additions: 0, + Deletions: 0, + }, + { + Path: []byte("image.jpg"), + Additions: 0, + Deletions: 0, + }, + { + Path: []byte("files/autocomplete_users_finder.rb"), + Additions: 0, + Deletions: 0, + }, + { + Path: []byte("newfile"), + Additions: 0, + Deletions: 0, + }, + { + Path: []byte("xpto\nspace and linebreak"), + Additions: 1, + Deletions: 5, + }, + } + + require.Equal(t, len(expectedStats), len(parsedStats)) + + for index, parsedStat := range parsedStats { + expectedStat := expectedStats[index] + + require.Equal(t, expectedStat.Additions, parsedStat.Additions) + require.Equal(t, expectedStat.Deletions, parsedStat.Deletions) + require.Equal(t, expectedStat.Path, parsedStat.Path) + } +} diff --git a/internal/service/diff/testdata/z-numstat.txt b/internal/diff/testdata/z-numstat.txt Binary files differindex 5d755a557..5d755a557 100644 --- a/internal/service/diff/testdata/z-numstat.txt +++ b/internal/diff/testdata/z-numstat.txt diff --git a/internal/service/diff/numstat.go b/internal/service/diff/numstat.go index 1bb357a29..71edb068e 100644 --- a/internal/service/diff/numstat.go +++ b/internal/service/diff/numstat.go @@ -52,8 +52,7 @@ func (s *server) DiffStats(in *pb.DiffStatsRequest, stream pb.DiffService_DiffSt batch = append(batch, numStat) if len(batch) == maxNumStatBatchSize { - err := sendStats(batch, stream) - if err != nil { + if err := sendStats(batch, stream); err != nil { return err } diff --git a/internal/service/diff/numstat_test.go b/internal/service/diff/numstat_test.go index c94779856..1b8d4c5f9 100644 --- a/internal/service/diff/numstat_test.go +++ b/internal/service/diff/numstat_test.go @@ -2,7 +2,6 @@ package diff import ( "io" - "os" "testing" "github.com/stretchr/testify/require" @@ -218,67 +217,3 @@ func TestFailedDiffStatsRequest(t *testing.T) { }) } } - -func TestStatsParser(t *testing.T) { - file, err := os.Open("testdata/z-numstat.txt") - - require.NoError(t, err) - defer file.Close() - - var parsedStats []*diff.NumStat - - parser := diff.NewDiffNumStatParser(file) - - for { - stat, err := parser.NextNumStat() - if err == io.EOF { - break - } - - require.NoError(t, err) - parsedStats = append(parsedStats, stat) - } - - expectedStats := []diff.NumStat{ - { - Path: []byte("app/controllers/graphql_controller.rb"), - Additions: 0, - Deletions: 15, - }, - { - Path: []byte("app/models/mr.rb"), - Additions: 0, - Deletions: 0, - }, - { - Path: []byte("image.jpg"), - Additions: 0, - Deletions: 0, - }, - { - Path: []byte("files/autocomplete_users_finder.rb"), - Additions: 0, - Deletions: 0, - }, - { - Path: []byte("newfile"), - Additions: 0, - Deletions: 0, - }, - { - Path: []byte("xpto\nspace and linebreak"), - Additions: 1, - Deletions: 5, - }, - } - - require.Equal(t, len(expectedStats), len(parsedStats)) - - for index, parsedStat := range parsedStats { - expectedStat := expectedStats[index] - - require.Equal(t, expectedStat.Additions, parsedStat.Additions) - require.Equal(t, expectedStat.Deletions, parsedStat.Deletions) - require.Equal(t, expectedStat.Path, parsedStat.Path) - } -} |