package mappers import ( "strings" "testing" "github.com/stretchr/testify/assert" c "repodiff/constants" e "repodiff/entities" ) func TestCSVLineToDiffRow(t *testing.T) { exampleLine := "2018/02/20,platform/vendor/unbundled_google/packages/Ears,platform/vendor/unbundled_google/packages/Ears,Modified Projects,34,7,25,32,0" columns := strings.Split(exampleLine, ",") diffRow, err := CSVLineToDiffRow(columns) expected := e.DiffRow{ Date: "2018/02/20", DownstreamProject: "platform/vendor/unbundled_google/packages/Ears", UpstreamProject: "platform/vendor/unbundled_google/packages/Ears", DiffStatus: 3, FilesChanged: 34, LineInsertions: 7, LineDeletions: 25, LineChanges: 32, CommitsNotUpstreamed: 0, } assert.Equal(t, nil, err, "Error should be nil") assert.Equal(t, expected, *diffRow, "Entities should be identical") } func TestCSVLineToCommitRow(t *testing.T) { exampleLine := "2018/02/20,61d5e61b6b6dfbf52d0d433759da964db31cc106,platform/tools/external/gradle,alruiz@google.com,Added Gradle 1.8 to prebuilts." columns := strings.Split(exampleLine, ",") commitRow, err := CSVLineToCommitRow(columns) expected := e.CommitRow{ Date: "2018/02/20", Commit: "61d5e61b6b6dfbf52d0d433759da964db31cc106", DownstreamProject: "platform/tools/external/gradle", Author: "alruiz@google.com", Subject: "Added Gradle 1.8 to prebuilts.", } assert.Equal(t, nil, err, "Error should be nil") assert.Equal(t, expected, *commitRow, "Entities should be identical") } func TestDiffRowsToAggregateChangesOverTime(t *testing.T) { rows := DiffRowsToAggregateChangesOverTime( []e.AnalyzedDiffRow{ makeDiffRow(3, 1, 2), makeDiffRow(3, 3, 4), makeDiffRow(2, 7, 6), }, ) cols := rows[0] expected := []interface{}{ "2018022315", 2, 11, 12, } assert.Equal(t, expected, cols, "Columns should be equal") } func makeDiffRow(status, lineChanges, filesChanged int) e.AnalyzedDiffRow { return e.AnalyzedDiffRow{ DiffRow: e.DiffRow{ DiffStatus: status, LineChanges: lineChanges, FilesChanged: filesChanged, DBInsertTimestamp: 1519427445, }, Type: c.Empty, } } func TestGetAuthorTechAreaUnknown(t *testing.T) { fakeAuthor := "arthur.digby.sellers@google.com" techArea := GetAuthorTechArea(fakeAuthor) assert.Equal(t, "Unknown", techArea, "Author tech area should be unknown") } func TestGetAuthorTechAreaKnown(t *testing.T) { fakeAuthor := "jeffrey.lebowski@google.com" techArea := GetAuthorTechArea(fakeAuthor) assert.Equal(t, "Build", techArea, "Jeffrey Lebowski is on the Build team") }