Skip to content

Commit 3cce203

Browse files
committed
test parse error on start
1 parent 91eb076 commit 3cce203

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

token_manager_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
1515
"github.com/AzureAD/microsoft-authentication-library-for-go/apps/public"
1616
"github.com/stretchr/testify/assert"
17+
"github.com/stretchr/testify/mock"
1718
)
1819

1920
var assertFuncNameMatches = func(t *testing.T, func1, func2 interface{}) {
@@ -535,6 +536,34 @@ func TestEntraidTokenManager_GetToken(t *testing.T) {
535536
token, err := tokenManager.GetToken()
536537
assert.NoError(t, err)
537538
assert.NotNil(t, token)
539+
538540
})
541+
t.Run("GetToken with parse error", func(t *testing.T) {
542+
idp := &mockIdentityProvider{}
543+
listener := &mockTokenListener{}
544+
mParser := &mockIdentityProviderResponseParser{}
545+
tokenManager, err := NewTokenManager(idp,
546+
TokenManagerOptions{
547+
IdentityProviderResponseParser: mParser,
548+
},
549+
)
550+
assert.NoError(t, err)
551+
assert.NotNil(t, tokenManager)
552+
tm, ok := tokenManager.(*entraidTokenManager)
553+
assert.True(t, ok)
554+
assert.Nil(t, tm.listener)
555+
556+
rawResponse, err := NewIDPResponse(ResponseTypeRawToken, "test")
557+
assert.NoError(t, err)
558+
559+
idp.On("RequestToken").Return(rawResponse, nil)
560+
mParser.On("ParseResponse", rawResponse).Return(nil, fmt.Errorf("parse error"))
561+
listener.On("OnTokenError", mock.Anything).Return()
562+
563+
cancel, err := tokenManager.Start(listener)
564+
assert.Error(t, err)
565+
assert.Nil(t, cancel)
566+
assert.NotNil(t, tm.listener)
539567

568+
})
540569
}

0 commit comments

Comments
 (0)