diff --git a/src/Testcontainers/Builders/ContainerBuilder`3.cs b/src/Testcontainers/Builders/ContainerBuilder`3.cs index b784d2eef..6df73eb1f 100644 --- a/src/Testcontainers/Builders/ContainerBuilder`3.cs +++ b/src/Testcontainers/Builders/ContainerBuilder`3.cs @@ -84,7 +84,7 @@ public TBuilderEntity WithImage(IImage image) } /// - public TBuilderEntity WithImagePullPolicy(Func imagePullPolicy) + public TBuilderEntity WithImagePullPolicy(Func imagePullPolicy) { return Clone(new ContainerConfiguration(imagePullPolicy: imagePullPolicy)); } diff --git a/src/Testcontainers/Builders/IContainerBuilder`2.cs b/src/Testcontainers/Builders/IContainerBuilder`2.cs index 2828ff61d..6516c3c22 100644 --- a/src/Testcontainers/Builders/IContainerBuilder`2.cs +++ b/src/Testcontainers/Builders/IContainerBuilder`2.cs @@ -78,7 +78,7 @@ public interface IContainerBuilder : I /// The image pull policy. /// A configured instance of . [PublicAPI] - TBuilderEntity WithImagePullPolicy(Func imagePullPolicy); + TBuilderEntity WithImagePullPolicy(Func imagePullPolicy); /// /// Sets the name. diff --git a/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs b/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs index a806707d6..47f2d7131 100644 --- a/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs +++ b/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs @@ -59,7 +59,7 @@ public interface IImageFromDockerfileBuilder /// The image build policy. /// A configured instance of . [PublicAPI] - TBuilderEntity WithImageBuildPolicy(Func imageBuildPolicy); + TBuilderEntity WithImageBuildPolicy(Func imageBuildPolicy); /// /// Removes an existing image before building it again. diff --git a/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs b/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs index c48a0f4f3..3b5e24da8 100644 --- a/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs +++ b/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs @@ -81,7 +81,7 @@ public ImageFromDockerfileBuilder WithDockerfileDirectory(CommonDirectoryPath co } /// - public ImageFromDockerfileBuilder WithImageBuildPolicy(Func imageBuildPolicy) + public ImageFromDockerfileBuilder WithImageBuildPolicy(Func imageBuildPolicy) { return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(imageBuildPolicy: imageBuildPolicy)); } diff --git a/src/Testcontainers/Clients/DockerContainerOperations.cs b/src/Testcontainers/Clients/DockerContainerOperations.cs index 72121bee0..de7526acc 100644 --- a/src/Testcontainers/Clients/DockerContainerOperations.cs +++ b/src/Testcontainers/Clients/DockerContainerOperations.cs @@ -4,9 +4,9 @@ namespace DotNet.Testcontainers.Clients using System.Collections.Generic; using System.Globalization; using System.IO; - using System.Linq; using System.Threading; using System.Threading.Tasks; + using Docker.DotNet; using Docker.DotNet.Models; using DotNet.Testcontainers.Configurations; using DotNet.Testcontainers.Containers; @@ -24,37 +24,53 @@ public DockerContainerOperations(Guid sessionId, IDockerEndpointAuthenticationCo public async Task> GetAllAsync(CancellationToken ct = default) { - return (await Docker.Containers.ListContainersAsync(new ContainersListParameters { All = true }, ct) - .ConfigureAwait(false)).ToArray(); + return await Docker.Containers.ListContainersAsync(new ContainersListParameters { All = true }, ct) + .ConfigureAwait(false); + } + + public async Task> GetAllAsync(FilterByProperty filters, CancellationToken ct = default) + { + return await Docker.Containers.ListContainersAsync(new ContainersListParameters { All = true, Filters = filters }, ct) + .ConfigureAwait(false); } - public Task ByIdAsync(string id, CancellationToken ct = default) + public Task ByIdAsync(string id, CancellationToken ct = default) { return ByPropertyAsync("id", id, ct); } - public Task ByNameAsync(string name, CancellationToken ct = default) + public Task ByNameAsync(string name, CancellationToken ct = default) { return ByPropertyAsync("name", name, ct); } - public async Task ByPropertyAsync(string property, string value, CancellationToken ct = default) + public async Task ByPropertyAsync(string property, string value, CancellationToken ct = default) { - var filters = new FilterByProperty { { property, value } }; - return (await Docker.Containers.ListContainersAsync(new ContainersListParameters { All = true, Filters = filters }, ct) - .ConfigureAwait(false)).FirstOrDefault(); + try + { + return await Docker.Containers.InspectContainerAsync(value, ct) + .ConfigureAwait(false); + } + catch (DockerApiException) + { + return null; + } } public async Task ExistsWithIdAsync(string id, CancellationToken ct = default) { - return await ByIdAsync(id, ct) - .ConfigureAwait(false) != null; + var response = await ByIdAsync(id, ct) + .ConfigureAwait(false); + + return response != null; } public async Task ExistsWithNameAsync(string name, CancellationToken ct = default) { - return await ByNameAsync(name, ct) - .ConfigureAwait(false) != null; + var response = await ByNameAsync(name, ct) + .ConfigureAwait(false); + + return response != null; } public async Task GetExitCodeAsync(string id, CancellationToken ct = default) @@ -214,10 +230,5 @@ public async Task RunAsync(IContainerConfiguration configuration, Cancel _logger.DockerContainerCreated(createContainerResponse.ID); return createContainerResponse.ID; } - - public Task InspectAsync(string id, CancellationToken ct = default) - { - return Docker.Containers.InspectContainerAsync(id, ct); - } } } diff --git a/src/Testcontainers/Clients/DockerImageOperations.cs b/src/Testcontainers/Clients/DockerImageOperations.cs index 8d8a537ac..f469bd569 100644 --- a/src/Testcontainers/Clients/DockerImageOperations.cs +++ b/src/Testcontainers/Clients/DockerImageOperations.cs @@ -6,6 +6,7 @@ namespace DotNet.Testcontainers.Clients using System.Linq; using System.Threading; using System.Threading.Tasks; + using Docker.DotNet; using Docker.DotNet.Models; using DotNet.Testcontainers.Configurations; using DotNet.Testcontainers.Images; @@ -26,38 +27,53 @@ public DockerImageOperations(Guid sessionId, IDockerEndpointAuthenticationConfig public async Task> GetAllAsync(CancellationToken ct = default) { - return (await Docker.Images.ListImagesAsync(new ImagesListParameters { All = true }, ct) - .ConfigureAwait(false)).ToArray(); + return await Docker.Images.ListImagesAsync(new ImagesListParameters { All = true }, ct) + .ConfigureAwait(false); + } + + public async Task> GetAllAsync(FilterByProperty filters, CancellationToken ct = default) + { + return await Docker.Images.ListImagesAsync(new ImagesListParameters { All = true, Filters = filters }, ct) + .ConfigureAwait(false); } - public async Task ByIdAsync(string id, CancellationToken ct = default) + public Task ByIdAsync(string id, CancellationToken ct = default) { - return (await GetAllAsync(ct) - .ConfigureAwait(false)).FirstOrDefault(image => image.ID.Equals(id, StringComparison.OrdinalIgnoreCase)); + return ByPropertyAsync("id", id, ct); } - public Task ByNameAsync(string name, CancellationToken ct = default) + public Task ByNameAsync(string name, CancellationToken ct = default) { return ByPropertyAsync("reference", name, ct); } - public async Task ByPropertyAsync(string property, string value, CancellationToken ct = default) + public async Task ByPropertyAsync(string property, string value, CancellationToken ct = default) { - var filters = new FilterByProperty { { property, value } }; - return (await Docker.Images.ListImagesAsync(new ImagesListParameters { All = true, Filters = filters }, ct) - .ConfigureAwait(false)).FirstOrDefault(); + try + { + return await Docker.Images.InspectImageAsync(value, ct) + .ConfigureAwait(false); + } + catch (DockerApiException) + { + return null; + } } public async Task ExistsWithIdAsync(string id, CancellationToken ct = default) { - return await ByIdAsync(id, ct) - .ConfigureAwait(false) != null; + var response = await ByIdAsync(id, ct) + .ConfigureAwait(false); + + return response != null; } public async Task ExistsWithNameAsync(string name, CancellationToken ct = default) { - return await ByNameAsync(name, ct) - .ConfigureAwait(false) != null; + var response = await ByNameAsync(name, ct) + .ConfigureAwait(false); + + return response != null; } public async Task CreateAsync(IImage image, IDockerRegistryAuthenticationConfiguration dockerRegistryAuthConfig, CancellationToken ct = default) diff --git a/src/Testcontainers/Clients/DockerNetworkOperations.cs b/src/Testcontainers/Clients/DockerNetworkOperations.cs index 661105613..503db9c0e 100644 --- a/src/Testcontainers/Clients/DockerNetworkOperations.cs +++ b/src/Testcontainers/Clients/DockerNetworkOperations.cs @@ -5,6 +5,7 @@ namespace DotNet.Testcontainers.Clients using System.Linq; using System.Threading; using System.Threading.Tasks; + using Docker.DotNet; using Docker.DotNet.Models; using DotNet.Testcontainers.Configurations; using Microsoft.Extensions.Logging; @@ -21,14 +22,19 @@ public DockerNetworkOperations(Guid sessionId, IDockerEndpointAuthenticationConf public async Task> GetAllAsync(CancellationToken ct = default) { - return (await Docker.Networks.ListNetworksAsync(new NetworksListParameters(), ct) - .ConfigureAwait(false)).ToArray(); + return await Docker.Networks.ListNetworksAsync(new NetworksListParameters(), ct) + .ConfigureAwait(false); } - public async Task ByIdAsync(string id, CancellationToken ct = default) + public async Task> GetAllAsync(FilterByProperty filters, CancellationToken ct = default) { - return (await GetAllAsync(ct) - .ConfigureAwait(false)).FirstOrDefault(image => image.ID.Equals(id, StringComparison.OrdinalIgnoreCase)); + return await Docker.Networks.ListNetworksAsync(new NetworksListParameters { Filters = filters }, ct) + .ConfigureAwait(false); + } + + public Task ByIdAsync(string id, CancellationToken ct = default) + { + return ByPropertyAsync("id", id, ct); } public Task ByNameAsync(string name, CancellationToken ct = default) @@ -38,21 +44,31 @@ public Task ByNameAsync(string name, CancellationToken ct = def public async Task ByPropertyAsync(string property, string value, CancellationToken ct = default) { - var filters = new FilterByProperty { { property, value } }; - return (await Docker.Networks.ListNetworksAsync(new NetworksListParameters { Filters = filters }, ct) - .ConfigureAwait(false)).FirstOrDefault(); + try + { + return await Docker.Networks.InspectNetworkAsync(value, ct) + .ConfigureAwait(false); + } + catch (DockerApiException) + { + return null; + } } public async Task ExistsWithIdAsync(string id, CancellationToken ct = default) { - return await ByIdAsync(id, ct) - .ConfigureAwait(false) != null; + var response = await ByIdAsync(id, ct) + .ConfigureAwait(false); + + return response != null; } public async Task ExistsWithNameAsync(string name, CancellationToken ct = default) { - return await ByNameAsync(name, ct) - .ConfigureAwait(false) != null; + var response = await ByNameAsync(name, ct) + .ConfigureAwait(false); + + return response != null; } public async Task CreateAsync(INetworkConfiguration configuration, CancellationToken ct = default) diff --git a/src/Testcontainers/Clients/DockerVolumeOperations.cs b/src/Testcontainers/Clients/DockerVolumeOperations.cs index cd31e0cf4..4224bd92b 100644 --- a/src/Testcontainers/Clients/DockerVolumeOperations.cs +++ b/src/Testcontainers/Clients/DockerVolumeOperations.cs @@ -5,6 +5,7 @@ namespace DotNet.Testcontainers.Clients using System.Linq; using System.Threading; using System.Threading.Tasks; + using Docker.DotNet; using Docker.DotNet.Models; using DotNet.Testcontainers.Configurations; using Microsoft.Extensions.Logging; @@ -21,13 +22,23 @@ public DockerVolumeOperations(Guid sessionId, IDockerEndpointAuthenticationConfi public async Task> GetAllAsync(CancellationToken ct = default) { - return (await Docker.Volumes.ListAsync(ct) - .ConfigureAwait(false)).Volumes.ToArray(); + var response = await Docker.Volumes.ListAsync(ct) + .ConfigureAwait(false); + + return response.Volumes; + } + + public async Task> GetAllAsync(FilterByProperty filters, CancellationToken ct = default) + { + var response = await Docker.Volumes.ListAsync(new VolumesListParameters { Filters = filters }, ct) + .ConfigureAwait(false); + + return response.Volumes; } public Task ByIdAsync(string id, CancellationToken ct = default) { - return Task.FromResult(null); + return ByPropertyAsync("id", id, ct); } public Task ByNameAsync(string name, CancellationToken ct = default) @@ -37,21 +48,31 @@ public Task ByNameAsync(string name, CancellationToken ct = defa public async Task ByPropertyAsync(string property, string value, CancellationToken ct = default) { - var filters = new FilterByProperty { { property, value } }; - return (await Docker.Volumes.ListAsync(new VolumesListParameters { Filters = filters }, ct) - .ConfigureAwait(false)).Volumes.FirstOrDefault(); + try + { + return await Docker.Volumes.InspectAsync(value, ct) + .ConfigureAwait(false); + } + catch (DockerApiException) + { + return null; + } } public async Task ExistsWithIdAsync(string id, CancellationToken ct = default) { - return await ByIdAsync(id, ct) - .ConfigureAwait(false) != null; + var response = await ByIdAsync(id, ct) + .ConfigureAwait(false); + + return response != null; } public async Task ExistsWithNameAsync(string name, CancellationToken ct = default) { - return await ByNameAsync(name, ct) - .ConfigureAwait(false) != null; + var response = await ByNameAsync(name, ct) + .ConfigureAwait(false); + + return response != null; } public async Task CreateAsync(IVolumeConfiguration configuration, CancellationToken ct = default) diff --git a/src/Testcontainers/Clients/IDockerContainerOperations.cs b/src/Testcontainers/Clients/IDockerContainerOperations.cs index ea833ee08..1557074a7 100644 --- a/src/Testcontainers/Clients/IDockerContainerOperations.cs +++ b/src/Testcontainers/Clients/IDockerContainerOperations.cs @@ -9,7 +9,7 @@ namespace DotNet.Testcontainers.Clients using DotNet.Testcontainers.Configurations; using DotNet.Testcontainers.Containers; - internal interface IDockerContainerOperations : IHasListOperations + internal interface IDockerContainerOperations : IHasListOperations { Task GetExitCodeAsync(string id, CancellationToken ct = default); @@ -30,7 +30,5 @@ internal interface IDockerContainerOperations : IHasListOperations ExecAsync(string id, IList command, CancellationToken ct = default); Task RunAsync(IContainerConfiguration configuration, CancellationToken ct = default); - - Task InspectAsync(string id, CancellationToken ct = default); } } diff --git a/src/Testcontainers/Clients/IDockerImageOperations.cs b/src/Testcontainers/Clients/IDockerImageOperations.cs index bb94950f2..f93cdf70d 100644 --- a/src/Testcontainers/Clients/IDockerImageOperations.cs +++ b/src/Testcontainers/Clients/IDockerImageOperations.cs @@ -6,7 +6,7 @@ namespace DotNet.Testcontainers.Clients using DotNet.Testcontainers.Configurations; using DotNet.Testcontainers.Images; - internal interface IDockerImageOperations : IHasListOperations + internal interface IDockerImageOperations : IHasListOperations { Task CreateAsync(IImage image, IDockerRegistryAuthenticationConfiguration dockerRegistryAuthConfig, CancellationToken ct = default); diff --git a/src/Testcontainers/Clients/IDockerNetworkOperations.cs b/src/Testcontainers/Clients/IDockerNetworkOperations.cs index 9f4fe6afb..b9cfb4bf0 100644 --- a/src/Testcontainers/Clients/IDockerNetworkOperations.cs +++ b/src/Testcontainers/Clients/IDockerNetworkOperations.cs @@ -5,7 +5,7 @@ namespace DotNet.Testcontainers.Clients using Docker.DotNet.Models; using DotNet.Testcontainers.Configurations; - internal interface IDockerNetworkOperations : IHasListOperations + internal interface IDockerNetworkOperations : IHasListOperations { Task CreateAsync(INetworkConfiguration configuration, CancellationToken ct = default); diff --git a/src/Testcontainers/Clients/IDockerVolumeOperations.cs b/src/Testcontainers/Clients/IDockerVolumeOperations.cs index e9fbee316..05a63de08 100644 --- a/src/Testcontainers/Clients/IDockerVolumeOperations.cs +++ b/src/Testcontainers/Clients/IDockerVolumeOperations.cs @@ -5,7 +5,7 @@ namespace DotNet.Testcontainers.Clients using Docker.DotNet.Models; using DotNet.Testcontainers.Configurations; - internal interface IDockerVolumeOperations : IHasListOperations + internal interface IDockerVolumeOperations : IHasListOperations { Task CreateAsync(IVolumeConfiguration configuration, CancellationToken ct = default); diff --git a/src/Testcontainers/Clients/IHasListOperations.cs b/src/Testcontainers/Clients/IHasListOperations.cs index 6a5f07db3..e22229e6b 100644 --- a/src/Testcontainers/Clients/IHasListOperations.cs +++ b/src/Testcontainers/Clients/IHasListOperations.cs @@ -4,15 +4,17 @@ namespace DotNet.Testcontainers.Clients using System.Threading; using System.Threading.Tasks; - internal interface IHasListOperations + internal interface IHasListOperations { - Task> GetAllAsync(CancellationToken ct = default); + Task> GetAllAsync(CancellationToken ct = default); - Task ByIdAsync(string id, CancellationToken ct = default); + Task> GetAllAsync(FilterByProperty filters, CancellationToken ct = default); - Task ByNameAsync(string name, CancellationToken ct = default); + Task ByIdAsync(string id, CancellationToken ct = default); - Task ByPropertyAsync(string property, string value, CancellationToken ct = default); + Task ByNameAsync(string name, CancellationToken ct = default); + + Task ByPropertyAsync(string property, string value, CancellationToken ct = default); Task ExistsWithIdAsync(string id, CancellationToken ct = default); diff --git a/src/Testcontainers/Clients/ITestcontainersClient.cs b/src/Testcontainers/Clients/ITestcontainersClient.cs index dcb8b6554..1cc5c641b 100644 --- a/src/Testcontainers/Clients/ITestcontainersClient.cs +++ b/src/Testcontainers/Clients/ITestcontainersClient.cs @@ -5,7 +5,6 @@ namespace DotNet.Testcontainers.Clients using System.IO; using System.Threading; using System.Threading.Tasks; - using Docker.DotNet.Models; using DotNet.Testcontainers.Configurations; using DotNet.Testcontainers.Containers; @@ -63,14 +62,6 @@ internal interface ITestcontainersClient /// Task that gets the container logs. Task<(string Stdout, string Stderr)> GetContainerLogsAsync(string id, DateTime since = default, DateTime until = default, bool timestampsEnabled = true, CancellationToken ct = default); - /// - /// Gets the container low-level information object. - /// - /// The container id. - /// Cancellation token. - /// Task that gets the container low-level information object. - Task InspectContainerAsync(string id, CancellationToken ct = default); - /// /// Starts the container. /// diff --git a/src/Testcontainers/Clients/TestcontainersClient.cs b/src/Testcontainers/Clients/TestcontainersClient.cs index 9ff769a47..2d9e45587 100644 --- a/src/Testcontainers/Clients/TestcontainersClient.cs +++ b/src/Testcontainers/Clients/TestcontainersClient.cs @@ -9,7 +9,6 @@ namespace DotNet.Testcontainers.Clients using System.Threading; using System.Threading.Tasks; using Docker.DotNet; - using Docker.DotNet.Models; using DotNet.Testcontainers.Builders; using DotNet.Testcontainers.Configurations; using DotNet.Testcontainers.Containers; @@ -118,12 +117,6 @@ public Task GetContainerExitCodeAsync(string id, CancellationToken ct = de return Container.GetLogsAsync(id, since.ToUniversalTime().Subtract(unixEpoch), until.ToUniversalTime().Subtract(unixEpoch), timestampsEnabled, ct); } - /// - public Task InspectContainerAsync(string id, CancellationToken ct = default) - { - return Container.InspectAsync(id, ct); - } - /// public async Task StartAsync(string id, CancellationToken ct = default) { diff --git a/src/Testcontainers/Configurations/Containers/ContainerConfiguration.cs b/src/Testcontainers/Configurations/Containers/ContainerConfiguration.cs index 46b3c4b94..0a4b6092d 100644 --- a/src/Testcontainers/Configurations/Containers/ContainerConfiguration.cs +++ b/src/Testcontainers/Configurations/Containers/ContainerConfiguration.cs @@ -42,7 +42,7 @@ public class ContainerConfiguration : ResourceConfigurationA value indicating whether the privileged flag is set or not. public ContainerConfiguration( IImage image = null, - Func imagePullPolicy = null, + Func imagePullPolicy = null, string name = null, string hostname = null, string macAddress = null, @@ -148,7 +148,7 @@ public ContainerConfiguration(IContainerConfiguration oldValue, IContainerConfig public IImage Image { get; } /// - public Func ImagePullPolicy { get; } + public Func ImagePullPolicy { get; } /// public string Name { get; } diff --git a/src/Testcontainers/Configurations/Containers/IContainerConfiguration.cs b/src/Testcontainers/Configurations/Containers/IContainerConfiguration.cs index 830f1668b..8c10cb360 100644 --- a/src/Testcontainers/Configurations/Containers/IContainerConfiguration.cs +++ b/src/Testcontainers/Configurations/Containers/IContainerConfiguration.cs @@ -34,7 +34,7 @@ public interface IContainerConfiguration : IResourceConfiguration /// Gets the image pull policy. /// - Func ImagePullPolicy { get; } + Func ImagePullPolicy { get; } /// /// Gets the name. diff --git a/src/Testcontainers/Configurations/Images/IImageFromDockerfileConfiguration.cs b/src/Testcontainers/Configurations/Images/IImageFromDockerfileConfiguration.cs index 8f27b3aef..eac754820 100644 --- a/src/Testcontainers/Configurations/Images/IImageFromDockerfileConfiguration.cs +++ b/src/Testcontainers/Configurations/Images/IImageFromDockerfileConfiguration.cs @@ -35,7 +35,7 @@ public interface IImageFromDockerfileConfiguration : IResourceConfiguration /// Gets the image build policy. /// - Func ImageBuildPolicy { get; } + Func ImageBuildPolicy { get; } /// /// Gets a list of build arguments. diff --git a/src/Testcontainers/Configurations/Images/ImageFromDockerfileConfiguration.cs b/src/Testcontainers/Configurations/Images/ImageFromDockerfileConfiguration.cs index 2677afe2c..9203c30d9 100644 --- a/src/Testcontainers/Configurations/Images/ImageFromDockerfileConfiguration.cs +++ b/src/Testcontainers/Configurations/Images/ImageFromDockerfileConfiguration.cs @@ -24,7 +24,7 @@ public ImageFromDockerfileConfiguration( string dockerfile = null, string dockerfileDirectory = null, IImage image = null, - Func imageBuildPolicy = null, + Func imageBuildPolicy = null, IReadOnlyDictionary buildArguments = null, bool? deleteIfExists = null) { @@ -83,7 +83,7 @@ public ImageFromDockerfileConfiguration(IImageFromDockerfileConfiguration oldVal public IImage Image { get; } /// - public Func ImageBuildPolicy { get; } + public Func ImageBuildPolicy { get; } /// public IReadOnlyDictionary BuildArguments { get; } diff --git a/src/Testcontainers/Containers/DockerContainer.cs b/src/Testcontainers/Containers/DockerContainer.cs index 3127a9962..e7db53b33 100644 --- a/src/Testcontainers/Containers/DockerContainer.cs +++ b/src/Testcontainers/Containers/DockerContainer.cs @@ -368,7 +368,7 @@ protected override async Task UnsafeCreateAsync(CancellationToken ct = default) var id = await _client.RunAsync(_configuration, ct) .ConfigureAwait(false); - _container = await _client.InspectContainerAsync(id, ct) + _container = await _client.Container.ByIdAsync(id, ct) .ConfigureAwait(false); Created?.Invoke(this, EventArgs.Empty); @@ -407,7 +407,7 @@ protected virtual async Task UnsafeStartAsync(CancellationToken ct = default) async Task CheckPortBindingsAsync() { - _container = await _client.InspectContainerAsync(_container.ID, ct) + _container = await _client.Container.ByIdAsync(_container.ID, ct) .ConfigureAwait(false); var boundPorts = _container.NetworkSettings.Ports.Values.Where(portBindings => portBindings != null).SelectMany(portBinding => portBinding).Count(portBinding => !string.IsNullOrEmpty(portBinding.HostPort)); @@ -416,7 +416,7 @@ async Task CheckPortBindingsAsync() async Task CheckWaitStrategyAsync(IWaitUntil wait) { - _container = await _client.InspectContainerAsync(_container.ID, ct) + _container = await _client.Container.ByIdAsync(_container.ID, ct) .ConfigureAwait(false); return await wait.UntilAsync(this) @@ -474,7 +474,7 @@ await _client.StopAsync(_container.ID, ct) try { - _container = await _client.InspectContainerAsync(_container.ID, ct) + _container = await _client.Container.ByIdAsync(_container.ID, ct) .ConfigureAwait(false); } catch (DockerApiException) diff --git a/src/Testcontainers/Images/FutureDockerImage.cs b/src/Testcontainers/Images/FutureDockerImage.cs index 4352f6f15..bb3b2be13 100644 --- a/src/Testcontainers/Images/FutureDockerImage.cs +++ b/src/Testcontainers/Images/FutureDockerImage.cs @@ -16,7 +16,7 @@ internal sealed class FutureDockerImage : Resource, IFutureDockerImage private readonly IImageFromDockerfileConfiguration _configuration; - private ImagesListResponse _image = new ImagesListResponse(); + private ImageInspectResponse _image = new ImageInspectResponse(); /// /// Initializes a new instance of the class. @@ -132,7 +132,7 @@ protected override async Task UnsafeDeleteAsync(CancellationToken ct = default) await _client.Image.DeleteAsync(_configuration.Image, ct) .ConfigureAwait(false); - _image = new ImagesListResponse(); + _image = new ImageInspectResponse(); } } } diff --git a/src/Testcontainers/Images/PullPolicy.cs b/src/Testcontainers/Images/PullPolicy.cs index 9b879f54f..b5a852d2c 100644 --- a/src/Testcontainers/Images/PullPolicy.cs +++ b/src/Testcontainers/Images/PullPolicy.cs @@ -13,7 +13,7 @@ public static class PullPolicy /// /// Gets the policy that never pulls images. /// - public static Func Never + public static Func Never { get { @@ -24,7 +24,7 @@ public static Func Never /// /// Gets the policy that pulls missing images (not cached). /// - public static Func Missing + public static Func Missing { get { @@ -35,7 +35,7 @@ public static Func Missing /// /// Gets the policy that always pulls images. /// - public static Func Always + public static Func Always { get { diff --git a/src/Testcontainers/Volumes/DockerVolume.cs b/src/Testcontainers/Volumes/DockerVolume.cs index 91c2aeeed..b161c0e8e 100644 --- a/src/Testcontainers/Volumes/DockerVolume.cs +++ b/src/Testcontainers/Volumes/DockerVolume.cs @@ -94,10 +94,10 @@ protected override async Task UnsafeCreateAsync(CancellationToken ct = default) return; } - var name = await _client.Volume.CreateAsync(_configuration, ct) + var id = await _client.Volume.CreateAsync(_configuration, ct) .ConfigureAwait(false); - _volume = await _client.Volume.ByNameAsync(name, ct) + _volume = await _client.Volume.ByIdAsync(id, ct) .ConfigureAwait(false); }