| File: ConformanceTests.EventHubsBufferedProducerClient.cs | Web Access |
| Project: src\tests\Aspire.Azure.Messaging.EventHubs.Tests\Aspire.Azure.Messaging.EventHubs.Tests.csproj (Aspire.Azure.Messaging.EventHubs.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Azure.Identity; using Azure.Messaging.EventHubs; using Azure.Messaging.EventHubs.Producer; using Microsoft.Extensions.Hosting; namespace Aspire.Azure.Messaging.EventHubs.Tests; public class ConformanceTests_EventHubsBufferedProducerClient : ConformanceTestsBase<EventHubBufferedProducerClient, AzureMessagingEventHubsBufferedProducerSettings> { protected override void SetHealthCheck(AzureMessagingEventHubsBufferedProducerSettings options, bool enabled) => options.DisableHealthChecks = !enabled; protected override void SetMetrics(AzureMessagingEventHubsBufferedProducerSettings options, bool enabled) => throw new NotImplementedException(); protected override void SetTracing(AzureMessagingEventHubsBufferedProducerSettings options, bool enabled) => options.DisableTracing = !enabled; protected override void RegisterComponent(HostApplicationBuilder builder, Action<AzureMessagingEventHubsBufferedProducerSettings>? configure = null, string? key = null) { if (key is null) { builder.AddAzureEventHubBufferedProducerClient("ehprc", settings => ConfigureCredentials(configure, settings)); } else { builder.AddKeyedAzureEventHubBufferedProducerClient(key, settings => ConfigureCredentials(configure, settings)); } void ConfigureCredentials(Action<AzureMessagingEventHubsBufferedProducerSettings>? configure, AzureMessagingEventHubsBufferedProducerSettings settings) { if (CanConnectToServer) { settings.Credential = new DefaultAzureCredential(); } configure?.Invoke(settings); } } protected override void TriggerActivity(EventHubBufferedProducerClient service) { try { var binaryData = BinaryData.FromString("Hello, from /test sent via bufferedProducerClient"); service.EnqueueEventAsync(new EventData(binaryData)).GetAwaiter().GetResult(); } catch (Exception) { // Expected exception } } }