github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/api/client/credentialmanager/client_test.go (about) 1 // Copyright 2018 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package credentialmanager_test 5 6 import ( 7 "github.com/juju/errors" 8 jc "github.com/juju/testing/checkers" 9 "go.uber.org/mock/gomock" 10 gc "gopkg.in/check.v1" 11 12 basemocks "github.com/juju/juju/api/base/mocks" 13 "github.com/juju/juju/api/client/credentialmanager" 14 apiservererrors "github.com/juju/juju/apiserver/errors" 15 "github.com/juju/juju/rpc/params" 16 ) 17 18 var _ = gc.Suite(&CredentialManagerSuite{}) 19 20 type CredentialManagerSuite struct { 21 } 22 23 func (s *CredentialManagerSuite) TestInvalidateModelCredential(c *gc.C) { 24 ctrl := gomock.NewController(c) 25 defer ctrl.Finish() 26 args := params.InvalidateCredentialArg{Reason: "auth fail"} 27 result := new(params.ErrorResult) 28 results := params.ErrorResult{} 29 30 mockFacadeCaller := basemocks.NewMockFacadeCaller(ctrl) 31 mockFacadeCaller.EXPECT().FacadeCall("InvalidateModelCredential", args, result).SetArg(2, results).Return(nil) 32 client := credentialmanager.NewClientFromCaller(mockFacadeCaller) 33 34 err := client.InvalidateModelCredential("auth fail") 35 c.Assert(err, jc.ErrorIsNil) 36 } 37 38 func (s *CredentialManagerSuite) TestInvalidateModelCredentialBackendFailure(c *gc.C) { 39 ctrl := gomock.NewController(c) 40 defer ctrl.Finish() 41 args := params.InvalidateCredentialArg{} 42 result := new(params.ErrorResult) 43 results := params.ErrorResult{Error: apiservererrors.ServerError(errors.New("boom"))} 44 45 mockFacadeCaller := basemocks.NewMockFacadeCaller(ctrl) 46 mockFacadeCaller.EXPECT().FacadeCall("InvalidateModelCredential", args, result).SetArg(2, results).Return(nil) 47 client := credentialmanager.NewClientFromCaller(mockFacadeCaller) 48 49 err := client.InvalidateModelCredential("") 50 c.Assert(err, gc.ErrorMatches, "boom") 51 } 52 53 func (s *CredentialManagerSuite) TestInvalidateModelCredentialError(c *gc.C) { 54 ctrl := gomock.NewController(c) 55 defer ctrl.Finish() 56 args := params.InvalidateCredentialArg{} 57 result := new(params.ErrorResult) 58 59 mockFacadeCaller := basemocks.NewMockFacadeCaller(ctrl) 60 mockFacadeCaller.EXPECT().FacadeCall("InvalidateModelCredential", args, result).Return(errors.New("foo")) 61 client := credentialmanager.NewClientFromCaller(mockFacadeCaller) 62 63 err := client.InvalidateModelCredential("") 64 c.Assert(err, gc.ErrorMatches, "foo") 65 }