github.com/cobalt77/jfrog-client-go@v0.14.5/utils/vcsdetails_test.go (about) 1 package utils 2 3 import ( 4 "path/filepath" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 9 "github.com/cobalt77/jfrog-client-go/utils/io/fileutils" 10 ) 11 12 func TestVcsDetails(t *testing.T) { 13 projectPath, tmpDir := initVcsTestDir(t, filepath.Join("testdata", "vcs")) 14 defer fileutils.RemoveTempDir(tmpDir) 15 vcsDetails := NewVcsDetals() 16 revision, url, err := vcsDetails.GetVcsDetails(filepath.Join(projectPath)) 17 assert.NoError(t, err) 18 assert.Equal(t, "https://github.com/jfrog/jfrog-cli.git", url) 19 assert.Equal(t, "d63c5957ad6819f4c02a817abe757f210d35ff92", revision) 20 } 21 22 func initVcsTestDir(t *testing.T, srcPath string) (projectPath, tmpDir string) { 23 var err error 24 tmpDir, err = fileutils.CreateTempDir() 25 assert.NoError(t, err) 26 27 err = fileutils.CopyDir(srcPath, tmpDir, true, nil) 28 assert.NoError(t, err) 29 if found, err := fileutils.IsDirExists(filepath.Join(tmpDir, "gitdata"), false); found { 30 assert.NoError(t, err) 31 err := fileutils.RenamePath(filepath.Join(tmpDir, "gitdata"), filepath.Join(tmpDir, ".git")) 32 assert.NoError(t, err) 33 } 34 if found, err := fileutils.IsDirExists(filepath.Join(tmpDir, "othergit", "gitdata"), false); found { 35 assert.NoError(t, err) 36 err := fileutils.RenamePath(filepath.Join(tmpDir, "othergit", "gitdata"), filepath.Join(tmpDir, "othergit", ".git")) 37 assert.NoError(t, err) 38 } 39 projectPath, err = filepath.Abs(tmpDir) 40 assert.NoError(t, err) 41 return projectPath, tmpDir 42 }