github.com/azunymous/cdx@v0.0.0-20201122180449-fbb46cc4d252/vcs/gogit/increment_test.go (about)

     1  package gogit
     2  
     3  import (
     4  	"github.com/azunymous/cdx/test/check"
     5  	"github.com/azunymous/cdx/versioned"
     6  	"github.com/go-git/go-billy/v5/memfs"
     7  	"testing"
     8  )
     9  
    10  func TestIncrementTag(t *testing.T) {
    11  	fs := memfs.New()
    12  	createGitRepo(fs)
    13  	createVersionTag(fs, "app-0.1.0")
    14  	createCommit(fs, "New Version", "Hello world 2")
    15  
    16  	repo := newTestRepo(fs)
    17  	err := repo.IncrementTag("app", versioned.Minor)
    18  	check.Ok(t, err)
    19  	err = tagExistsAtHead(fs, "app-0.2.0")
    20  	check.Ok(t, err)
    21  }
    22  
    23  func TestIncrementTagAlreadyExists(t *testing.T) {
    24  	fs := memfs.New()
    25  	createGitRepo(fs)
    26  	createVersionTag(fs, "app-0.1.0")
    27  
    28  	repo := newTestRepo(fs)
    29  	err := repo.IncrementTag("app", versioned.Minor)
    30  	check.Ok(t, err)
    31  	err = tagExistsAtHead(fs, "app-0.1.0")
    32  	check.Ok(t, err)
    33  	err = tagDoesNotExist(fs, "app-0.2.0")
    34  	check.Ok(t, err)
    35  }
    36  
    37  func TestIncrementTagDifferentField(t *testing.T) {
    38  	fs := memfs.New()
    39  	createGitRepo(fs)
    40  	createVersionTag(fs, "app-1.1.1")
    41  	createCommit(fs, "New Version", "Hello world 2")
    42  
    43  	repo := newTestRepo(fs)
    44  	err := repo.IncrementTag("app", versioned.Major)
    45  	check.Ok(t, err)
    46  	err = tagExistsAtHead(fs, "app-2.0.0")
    47  	check.Ok(t, err)
    48  }
    49  
    50  func TestIncrementTagCreatesNewTagWhenNoTagsExist(t *testing.T) {
    51  	fs := memfs.New()
    52  	createGitRepo(fs)
    53  
    54  	repo := newTestRepo(fs)
    55  	err := repo.IncrementTag("app", versioned.Minor)
    56  	check.Ok(t, err)
    57  	err = tagExistsAtHead(fs, "app-0.1.0")
    58  	check.Ok(t, err)
    59  }