github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/model/repository_test.go (about)

     1  package model
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/evergreen-ci/evergreen/db"
     8  	. "github.com/smartystreets/goconvey/convey"
     9  )
    10  
    11  var (
    12  	_           fmt.Stringer = nil
    13  	projectName              = "mongodb-mongo-testing"
    14  )
    15  
    16  func init() {
    17  	db.SetGlobalSessionProvider(db.SessionFactoryFromConfig(testConfig))
    18  }
    19  
    20  func TestGetNewRevisionOrderNumber(t *testing.T) {
    21  
    22  	Convey("When requesting a new commit order number...", t, func() {
    23  
    24  		Convey("The returned commit order number should be 1 for a new"+
    25  			" project", func() {
    26  			ron, err := GetNewRevisionOrderNumber(projectName)
    27  			So(err, ShouldBeNil)
    28  			So(ron, ShouldEqual, 1)
    29  		})
    30  
    31  		Convey("The returned commit order number should be 1 for monotonically"+
    32  			" incremental on a new project", func() {
    33  			ron, err := GetNewRevisionOrderNumber(projectName)
    34  			So(err, ShouldBeNil)
    35  			So(ron, ShouldEqual, 1)
    36  			ron, err = GetNewRevisionOrderNumber(projectName)
    37  			So(err, ShouldBeNil)
    38  			So(ron, ShouldEqual, 2)
    39  		})
    40  
    41  		Convey("The returned commit order number should be 1 for monotonically"+
    42  			" incremental within (but not across) projects", func() {
    43  			ron, err := GetNewRevisionOrderNumber(projectName)
    44  			So(err, ShouldBeNil)
    45  			So(ron, ShouldEqual, 1)
    46  			ron, err = GetNewRevisionOrderNumber(projectName)
    47  			So(err, ShouldBeNil)
    48  			So(ron, ShouldEqual, 2)
    49  			ron, err = GetNewRevisionOrderNumber(projectName + "-12")
    50  			So(err, ShouldBeNil)
    51  			So(ron, ShouldEqual, 1)
    52  			ron, err = GetNewRevisionOrderNumber(projectName + "-12")
    53  			So(err, ShouldBeNil)
    54  			So(ron, ShouldEqual, 2)
    55  		})
    56  
    57  		Reset(func() {
    58  			So(db.Clear(RepositoriesCollection), ShouldBeNil)
    59  		})
    60  
    61  	})
    62  }