@@ -69,7 +69,7 @@ public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_ReturnsSupp
6969 }
7070
7171 [ Fact ]
72- public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_SetsProviderGlobalConfig ( )
72+ public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_StaticMatch_DoesNotSetProviderGlobalConfig ( )
7373 {
7474 var context = new TestCommandContext ( ) ;
7575 var registry = new HostProviderRegistry ( context ) ;
@@ -90,14 +90,41 @@ public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_SetsProvide
9090
9191 IHostProvider result = await registry . GetProviderAsync ( input ) ;
9292
93+ Assert . Same ( providerMock . Object , result ) ;
94+ Assert . False ( context . Git . Configuration . Global . TryGetValue ( configKey , out _ ) ) ;
95+ }
96+
97+ [ Fact ]
98+ public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_DynamicMatch_SetsProviderGlobalConfig ( )
99+ {
100+ var context = new TestCommandContext ( ) ;
101+ var registry = new HostProviderRegistry ( context ) ;
102+ var remote = new Uri ( "https://example.com" ) ;
103+ InputArguments input = CreateInputArguments ( remote ) ;
104+
105+ string providerId = "myProvider" ;
106+ string configKey = string . Format ( CultureInfo . InvariantCulture ,
107+ "{0}.https://example.com.{1}" ,
108+ Constants . GitConfiguration . Credential . SectionName ,
109+ Constants . GitConfiguration . Credential . Provider ) ;
110+
111+ var providerMock = new Mock < IHostProvider > ( ) ;
112+ providerMock . Setup ( x => x . Id ) . Returns ( providerId ) ;
113+ providerMock . Setup ( x => x . IsSupported ( It . IsAny < InputArguments > ( ) ) ) . Returns ( false ) ;
114+ providerMock . Setup ( x => x . IsSupported ( It . IsAny < HttpResponseMessage > ( ) ) ) . Returns ( true ) ;
115+
116+ registry . Register ( providerMock . Object , HostProviderPriority . Normal ) ;
117+
118+ IHostProvider result = await registry . GetProviderAsync ( input ) ;
119+
93120 Assert . Same ( providerMock . Object , result ) ;
94121 Assert . True ( context . Git . Configuration . Global . TryGetValue ( configKey , out IList < string > config ) ) ;
95122 Assert . Equal ( 1 , config . Count ) ;
96123 Assert . Equal ( providerId , config [ 0 ] ) ;
97124 }
98125
99126 [ Fact ]
100- public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_SetsProviderGlobalConfig_HostWithPath ( )
127+ public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_DynamicMatch_SetsProviderGlobalConfig_HostWithPath ( )
101128 {
102129 var context = new TestCommandContext ( ) ;
103130 var registry = new HostProviderRegistry ( context ) ;
@@ -112,7 +139,8 @@ public async Task HostProviderRegistry_GetProvider_Auto_HasProviders_SetsProvide
112139
113140 var providerMock = new Mock < IHostProvider > ( ) ;
114141 providerMock . Setup ( x => x . Id ) . Returns ( providerId ) ;
115- providerMock . Setup ( x => x . IsSupported ( It . IsAny < InputArguments > ( ) ) ) . Returns ( true ) ;
142+ providerMock . Setup ( x => x . IsSupported ( It . IsAny < InputArguments > ( ) ) ) . Returns ( false ) ;
143+ providerMock . Setup ( x => x . IsSupported ( It . IsAny < HttpResponseMessage > ( ) ) ) . Returns ( true ) ;
116144
117145 registry . Register ( providerMock . Object , HostProviderPriority . Normal ) ;
118146
0 commit comments