Skip to content
Snippets Groups Projects

Initial implementation of an elasticsearch indexer in Go

Merged Nick Thomas requested to merge 1-initial-implementation into master
All threads resolved!
1 file
+ 46
4
Compare changes
  • Side-by-side
  • Inline
+ 46
4
@@ -154,19 +154,39 @@ func TestEachCommitGivenRangeOf1Commit(t *testing.T) {
assert.Equal(t, []string{}, commitHashes)
}
func TestEachFileChange(t *testing.T) {
func TestEmptyToSHADefaultsToHeadSHA(t *testing.T) {
checkDeps(t)
repo, err := git.NewGoGitRepository(*testRepo, "", headSHA)
repo, err := git.NewGoGitRepository(*testRepo, "498214de67004b1da3d820901307bed2a68a8ef6", "")
assert.NoError(t, err)
_, commitHashes, err := runEachCommit(repo)
assert.NoError(t, err)
assert.Equal(t, []string{headSHA}, commitHashes)
}
// TODO: store the ins/mod/del status of each change
func runEachFileChange(repo git.Repository) (map[string]*git.File, []string, error) {
files := make(map[string]*git.File)
filePaths := []string{}
err = repo.EachFileChange(func(f *git.File, _, _ string) error {
store := func(f *git.File, _, _ string) error {
files[f.Path] = f
filePaths = append(filePaths, f.Path)
return nil
}, nil, nil)
}
err := repo.EachFileChange(store, store, store)
return files, filePaths, err
}
func TestEachFileChangeMod(t *testing.T) {
checkDeps(t)
repo, err := git.NewGoGitRepository(*testRepo, "", headSHA)
assert.NoError(t, err)
files, filePaths, err := runEachFileChange(repo)
assert.NoError(t, err)
expectedFiles := []string{
@@ -228,3 +248,25 @@ func TestEachFileChange(t *testing.T) {
assert.Equal(t, int64(10), file.Size)
assert.Equal(t, "6.7.0.pre\n", string(data))
}
func TestEachFileChangeGivenRangeOfThreeCommits(t *testing.T) {
checkDeps(t)
repo, err := git.NewGoGitRepository(*testRepo, "1b12f15a11fc6e62177bef08f47bc7b5ce50b141", headSHA)
assert.NoError(t, err)
_, filePaths, err := runEachFileChange(repo)
assert.Equal(t, []string{"bar/branch-test.txt"}, filePaths)
}
func TestEachFileChangeGivenRangeOfTwoCommits(t *testing.T) {
checkDeps(t)
repo, err := git.NewGoGitRepository(*testRepo, "498214de67004b1da3d820901307bed2a68a8ef6", headSHA)
assert.NoError(t, err)
_, filePaths, err := runEachFileChange(repo)
assert.Equal(t, []string{}, filePaths)
}
Loading