@@ -459,9 +459,8 @@ public async Task VerifyCloudShellMsiRequestMockAsync()
459459
460460 [ NonParallelizable ]
461461 [ Test ]
462- [ TestCase ( null ) ]
463- [ TestCase ( "mock-client-id" ) ]
464- public async Task VerifyCloudShellMsiRequestWithClientIdMockAsync ( string clientId )
462+ [ TestCaseSource ( nameof ( ResourceAndClientIds ) ) ]
463+ public async Task VerifyCloudShellMsiRequestWithClientIdMockAsync ( string clientId , bool includeResourceIdentifier )
465464 {
466465 using var environment = new TestEnvVar ( new ( ) { { "MSI_ENDPOINT" , "https://mock.msi.endpoint/" } , { "MSI_SECRET" , null } , { "IDENTITY_ENDPOINT" , null } , { "IDENTITY_HEADER" , null } , { "AZURE_POD_IDENTITY_AUTHORITY_HOST" , null } } ) ;
467466
@@ -474,7 +473,13 @@ public async Task VerifyCloudShellMsiRequestWithClientIdMockAsync(string clientI
474473 var mockTransport = new MockTransport ( response ) ;
475474 var options = new TokenCredentialOptions ( ) { Transport = mockTransport } ;
476475
477- ManagedIdentityCredential client = InstrumentClient ( new ManagedIdentityCredential ( clientId , options ) ) ;
476+ // ManagedIdentityCredential client = InstrumentClient(new ManagedIdentityCredential(clientId, options));
477+ ManagedIdentityCredential client = ( clientId , includeResourceIdentifier ) switch
478+ {
479+ ( Item1 : null , Item2 : true ) => InstrumentClient ( new ManagedIdentityCredential ( new ResourceIdentifier ( _expectedResourceId ) , options ) ) ,
480+ ( Item1 : not null , Item2 : false ) => InstrumentClient ( new ManagedIdentityCredential ( clientId , options ) ) ,
481+ _ => InstrumentClient ( new ManagedIdentityCredential ( clientId : null , options ) )
482+ } ;
478483
479484 AccessToken actualToken = await client . GetTokenAsync ( new TokenRequestContext ( MockScopes . Default ) ) ;
480485
@@ -491,7 +496,7 @@ public async Task VerifyCloudShellMsiRequestWithClientIdMockAsync(string clientI
491496 string body = Encoding . UTF8 . GetString ( content ) ;
492497
493498 Assert . IsTrue ( body . Contains ( $ "resource={ Uri . EscapeDataString ( ScopeUtilities . ScopesToResource ( MockScopes . Default ) ) } ") ) ;
494- if ( clientId != null )
499+ if ( clientId != null || includeResourceIdentifier )
495500 {
496501 Assert . That ( messages , Does . Contain ( string . Format ( AzureIdentityEventSource . UserAssignedManagedIdentityNotSupportedMessage , "Cloud Shell" ) ) ) ;
497502 }
0 commit comments