github.com/DaAlbrecht/cf-cli@v0.0.0-20231128151943-1fe19bb400b9/util/configv3/default_user_config_test.go (about)

     1  package configv3_test
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/util/configv3"
     5  	. "github.com/onsi/ginkgo"
     6  	. "github.com/onsi/gomega"
     7  )
     8  
     9  var _ = Describe("DefaultUserConfig", func() {
    10  	var config configv3.DefaultUserConfig
    11  
    12  	Describe("CurrentUser", func() {
    13  		When("using client credentials and the user token is set", func() {
    14  			It("returns the user", func() {
    15  				config = configv3.DefaultUserConfig{
    16  					ConfigFile: &configv3.JSONConfig{
    17  						AccessToken: AccessTokenForClientUsers,
    18  					},
    19  				}
    20  				user, err := config.CurrentUser()
    21  				Expect(err).ToNot(HaveOccurred())
    22  				Expect(user).To(Equal(configv3.User{
    23  					Name:     "potato-face",
    24  					GUID:     "potato-face",
    25  					IsClient: true,
    26  				}))
    27  			})
    28  		})
    29  
    30  		When("using user/password and the user token is set", func() {
    31  			It("returns the user", func() {
    32  				config = configv3.DefaultUserConfig{
    33  					ConfigFile: &configv3.JSONConfig{
    34  						AccessToken: AccessTokenForHumanUsers,
    35  					},
    36  				}
    37  
    38  				user, err := config.CurrentUser()
    39  				Expect(err).ToNot(HaveOccurred())
    40  				Expect(user).To(Equal(configv3.User{
    41  					Name:     "admin",
    42  					GUID:     "9519be3e-44d9-40d0-ab9a-f4ace11df159",
    43  					Origin:   "uaa",
    44  					IsClient: false,
    45  				}))
    46  			})
    47  		})
    48  
    49  		When("the user token is blank", func() {
    50  			It("returns the user", func() {
    51  				config = configv3.DefaultUserConfig{ConfigFile: &configv3.JSONConfig{}}
    52  
    53  				user, err := config.CurrentUser()
    54  				Expect(err).ToNot(HaveOccurred())
    55  				Expect(user).To(Equal(configv3.User{}))
    56  			})
    57  		})
    58  	})
    59  
    60  	Describe("CurrentUserName", func() {
    61  		When("using client credentials and the user token is set", func() {
    62  			It("returns the username", func() {
    63  				config = configv3.DefaultUserConfig{
    64  					ConfigFile: &configv3.JSONConfig{
    65  						AccessToken: AccessTokenForClientUsers,
    66  					},
    67  				}
    68  
    69  				username, err := config.CurrentUserName()
    70  				Expect(err).ToNot(HaveOccurred())
    71  				Expect(username).To(Equal("potato-face"))
    72  			})
    73  		})
    74  
    75  		When("using user/password and the user token is set", func() {
    76  			It("returns the username", func() {
    77  				config = configv3.DefaultUserConfig{
    78  					ConfigFile: &configv3.JSONConfig{
    79  						AccessToken: AccessTokenForHumanUsers,
    80  					},
    81  				}
    82  
    83  				username, err := config.CurrentUserName()
    84  				Expect(err).ToNot(HaveOccurred())
    85  				Expect(username).To(Equal("admin"))
    86  			})
    87  		})
    88  
    89  		When("the user token is blank", func() {
    90  			It("returns an empty string", func() {
    91  				config = configv3.DefaultUserConfig{ConfigFile: &configv3.JSONConfig{}}
    92  				username, err := config.CurrentUserName()
    93  				Expect(err).ToNot(HaveOccurred())
    94  				Expect(username).To(BeEmpty())
    95  			})
    96  		})
    97  	})
    98  })