github.com/darmach/terratest@v0.34.8-0.20210517103231-80931f95e3ff/modules/git/git_test.go (about) 1 package git 2 3 import ( 4 "io/ioutil" 5 "os" 6 "os/exec" 7 "path/filepath" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func testGetCurrentBranchNameReturnsBranchName(t *testing.T) { 15 err := exec.Command("git", "checkout", "master").Run() 16 require.NoError(t, err) 17 18 name := GetCurrentBranchName(t) 19 20 assert.Equal(t, "master", name) 21 } 22 23 func testGetCurrentBranchNameReturnsEmptyForDetachedState(t *testing.T) { 24 err := exec.Command("git", "checkout", "v0.0.1").Run() 25 assert.Nil(t, err) 26 27 name := GetCurrentBranchName(t) 28 29 assert.Empty(t, name) 30 } 31 32 func testGetCurrentRefReturnsBranchName(t *testing.T) { 33 err := exec.Command("git", "checkout", "master").Run() 34 require.NoError(t, err) 35 36 name := GetCurrentGitRef(t) 37 38 assert.Equal(t, "master", name) 39 } 40 41 func testGetCurrentRefReturnsTagValue(t *testing.T) { 42 err := exec.Command("git", "checkout", "v0.0.1").Run() 43 require.NoError(t, err) 44 45 name := GetCurrentGitRef(t) 46 47 assert.Equal(t, "v0.0.1", name) 48 } 49 50 func testGetCurrentRefReturnsLightTagValue(t *testing.T) { 51 err := exec.Command("git", "checkout", "58d3ea8").Run() 52 require.NoError(t, err) 53 54 name := GetCurrentGitRef(t) 55 56 assert.Equal(t, "v0.0.1-1-g58d3ea8", name) 57 } 58 59 func TestGitRefChecks(t *testing.T) { 60 t.Parallel() 61 62 tmpdir, err := ioutil.TempDir("", "") 63 require.NoError(t, err) 64 defer os.RemoveAll(tmpdir) 65 gitWorkDir := filepath.Join(tmpdir, "terratest") 66 67 url := "https://github.com/gruntwork-io/terratest.git" 68 err = exec.Command("git", "clone", url, gitWorkDir).Run() 69 require.NoError(t, err) 70 71 err = os.Chdir(gitWorkDir) 72 require.NoError(t, err) 73 74 t.Run("GetCurrentBranchNameReturnsBranchName", testGetCurrentBranchNameReturnsBranchName) 75 t.Run("GetCurrentBranchNameReturnsEmptyForDetachedState", testGetCurrentBranchNameReturnsEmptyForDetachedState) 76 t.Run("GetCurrentRefReturnsBranchName", testGetCurrentRefReturnsBranchName) 77 t.Run("GetCurrentRefReturnsTagValue", testGetCurrentRefReturnsTagValue) 78 t.Run("GetCurrentRefReturnsLightTagValue", testGetCurrentRefReturnsLightTagValue) 79 }