You've already forked agentic-coding-workflow
33 lines
778 B
Go
33 lines
778 B
Go
package git
|
|
|
|
import (
|
|
"context"
|
|
"path/filepath"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestClone_Success(t *testing.T) {
|
|
t.Parallel()
|
|
gitAvailable(t)
|
|
bare := makeBareRepo(t)
|
|
r := newTestRunner(t)
|
|
dst := filepath.Join(t.TempDir(), "wc")
|
|
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
|
defer cancel()
|
|
require.NoError(t, r.Clone(ctx, dst, bare, "main", nil))
|
|
require.FileExists(t, filepath.Join(dst, "README.md"))
|
|
}
|
|
|
|
func TestClone_BadURL(t *testing.T) {
|
|
t.Parallel()
|
|
gitAvailable(t)
|
|
r := newTestRunner(t)
|
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
|
defer cancel()
|
|
err := r.Clone(ctx, filepath.Join(t.TempDir(), "x"), "/no/such/path/repo.git", "main", nil)
|
|
require.Error(t, err)
|
|
}
|