diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs index 9117161aafd..0904a1205bd 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs @@ -108,6 +108,7 @@ public ClientProvider(InputClient inputClient) ClientOptionsParameter = ClientOptions != null ? ScmKnownParameters.ClientOptions(ClientOptions.Type) : null; bool isIndividuallyInitialized = (_inputClient.InitializedBy & InputClientInitializedBy.Individually) != 0; ClientSettings = isIndividuallyInitialized + && DeclarationModifiers.HasFlag(TypeSignatureModifiers.Public) ? new ClientSettingsProvider(_inputClient, this) : null; IsMultiServiceClient = _inputClient.IsMultiServiceClient; diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderCustomizationTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderCustomizationTests.cs index c7d924e8747..0b8620ee7ab 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderCustomizationTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderCustomizationTests.cs @@ -228,6 +228,10 @@ public async Task CanChangeClientAccessibility() // The client options were not customized Assert.IsTrue(clientOptionsProvider!.DeclarationModifiers.HasFlag(TypeSignatureModifiers.Public)); + // ClientSettings should not be generated for internal clients + Assert.IsNull(((ClientProvider)clientProvider).ClientSettings, + "Internal client should not have ClientSettings generated"); + // The docs should be generated even when then methods is internal foreach (var method in clientProvider.Methods) { @@ -265,6 +269,10 @@ public async Task CanChangeClientOptionsAccessibility() // The client options were not customized Assert.IsTrue(clientOptionsProvider!.DeclarationModifiers.HasFlag(TypeSignatureModifiers.Internal)); + // ClientSettings should not be generated for internal clients + Assert.IsNull(((ClientProvider)clientProvider).ClientSettings, + "Internal client should not have ClientSettings generated"); + // The docs should be generated even when then methods is internal foreach (var method in clientProvider.Methods) {