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 }