// Copyright (c) Microsoft Corporation. All rights reserved. // InMemoryRuntimeIntegrationTests.cs using Xunit.Abstractions; namespace Microsoft.AutoGen.Integration.Tests; public class InMemoryRuntimeIntegrationTests(ITestOutputHelper testOutput) { [Fact] public async Task HelloAgentsE2EInMemory() { // Locate InMemoryTests.AppHost.dll in the test output folder var appHostAssemblyPath = Directory.GetFiles(AppContext.BaseDirectory, "InMemoryTests.AppHost.dll", SearchOption.AllDirectories) .FirstOrDefault() ?? throw new FileNotFoundException("Could not find InMemoryTests.AppHost.dll in the test output folder"); var appHost = await DistributedApplicationTestFactory.CreateAsync(appHostAssemblyPath, testOutput); await using var app = await appHost.BuildAsync().WaitAsync(TimeSpan.FromSeconds(15)); // Start the application and wait for resources await app.StartAsync().WaitAsync(TimeSpan.FromSeconds(120)); await app.WaitForResourcesAsync().WaitAsync(TimeSpan.FromSeconds(120)); // Sleep 5 seconds to ensure the app is up await Task.Delay(5000); app.EnsureNoErrorsLogged(); app.EnsureLogContains("Hello World"); app.EnsureLogContains("HelloAgent said Goodbye"); await app.StopAsync().WaitAsync(TimeSpan.FromSeconds(15)); } }