github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/auth/auth_test.go (about)

     1  package auth
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/evergreen-ci/evergreen"
     7  	. "github.com/smartystreets/goconvey/convey"
     8  )
     9  
    10  func TestLoadUserManager(t *testing.T) {
    11  	Convey("When Loading a UserManager from an AuthConfig", t, func() {
    12  		c := evergreen.CrowdConfig{}
    13  		g := evergreen.GithubAuthConfig{}
    14  		n := evergreen.NaiveAuthConfig{}
    15  		Convey("a UserManager should not be able to be created in an empty AuthConfig", func() {
    16  			a := evergreen.AuthConfig{}
    17  			_, err := LoadUserManager(a)
    18  			So(err, ShouldNotBeNil)
    19  		})
    20  		Convey("a UserManager should not be able to be created if there are more than one AuthConfig type", func() {
    21  			a := evergreen.AuthConfig{
    22  				Crowd:  &c,
    23  				Naive:  &n,
    24  				Github: nil}
    25  			_, err := LoadUserManager(a)
    26  			So(err, ShouldNotBeNil)
    27  		})
    28  		Convey("a UserManager should not be able to be created if one AuthConfig type is Github", func() {
    29  			a := evergreen.AuthConfig{
    30  				Crowd:  nil,
    31  				Naive:  nil,
    32  				Github: &g}
    33  			_, err := LoadUserManager(a)
    34  			So(err, ShouldBeNil)
    35  		})
    36  
    37  		Convey("a UserManager should not be able to be created if one AuthConfig type is Crowd", func() {
    38  			a := evergreen.AuthConfig{
    39  				Crowd:  &c,
    40  				Naive:  nil,
    41  				Github: nil}
    42  			_, err := LoadUserManager(a)
    43  			So(err, ShouldBeNil)
    44  		})
    45  
    46  		Convey("a UserManager should not be able to be created if one AuthConfig type is Naive", func() {
    47  			a := evergreen.AuthConfig{
    48  				Crowd:  nil,
    49  				Naive:  &n,
    50  				Github: nil}
    51  			_, err := LoadUserManager(a)
    52  			So(err, ShouldBeNil)
    53  		})
    54  	})
    55  }