| File: MockImageBuilder.cs | Web Access |
| Project: src\tests\Aspire.Hosting.Tests\Aspire.Hosting.Tests.csproj (Aspire.Hosting.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #pragma warning disable ASPIREPIPELINES003 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed. using System.Collections.Concurrent; using Aspire.Hosting.Publishing; namespace Aspire.Hosting.Tests; /// <summary> /// Mock implementation of IResourceContainerImageManager for testing. /// </summary> public sealed class MockImageBuilder : IResourceContainerImageManager { public bool BuildImageCalled { get; private set; } public bool BuildImagesCalled { get; private set; } public bool PushImageCalled { get; private set; } public ConcurrentBag<IResource> BuildImageResources { get; } = []; public ConcurrentBag<ContainerImageBuildOptions?> BuildImageOptions { get; } = []; public ConcurrentBag<IResource> PushImageCalls { get; } = []; public Task BuildImageAsync(IResource resource, CancellationToken cancellationToken = default) { BuildImageCalled = true; BuildImageResources.Add(resource); return Task.CompletedTask; } public Task BuildImagesAsync(IEnumerable<IResource> resources, CancellationToken cancellationToken = default) { BuildImagesCalled = true; foreach (var resource in resources) { BuildImageResources.Add(resource); } return Task.CompletedTask; } public Task PushImageAsync(IResource resource, CancellationToken cancellationToken) { PushImageCalled = true; PushImageCalls.Add(resource); return Task.CompletedTask; } }