azureblob: make newServicePrincipalTokenRefresher take parsed principal structure

This commit is contained in:
Nathaniel Wesley Filardo 2022-11-14 04:11:44 +00:00 committed by Nick Craig-Wood
parent e3d593d40c
commit 6f3682c12f
2 changed files with 18 additions and 9 deletions

View file

@ -7,6 +7,7 @@ package azureblob
import (
"context"
"encoding/json"
"testing"
"github.com/rclone/rclone/fs"
@ -42,7 +43,11 @@ func TestServicePrincipalFileSuccess(t *testing.T) {
"tenant": "my active directory tenant ID"
}
`
tokenRefresher, err := newServicePrincipalTokenRefresher(ctx, []byte(credentials))
var spCredentials servicePrincipalCredentials
jerr := json.Unmarshal([]byte(credentials), &spCredentials)
assert.Nil(t, jerr)
tokenRefresher, err := newServicePrincipalTokenRefresher(ctx, spCredentials)
if assert.NoError(t, err) {
assert.NotNil(t, tokenRefresher)
}
@ -57,7 +62,11 @@ func TestServicePrincipalFileFailure(t *testing.T) {
"tenant": "my active directory tenant ID"
}
`
_, err := newServicePrincipalTokenRefresher(ctx, []byte(credentials))
var spCredentials servicePrincipalCredentials
jerr := json.Unmarshal([]byte(credentials), &spCredentials)
assert.Nil(t, jerr)
_, err := newServicePrincipalTokenRefresher(ctx, spCredentials)
assert.Error(t, err)
assert.EqualError(t, err, "error creating service principal token: parameter 'secret' cannot be empty")
}