test(809): remove remaining calls to InitGoRepo in tests

Steve Moyer created

Note that examples still need to shown how a developer would use the library.

Change summary

commands/env_testing.go     | 11 ++---------
repository/gogit_test.go    | 31 ++++++-------------------------
repository/gogit_testing.go | 17 +++++++++++++++++
3 files changed, 25 insertions(+), 34 deletions(-)

Detailed changes

commands/env_testing.go 🔗

@@ -19,15 +19,8 @@ type testEnv struct {
 func newTestEnv(t *testing.T) *testEnv {
 	t.Helper()
 
-	cwd := t.TempDir()
-
-	// r := repository.CreateGoGitTestRepo(t, false) // TODO
-
-	repo, err := repository.InitGoGitRepo(cwd, gitBugNamespace)
-	require.NoError(t, err)
-	t.Cleanup(func() {
-		require.NoError(t, repo.Close())
-	})
+	repo := repository.CreateGoGitTestRepo(t, false)
+	cwd := repository.RepoDir(t, repo)
 
 	buf := new(bytes.Buffer)
 

repository/gogit_test.go 🔗

@@ -1,8 +1,6 @@
 package repository
 
 import (
-	"io/ioutil"
-	"os"
 	"path"
 	"path/filepath"
 	"testing"
@@ -13,26 +11,14 @@ import (
 
 func TestNewGoGitRepo(t *testing.T) {
 	// Plain
-	plainRoot, err := ioutil.TempDir("", "")
-	require.NoError(t, err)
-	t.Cleanup(func() {
-		require.NoError(t, os.RemoveAll(plainRoot))
-	})
-
-	plainRepo, err := InitGoGitRepo(plainRoot, namespace)
-	require.NoError(t, err)
+	plainRepo := CreateGoGitTestRepo(t, false)
+	plainRoot := RepoDir(t, plainRepo)
 	require.NoError(t, plainRepo.Close())
 	plainGitDir := filepath.Join(plainRoot, ".git")
 
 	// Bare
-	bareRoot, err := ioutil.TempDir("", "")
-	require.NoError(t, err)
-	t.Cleanup(func() {
-		require.NoError(t, os.RemoveAll(bareRoot))
-	})
-
-	bareRepo, err := InitBareGoGitRepo(bareRoot, namespace)
-	require.NoError(t, err)
+	bareRepo := CreateGoGitTestRepo(t, true)
+	bareRoot := RepoDir(t, bareRepo)
 	require.NoError(t, bareRepo.Close())
 	bareGitDir := bareRoot
 
@@ -75,13 +61,8 @@ func TestGoGitRepo(t *testing.T) {
 }
 
 func TestGoGitRepo_Indexes(t *testing.T) {
-	plainRoot := t.TempDir()
-
-	repo, err := InitGoGitRepo(plainRoot, namespace)
-	require.NoError(t, err)
-	t.Cleanup(func() {
-		require.NoError(t, repo.Close())
-	})
+	repo := CreateGoGitTestRepo(t, false)
+	plainRoot := RepoDir(t, repo)
 
 	// Can create indices
 	indexA, err := repo.GetBleveIndex("a")

repository/gogit_testing.go 🔗

@@ -2,6 +2,8 @@ package repository
 
 import (
 	"log"
+	"path/filepath"
+	"strings"
 	"testing"
 
 	"github.com/99designs/keyring"
@@ -73,3 +75,18 @@ func SetupGoGitReposAndRemote(t *testing.T) (repoA, repoB, remote TestedRepo) {
 
 	return repoA, repoB, remote
 }
+
+func RepoDir(t *testing.T, repo TestedRepo) string {
+	t.Helper()
+
+	dir := repo.GetLocalRemote()
+	if strings.HasSuffix(dir, ".git") {
+		dir, _ = filepath.Split(dir)
+	}
+
+	if dir[len(dir)-1] == filepath.Separator {
+		dir = dir[:len(dir)-1]
+	}
+
+	return dir
+}