public async Task LogAzureSearchDependency_SinksToApplicationInsights_ResultsInAzureSearchDependencyTelemetry() { // Arrange string searchServiceName = BogusGenerator.Commerce.Product(); string operationName = BogusGenerator.Commerce.ProductName(); using (ILoggerFactory loggerFactory = CreateLoggerFactory()) { ILogger logger = loggerFactory.CreateLogger <ApplicationInsightsSinkTests>(); bool isSuccessful = BogusGenerator.PickRandom(true, false); DateTimeOffset startTime = DateTimeOffset.Now; TimeSpan duration = BogusGenerator.Date.Timespan(); Dictionary <string, object> telemetryContext = CreateTestTelemetryContext(); // Act logger.LogAzureSearchDependency(searchServiceName, operationName, isSuccessful, startTime, duration, telemetryContext); } // Assert using (IApplicationInsightsDataClient client = CreateApplicationInsightsClient()) { await RetryAssertUntilTelemetryShouldBeAvailableAsync(async() => { EventsResults <EventsDependencyResult> results = await client.Events.GetDependencyEventsAsync(ApplicationId, timespan: "PT30M"); Assert.NotEmpty(results.Value); Assert.Contains(results.Value, result => { return(result.Dependency.Type == "Azure Search" && result.Dependency.Target == searchServiceName && result.Dependency.Data == operationName); }); }); } }
public async Task LogAzureKeyVaultDependency_SinksToApplicationInsights_ResultsInAzureKeyVaultDependencyTelemetry() { // Arrange string vaultUri = "https://myvault.vault.azure.net"; string secretName = "MySecret"; using (ILoggerFactory loggerFactory = CreateLoggerFactory()) { ILogger logger = loggerFactory.CreateLogger <AzureKeyVaultDependencyTests>(); bool isSuccessful = BogusGenerator.PickRandom(true, false); DateTimeOffset startTime = DateTimeOffset.Now; TimeSpan duration = BogusGenerator.Date.Timespan(); Dictionary <string, object> telemetryContext = CreateTestTelemetryContext(); // Act logger.LogAzureKeyVaultDependency(vaultUri, secretName, isSuccessful, startTime, duration, telemetryContext); } // Assert using (IApplicationInsightsDataClient client = CreateApplicationInsightsClient()) { await RetryAssertUntilTelemetryShouldBeAvailableAsync(async() => { EventsResults <EventsDependencyResult> results = await client.Events.GetDependencyEventsAsync(ApplicationId, timespan: "PT30M"); Assert.NotEmpty(results.Value); Assert.Contains(results.Value, result => { return(result.Dependency.Type == "Azure key vault" && result.Dependency.Target == vaultUri && result.Dependency.Data == secretName); }); }); } }