Files
harness-sync/internal/gitx/repo_test.go
T

44 lines
1.0 KiB
Go

package gitx
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestInitAddCommit(t *testing.T) {
dir := t.TempDir()
r := New(dir)
require.NoError(t, r.Init())
require.NoError(t, r.Configure("nobody", "[email protected]"))
require.NoError(t, os.WriteFile(filepath.Join(dir, "a.txt"), []byte("hi"), 0o600))
require.NoError(t, r.AddAll())
require.NoError(t, r.Commit("initial"))
head, err := r.HeadCommit()
require.NoError(t, err)
assert.NotEmpty(t, head)
}
func TestShowFileAtHead(t *testing.T) {
dir := t.TempDir()
r := New(dir)
require.NoError(t, r.Init())
require.NoError(t, r.Configure("nobody", "[email protected]"))
require.NoError(t, os.WriteFile(filepath.Join(dir, "a.txt"), []byte("v1"), 0o600))
require.NoError(t, r.AddAll())
require.NoError(t, r.Commit("v1"))
body, err := r.ShowFileAtHead("a.txt")
require.NoError(t, err)
assert.Equal(t, "v1", string(body))
_, err = r.ShowFileAtHead("nope.txt")
assert.Error(t, err)
}