package git

import (
	"context"
	"testing"

	"github.com/stretchr/testify/require"

	cipd_git "go.skia.org/infra/bazel/external/cipd/git"
	"go.skia.org/infra/go/vfs/shared_tests"
)

func TestFS(t *testing.T) {
	ctx := cipd_git.UseGitFinder(context.Background())
	tmp := shared_tests.MakeTestFiles(t)
	gd := CheckoutDir(tmp)
	_, err := gd.Git(ctx, "init")
	require.NoError(t, err)
	_, err = gd.Git(ctx, "add", ".")
	require.NoError(t, err)
	_, err = gd.Git(ctx, "commit", "-m", "initial commit")
	require.NoError(t, err)
	hash, err := gd.RevParse(ctx, "HEAD")
	require.NoError(t, err)

	fs, err := gd.VFS(ctx, hash)
	require.NoError(t, err)
	shared_tests.TestFS(ctx, t, fs)
}

func TestVFS_ReadOnly(t *testing.T) {
	ctx := cipd_git.UseGitFinder(context.Background())
	tmp := shared_tests.MakeTestFiles(t)
	gd := CheckoutDir(tmp)
	_, err := gd.Git(ctx, "init")
	require.NoError(t, err)
	_, err = gd.Git(ctx, "add", ".")
	require.NoError(t, err)
	_, err = gd.Git(ctx, "commit", "-m", "initial commit")
	require.NoError(t, err)
	hash, err := gd.RevParse(ctx, "HEAD")
	require.NoError(t, err)

	fs, err := gd.VFS(ctx, hash)
	require.NoError(t, err)
	shared_tests.TestVFS_ReadOnly(t, fs)
}

// Skip the VFS tests which use Write, since that's unimplemented for this FS.
