From b6c9c7111bdf2fac6c22f5a7df2f4f76b456c7a1 Mon Sep 17 00:00:00 2001 From: Andre Hofmeister <9199345+HofmeisterAn@users.noreply.github.com> Date: Tue, 12 Dec 2023 13:04:18 +0100 Subject: [PATCH 1/2] feat: Update Docker Engine API to 1.43 (Docker 24.0.7) --- .../ContainerPathStatParameters.Generated.cs | 3 --- .../ContainerRestartParameters.Generated.cs | 3 +++ .../ContainerStopParameters.Generated.cs | 3 +++ src/Docker.DotNet/Models/EmptyStruct.cs | 19 +++++++++---------- .../ImageInspectParameters.Generated.cs | 11 ----------- .../Models/ImagePushParameters.Generated.cs | 3 --- .../Models/ImageTagParameters.Generated.cs | 3 --- .../Models/ImagesListParameters.Generated.cs | 3 +++ .../IImageOperationsTests.cs | 1 - .../ISystemOperations.Tests.cs | 2 -- tools/specgen/go.mod | 2 +- tools/specgen/go.sum | 4 ++-- tools/specgen/modeldefs.go | 19 +++++++------------ tools/specgen/specgen.go | 1 - 14 files changed, 28 insertions(+), 49 deletions(-) delete mode 100644 src/Docker.DotNet/Models/ImageInspectParameters.Generated.cs diff --git a/src/Docker.DotNet/Models/ContainerPathStatParameters.Generated.cs b/src/Docker.DotNet/Models/ContainerPathStatParameters.Generated.cs index ba367a3b6..c69838aad 100644 --- a/src/Docker.DotNet/Models/ContainerPathStatParameters.Generated.cs +++ b/src/Docker.DotNet/Models/ContainerPathStatParameters.Generated.cs @@ -7,8 +7,5 @@ public class ContainerPathStatParameters // (main.ContainerPathStatParameters) { [QueryStringParameter("path", true)] public string Path { get; set; } - - [QueryStringParameter("noOverwriteDirNonDir", false, typeof(BoolQueryStringConverter))] - public bool? AllowOverwriteDirWithFile { get; set; } } } diff --git a/src/Docker.DotNet/Models/ContainerRestartParameters.Generated.cs b/src/Docker.DotNet/Models/ContainerRestartParameters.Generated.cs index 02a1bd758..c19caedfb 100644 --- a/src/Docker.DotNet/Models/ContainerRestartParameters.Generated.cs +++ b/src/Docker.DotNet/Models/ContainerRestartParameters.Generated.cs @@ -7,5 +7,8 @@ public class ContainerRestartParameters // (main.ContainerRestartParameters) { [QueryStringParameter("t", false)] public uint? WaitBeforeKillSeconds { get; set; } + + [QueryStringParameter("signal", false)] + public string Signal { get; set; } } } diff --git a/src/Docker.DotNet/Models/ContainerStopParameters.Generated.cs b/src/Docker.DotNet/Models/ContainerStopParameters.Generated.cs index 0493f236a..e6d1d1f23 100644 --- a/src/Docker.DotNet/Models/ContainerStopParameters.Generated.cs +++ b/src/Docker.DotNet/Models/ContainerStopParameters.Generated.cs @@ -7,5 +7,8 @@ public class ContainerStopParameters // (main.ContainerStopParameters) { [QueryStringParameter("t", false)] public uint? WaitBeforeKillSeconds { get; set; } + + [QueryStringParameter("signal", false)] + public string Signal { get; set; } } } diff --git a/src/Docker.DotNet/Models/EmptyStruct.cs b/src/Docker.DotNet/Models/EmptyStruct.cs index 87d3d605f..eabcd4818 100644 --- a/src/Docker.DotNet/Models/EmptyStruct.cs +++ b/src/Docker.DotNet/Models/EmptyStruct.cs @@ -1,11 +1,10 @@ - -namespace Docker.DotNet.Models -{ - /// - /// In go something like map[string]struct{} has no correct match so we create - /// the empty type here that can be used for something like IDictionary; - /// - public struct EmptyStruct - { - } +namespace Docker.DotNet.Models +{ + /// + /// In go something like map[string]struct{} has no correct match so we create the + /// empty type here that can be used for something like IDictionary<string, EmptyStruct>. + /// + public struct EmptyStruct + { + } } \ No newline at end of file diff --git a/src/Docker.DotNet/Models/ImageInspectParameters.Generated.cs b/src/Docker.DotNet/Models/ImageInspectParameters.Generated.cs deleted file mode 100644 index fd42655e4..000000000 --- a/src/Docker.DotNet/Models/ImageInspectParameters.Generated.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Runtime.Serialization; - -namespace Docker.DotNet.Models -{ - [DataContract] - public class ImageInspectParameters // (main.ImageInspectParameters) - { - [QueryStringParameter("size", false, typeof(BoolQueryStringConverter))] - public bool? IncludeSize { get; set; } - } -} diff --git a/src/Docker.DotNet/Models/ImagePushParameters.Generated.cs b/src/Docker.DotNet/Models/ImagePushParameters.Generated.cs index 8a20c6a1f..9beb1809b 100644 --- a/src/Docker.DotNet/Models/ImagePushParameters.Generated.cs +++ b/src/Docker.DotNet/Models/ImagePushParameters.Generated.cs @@ -5,9 +5,6 @@ namespace Docker.DotNet.Models [DataContract] public class ImagePushParameters // (main.ImagePushParameters) { - [QueryStringParameter("fromImage", false)] - public string ImageID { get; set; } - [QueryStringParameter("tag", false)] public string Tag { get; set; } diff --git a/src/Docker.DotNet/Models/ImageTagParameters.Generated.cs b/src/Docker.DotNet/Models/ImageTagParameters.Generated.cs index 98c6fce66..c05546935 100644 --- a/src/Docker.DotNet/Models/ImageTagParameters.Generated.cs +++ b/src/Docker.DotNet/Models/ImageTagParameters.Generated.cs @@ -10,8 +10,5 @@ public class ImageTagParameters // (main.ImageTagParameters) [QueryStringParameter("tag", false)] public string Tag { get; set; } - - [QueryStringParameter("force", false, typeof(BoolQueryStringConverter))] - public bool? Force { get; set; } } } diff --git a/src/Docker.DotNet/Models/ImagesListParameters.Generated.cs b/src/Docker.DotNet/Models/ImagesListParameters.Generated.cs index 2e710f041..e4de7a579 100644 --- a/src/Docker.DotNet/Models/ImagesListParameters.Generated.cs +++ b/src/Docker.DotNet/Models/ImagesListParameters.Generated.cs @@ -14,5 +14,8 @@ public class ImagesListParameters // (main.ImagesListParameters) [QueryStringParameter("digests", false, typeof(BoolQueryStringConverter))] public bool? Digests { get; set; } + + [QueryStringParameter("shared-size", false, typeof(BoolQueryStringConverter))] + public bool? SharedSize { get; set; } } } diff --git a/test/Docker.DotNet.Tests/IImageOperationsTests.cs b/test/Docker.DotNet.Tests/IImageOperationsTests.cs index 0e3d795ea..3ef43e994 100644 --- a/test/Docker.DotNet.Tests/IImageOperationsTests.cs +++ b/test/Docker.DotNet.Tests/IImageOperationsTests.cs @@ -47,7 +47,6 @@ await _dockerClient.Images.TagImageAsync( { RepositoryName = newRepositoryName, Tag = newTag, - Force = true }, cts.Token ); diff --git a/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs b/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs index 61f805a46..5929021db 100644 --- a/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs +++ b/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs @@ -154,7 +154,6 @@ public async Task MonitorEventsAsync_IsCancelled_NoStreamCorruption() { RepositoryName = _repositoryName, Tag = newImageTag, - Force = true }, default); @@ -178,7 +177,6 @@ public async Task MonitorEventsAsync_IsCancelled_NoStreamCorruption() { RepositoryName = _repositoryName, Tag = newImageTag, - Force = true } ).GetAwaiter().GetResult(); diff --git a/tools/specgen/go.mod b/tools/specgen/go.mod index 1f9d66036..696646352 100644 --- a/tools/specgen/go.mod +++ b/tools/specgen/go.mod @@ -4,7 +4,7 @@ go 1.15 require ( github.com/davecgh/go-spew v1.1.1 // indirect - github.com/docker/docker v24.0.2+incompatible + github.com/docker/docker v24.0.7+incompatible github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.4.0 github.com/gogo/protobuf v1.3.1 // indirect diff --git a/tools/specgen/go.sum b/tools/specgen/go.sum index a988be1cb..fadff0521 100644 --- a/tools/specgen/go.sum +++ b/tools/specgen/go.sum @@ -12,8 +12,8 @@ github.com/docker/docker v20.10.2+incompatible h1:vFgEHPqWBTp4pTjdLwjAA4bSo3gvIG github.com/docker/docker v20.10.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v24.0.2+incompatible h1:eATx+oLz9WdNVkQrr0qjQ8HvRJ4bOOxfzEo8R+dA3cg= -github.com/docker/docker v24.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= +github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= diff --git a/tools/specgen/modeldefs.go b/tools/specgen/modeldefs.go index 0149003f9..4c6783d47 100644 --- a/tools/specgen/modeldefs.go +++ b/tools/specgen/modeldefs.go @@ -84,8 +84,7 @@ type ContainerRemoveParameters struct { // ContainerPathStatParameters for GET /containers/(id)/archive type ContainerPathStatParameters struct { - Path string `rest:"query,path,required"` - AllowOverwriteDirWithFile bool `rest:"query,noOverwriteDirNonDir"` + Path string `rest:"query,path,required"` } // ContainerAttachParameters for POST /containers/(id)/attach @@ -133,6 +132,7 @@ type ContainerResizeParameters struct { // ContainerRestartParameters for POST /containers/(id)/restart type ContainerRestartParameters struct { WaitBeforeKillSeconds uint32 `rest:"query,t"` + Signal string `rest:"query"` } // ContainerStartParameters for POST /containers/(id)/start @@ -143,6 +143,7 @@ type ContainerStartParameters struct { // ContainerStopParameters for POST /containers/(id)/stop type ContainerStopParameters struct { WaitBeforeKillSeconds uint32 `rest:"query,t"` + Signal string `rest:"query"` } // ContainerStatsParameters for GET /containers/(id)/stats @@ -204,9 +205,10 @@ type ImagesCreateParameters struct { // ImagesListParameters for GET /images/json type ImagesListParameters struct { - All bool `rest:"query"` - Filters Args `rest:"query"` - Digests bool `rest:"query"` + All bool `rest:"query"` + Filters Args `rest:"query"` + Digests bool `rest:"query"` + SharedSize bool `rest:"query,shared-size"` } // ImageLoadParameters for POST /images/load @@ -233,14 +235,8 @@ type ImageDeleteParameters struct { NoPrune bool `rest:"query,noprune"` } -// ImageInspectParameters for GET /images/(id)/json -type ImageInspectParameters struct { - IncludeSize bool `rest:"query,size"` -} - // ImagePushParameters for POST /images/(id)/push type ImagePushParameters struct { - ImageID string `rest:"query,fromImage"` Tag string `rest:"query"` RegistryAuth registry.AuthConfig `rest:"headers,X-Registry-Auth"` } @@ -249,7 +245,6 @@ type ImagePushParameters struct { type ImageTagParameters struct { RepositoryName string `rest:"query,repo"` Tag string `rest:"query"` - Force bool `rest:"query"` } // NetworksListParameters for GET /networks diff --git a/tools/specgen/specgen.go b/tools/specgen/specgen.go index 79e61f3ef..cc8a46b2a 100644 --- a/tools/specgen/specgen.go +++ b/tools/specgen/specgen.go @@ -303,7 +303,6 @@ var dockerTypesToReflect = []reflect.Type{ reflect.TypeOf(image.HistoryResponseItem{}), // GET /images/(id)/json - reflect.TypeOf(ImageInspectParameters{}), reflect.TypeOf(types.ImageInspect{}), // POST /images/(id)/push From 115abfb96779b99539f371b5c5ef93f6b0774e72 Mon Sep 17 00:00:00 2001 From: Andre Hofmeister <9199345+HofmeisterAn@users.noreply.github.com> Date: Wed, 13 Dec 2023 19:19:52 +0100 Subject: [PATCH 2/2] chore: Remove warnings --- src/Docker.DotNet/DockerPipeStream.cs | 3 +-- .../Endpoints/IImageOperations.cs | 2 +- .../Endpoints/IVolumeOperations.cs | 1 - src/Docker.DotNet/Endpoints/StreamUtil.cs | 3 +-- .../Endpoints/VolumeOperations.cs | 1 - .../HttpConnection.cs | 4 ++-- .../ManagedHandler.cs | 2 +- .../Models/ObjectExtensionData.cs | 3 +-- src/Docker.DotNet/MultiplexedStream.cs | 1 - .../TimeSpanNanoSecondsConverter.cs | 4 ++-- src/Docker.DotNet/TimeSpanSecondsConverter.cs | 1 - .../IConfigOperationsTests.cs | 13 ++++------ .../IContainerOperationsTests.cs | 4 ++-- .../ISwarmOperationsTests.cs | 24 +++++++++---------- .../ISystemOperations.Tests.cs | 6 ++--- .../IVolumeOperationsTests.cs | 3 +-- test/Docker.DotNet.Tests/QueryStringTests.cs | 5 ++-- 17 files changed, 32 insertions(+), 48 deletions(-) diff --git a/src/Docker.DotNet/DockerPipeStream.cs b/src/Docker.DotNet/DockerPipeStream.cs index b7cd73a3b..6a058c030 100644 --- a/src/Docker.DotNet/DockerPipeStream.cs +++ b/src/Docker.DotNet/DockerPipeStream.cs @@ -67,8 +67,7 @@ public override void CloseWrite() const int ERROR_IO_PENDING = 997; if (Marshal.GetLastWin32Error() == ERROR_IO_PENDING) { - int written; - if (GetOverlappedResult(_stream.SafePipeHandle, ref overlapped, out written, 1) == 0) + if (GetOverlappedResult(_stream.SafePipeHandle, ref overlapped, out var _, 1) == 0) { Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error()); } diff --git a/src/Docker.DotNet/Endpoints/IImageOperations.cs b/src/Docker.DotNet/Endpoints/IImageOperations.cs index b9719c783..af264d280 100644 --- a/src/Docker.DotNet/Endpoints/IImageOperations.cs +++ b/src/Docker.DotNet/Endpoints/IImageOperations.cs @@ -72,7 +72,7 @@ public interface IImageOperations /// One or more of the inputs was . /// The input is invalid or the daemon experienced an error. /// The request failed due to an underlying issue such as network connectivity, DNS failure, server certificate validation or timeout. - [ObsoleteAttribute("This method does not wait for build to complete. Use new BuildImageFromDockerfileAsync(contents, parameters, authConfigs, headers, progress, cancellationToken, instead.)", false)] + [Obsolete("This method does not wait for build to complete. Use new BuildImageFromDockerfileAsync(contents, parameters, authConfigs, headers, progress, cancellationToken, instead.)", false)] Task BuildImageFromDockerfileAsync(Stream contents, ImageBuildParameters parameters, CancellationToken cancellationToken = default(CancellationToken)); /// diff --git a/src/Docker.DotNet/Endpoints/IVolumeOperations.cs b/src/Docker.DotNet/Endpoints/IVolumeOperations.cs index 744c9a0a2..a027bab5b 100644 --- a/src/Docker.DotNet/Endpoints/IVolumeOperations.cs +++ b/src/Docker.DotNet/Endpoints/IVolumeOperations.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using System.Threading.Tasks; using Docker.DotNet.Models; using System.Threading; diff --git a/src/Docker.DotNet/Endpoints/StreamUtil.cs b/src/Docker.DotNet/Endpoints/StreamUtil.cs index 03e1c1b62..92ea822e8 100644 --- a/src/Docker.DotNet/Endpoints/StreamUtil.cs +++ b/src/Docker.DotNet/Endpoints/StreamUtil.cs @@ -1,5 +1,4 @@ using System; -using System.Diagnostics; using System.IO; using System.Net.Http; using System.Text; @@ -48,7 +47,7 @@ internal static async Task MonitorResponseForMessagesAsync(Task(response.Content.ReadAsStreamAsync(), client, cancel, progress); + await MonitorStreamForMessagesAsync(response.Content.ReadAsStreamAsync(), client, cancel, progress); } } } diff --git a/src/Docker.DotNet/Endpoints/VolumeOperations.cs b/src/Docker.DotNet/Endpoints/VolumeOperations.cs index 69e74138f..f2541be2b 100644 --- a/src/Docker.DotNet/Endpoints/VolumeOperations.cs +++ b/src/Docker.DotNet/Endpoints/VolumeOperations.cs @@ -1,6 +1,5 @@ using Docker.DotNet.Models; using System; -using System.IO; using System.Net.Http; using System.Threading; using System.Threading.Tasks; diff --git a/src/Docker.DotNet/Microsoft.Net.Http.Client/HttpConnection.cs b/src/Docker.DotNet/Microsoft.Net.Http.Client/HttpConnection.cs index 86f68264d..a086263bf 100644 --- a/src/Docker.DotNet/Microsoft.Net.Http.Client/HttpConnection.cs +++ b/src/Docker.DotNet/Microsoft.Net.Http.Client/HttpConnection.cs @@ -68,7 +68,7 @@ private string SerializeRequest(HttpRequestMessage request) builder.Append(request.Version.ToString(2)); builder.Append("\r\n"); - builder.Append(request.Headers.ToString()); + builder.Append(request.Headers); if (request.Content != null) { @@ -79,7 +79,7 @@ private string SerializeRequest(HttpRequestMessage request) request.Content.Headers.ContentLength = contentLength.Value; } - builder.Append(request.Content.Headers.ToString()); + builder.Append(request.Content.Headers); if (!contentLength.HasValue) { // Add header for chunked mode. diff --git a/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs b/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs index 6d92f6c00..2cddf1e2c 100644 --- a/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs +++ b/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs @@ -384,7 +384,7 @@ private async Task TunnelThroughProxyAsync(HttpRequestMessage request, Stream tr if ((int)connectResponse.StatusCode < 200 || 300 <= (int)connectResponse.StatusCode) { transport.Dispose(); - throw new HttpRequestException("Failed to negotiate the proxy tunnel: " + connectResponse.ToString()); + throw new HttpRequestException("Failed to negotiate the proxy tunnel: " + connectResponse); } } } diff --git a/src/Docker.DotNet/Models/ObjectExtensionData.cs b/src/Docker.DotNet/Models/ObjectExtensionData.cs index 200e9c742..2dd6a8f30 100644 --- a/src/Docker.DotNet/Models/ObjectExtensionData.cs +++ b/src/Docker.DotNet/Models/ObjectExtensionData.cs @@ -1,12 +1,11 @@ using System.Collections.Generic; -using System.Runtime.Serialization; using Newtonsoft.Json; namespace Docker.DotNet.Models { public class ObjectExtensionData { - [JsonExtensionDataAttribute] + [JsonExtensionData] public IDictionary ExtensionData { get; set; } } } \ No newline at end of file diff --git a/src/Docker.DotNet/MultiplexedStream.cs b/src/Docker.DotNet/MultiplexedStream.cs index 7e783fb98..7dd2e205d 100644 --- a/src/Docker.DotNet/MultiplexedStream.cs +++ b/src/Docker.DotNet/MultiplexedStream.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.Net.Http.Client; diff --git a/src/Docker.DotNet/TimeSpanNanoSecondsConverter.cs b/src/Docker.DotNet/TimeSpanNanoSecondsConverter.cs index f2c5ef385..145933db8 100644 --- a/src/Docker.DotNet/TimeSpanNanoSecondsConverter.cs +++ b/src/Docker.DotNet/TimeSpanNanoSecondsConverter.cs @@ -30,9 +30,9 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist { return null; } - var miliSecondValue = valueInNanoSeconds.Value / MiliSecondToNanoSecond; + var milliSecondValue = valueInNanoSeconds.Value / MiliSecondToNanoSecond; - return TimeSpan.FromMilliseconds((long)miliSecondValue); + return TimeSpan.FromMilliseconds(milliSecondValue); } } } \ No newline at end of file diff --git a/src/Docker.DotNet/TimeSpanSecondsConverter.cs b/src/Docker.DotNet/TimeSpanSecondsConverter.cs index 0704ab403..839ab37aa 100644 --- a/src/Docker.DotNet/TimeSpanSecondsConverter.cs +++ b/src/Docker.DotNet/TimeSpanSecondsConverter.cs @@ -1,6 +1,5 @@ using System; using Newtonsoft.Json; -using Newtonsoft.Json.Linq; namespace Docker.DotNet { diff --git a/test/Docker.DotNet.Tests/IConfigOperationsTests.cs b/test/Docker.DotNet.Tests/IConfigOperationsTests.cs index cc9a6c65b..abb53ffd9 100644 --- a/test/Docker.DotNet.Tests/IConfigOperationsTests.cs +++ b/test/Docker.DotNet.Tests/IConfigOperationsTests.cs @@ -9,13 +9,12 @@ namespace Docker.DotNet.Tests [Collection(nameof(TestCollection))] public class IConfigOperationsTests { - private readonly DockerClientConfiguration _dockerClientConfiguration; private readonly DockerClient _dockerClient; private readonly TestOutput _output; + public IConfigOperationsTests(TestFixture testFixture, ITestOutputHelper outputHelper) { - _dockerClientConfiguration = testFixture.DockerClientConfiguration; - _dockerClient = _dockerClientConfiguration.CreateClient(); + _dockerClient = testFixture.DockerClient; _output = new TestOutput(outputHelper); } @@ -25,7 +24,7 @@ public async void SwarmConfig_CanCreateAndRead() var currentConfigs = await _dockerClient.Configs.ListConfigsAsync(); _output.WriteLine($"Current Configs: {currentConfigs.Count}"); - + var testConfigSpec = new SwarmConfigSpec { Name = $"Config-{Guid.NewGuid().ToString().Substring(1, 10)}", @@ -59,12 +58,8 @@ public async void SwarmConfig_CanCreateAndRead() _output.WriteLine($"Config created is the same."); await _dockerClient.Configs.RemoveConfigAsync(createdConfig.ID); - - await Assert.ThrowsAsync(() => _dockerClient.Configs.InspectConfigAsync(createdConfig.ID)); - - + await Assert.ThrowsAsync(() => _dockerClient.Configs.InspectConfigAsync(createdConfig.ID)); } } } - diff --git a/test/Docker.DotNet.Tests/IContainerOperationsTests.cs b/test/Docker.DotNet.Tests/IContainerOperationsTests.cs index 3da5a8763..84ec3f34f 100644 --- a/test/Docker.DotNet.Tests/IContainerOperationsTests.cs +++ b/test/Docker.DotNet.Tests/IContainerOperationsTests.cs @@ -732,7 +732,7 @@ public async Task WaitContainerAsync_TokenIsCancelled_OperationCancelledExceptio _output.WriteLine($"CreateContainerResponse: '{JsonConvert.SerializeObject(createContainerResponse)}'"); - var startContainerResult = await _dockerClient.Containers.StartContainerAsync(createContainerResponse.ID, new ContainerStartParameters(), waitContainerCts.Token); + _ = await _dockerClient.Containers.StartContainerAsync(createContainerResponse.ID, new ContainerStartParameters(), waitContainerCts.Token); _output.WriteLine("Starting timeout to cancel WaitContainer operation."); @@ -744,7 +744,7 @@ public async Task WaitContainerAsync_TokenIsCancelled_OperationCancelledExceptio // Will wait forever here if cancelation fails. var waitContainerTask = _dockerClient.Containers.WaitContainerAsync(createContainerResponse.ID, waitContainerCts.Token); - var exception = await Assert.ThrowsAsync(() => waitContainerTask); + _ = await Assert.ThrowsAsync(() => waitContainerTask); stopWatch.Stop(); diff --git a/test/Docker.DotNet.Tests/ISwarmOperationsTests.cs b/test/Docker.DotNet.Tests/ISwarmOperationsTests.cs index 196284bbb..90292a927 100644 --- a/test/Docker.DotNet.Tests/ISwarmOperationsTests.cs +++ b/test/Docker.DotNet.Tests/ISwarmOperationsTests.cs @@ -64,7 +64,7 @@ public async Task GetFilteredServicesByName_Succeeds() { Filters = new ServiceFilter { - Name = new string[] + Name = new[] { firstServiceName } @@ -74,9 +74,9 @@ public async Task GetFilteredServicesByName_Succeeds() Assert.Single(services); - await _dockerClient.Swarm.RemoveServiceAsync(firstServiceId, default); - await _dockerClient.Swarm.RemoveServiceAsync(secondServiceId, default); - await _dockerClient.Swarm.RemoveServiceAsync(thirdServiceid, default); + await _dockerClient.Swarm.RemoveServiceAsync(firstServiceId); + await _dockerClient.Swarm.RemoveServiceAsync(secondServiceId); + await _dockerClient.Swarm.RemoveServiceAsync(thirdServiceid); } [Fact] @@ -109,12 +109,12 @@ public async Task GetFilteredServicesById_Succeeds() } }).Result.ID; - var services = await _dockerClient.Swarm.ListServicesAsync(new ServicesListParameters { Filters = new ServiceFilter { Id = new string[] { firstServiceId } } }, CancellationToken.None); + var services = await _dockerClient.Swarm.ListServicesAsync(new ServicesListParameters { Filters = new ServiceFilter { Id = new[] { firstServiceId } } }, CancellationToken.None); Assert.Single(services); - await _dockerClient.Swarm.RemoveServiceAsync(firstServiceId, default); - await _dockerClient.Swarm.RemoveServiceAsync(secondServiceId, default); - await _dockerClient.Swarm.RemoveServiceAsync(thirdServiceid, default); + await _dockerClient.Swarm.RemoveServiceAsync(firstServiceId); + await _dockerClient.Swarm.RemoveServiceAsync(secondServiceId); + await _dockerClient.Swarm.RemoveServiceAsync(thirdServiceid); } [Fact] @@ -153,9 +153,9 @@ public async Task GetServices_Succeeds() Assert.True(services.Count() > initialServiceCount); - await _dockerClient.Swarm.RemoveServiceAsync(firstServiceId, default); - await _dockerClient.Swarm.RemoveServiceAsync(secondServiceId, default); - await _dockerClient.Swarm.RemoveServiceAsync(thirdServiceid, default); + await _dockerClient.Swarm.RemoveServiceAsync(firstServiceId); + await _dockerClient.Swarm.RemoveServiceAsync(secondServiceId); + await _dockerClient.Swarm.RemoveServiceAsync(thirdServiceid); } [Fact] @@ -253,7 +253,7 @@ public async Task GetServiceLogs_Succeeds() Assert.True(logLines.Any()); Assert.Contains("[INF]", logLines.First()); - await _dockerClient.Swarm.RemoveServiceAsync(serviceId, default); + await _dockerClient.Swarm.RemoveServiceAsync(serviceId); } } } diff --git a/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs b/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs index 5929021db..b2d2855a8 100644 --- a/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs +++ b/test/Docker.DotNet.Tests/ISystemOperations.Tests.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -using System.Reflection; using System.Threading; using System.Threading.Tasks; using Docker.DotNet.Models; @@ -40,7 +39,7 @@ public ISystemOperationsTests(TestFixture testFixture, ITestOutputHelper outputH [Fact] public void Docker_IsRunning() { - var dockerProcess = Process.GetProcesses().FirstOrDefault(_ => _.ProcessName.Equals("docker", StringComparison.InvariantCultureIgnoreCase) || _.ProcessName.Equals("dockerd", StringComparison.InvariantCultureIgnoreCase)); + var dockerProcess = Process.GetProcesses().FirstOrDefault(process => process.ProcessName.Equals("docker", StringComparison.InvariantCultureIgnoreCase) || process.ProcessName.Equals("dockerd", StringComparison.InvariantCultureIgnoreCase)); Assert.NotNull(dockerProcess); // docker is not running } @@ -154,8 +153,7 @@ public async Task MonitorEventsAsync_IsCancelled_NoStreamCorruption() { RepositoryName = _repositoryName, Tag = newImageTag, - }, - default); + }); // (4) Wait for a short bit again and cancel the monitor task - if we get lucky, we the list images call will grab the same buffer while sw.Restart(); diff --git a/test/Docker.DotNet.Tests/IVolumeOperationsTests.cs b/test/Docker.DotNet.Tests/IVolumeOperationsTests.cs index 0bc8633b0..4026c10b8 100644 --- a/test/Docker.DotNet.Tests/IVolumeOperationsTests.cs +++ b/test/Docker.DotNet.Tests/IVolumeOperationsTests.cs @@ -4,7 +4,6 @@ using System.Threading; using System.Threading.Tasks; using Docker.DotNet.Models; -using Newtonsoft.Json; using Xunit; using Xunit.Abstractions; @@ -17,7 +16,7 @@ public class IVolumeOperationsTests private readonly DockerClient _dockerClient; - public IVolumeOperationsTests(TestFixture testFixture, ITestOutputHelper outputHelper) + public IVolumeOperationsTests(TestFixture testFixture) { _dockerClient = testFixture.DockerClient; diff --git a/test/Docker.DotNet.Tests/QueryStringTests.cs b/test/Docker.DotNet.Tests/QueryStringTests.cs index 7e31b7aa5..62cd1ac70 100644 --- a/test/Docker.DotNet.Tests/QueryStringTests.cs +++ b/test/Docker.DotNet.Tests/QueryStringTests.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using Docker.DotNet.Models; using Xunit; @@ -10,7 +9,7 @@ public class QueryStringTests [Fact] public void ServiceListParameters_GenerateIdFilters() { - var p = new ServicesListParameters { Filters = new ServiceFilter { Id = new string[] { "service-id" } } }; + var p = new ServicesListParameters { Filters = new ServiceFilter { Id = new[] { "service-id" } } }; var qs = new QueryString(p); Assert.Equal("filters={\"id\":[\"service-id\"]}", Uri.UnescapeDataString(qs.GetQueryString())); @@ -19,7 +18,7 @@ public void ServiceListParameters_GenerateIdFilters() [Fact] public void ServiceListParameters_GenerateCompositeFilters() { - var p = new ServicesListParameters { Filters = new ServiceFilter { Id = new string[] { "service-id" }, Label = new string[] { "label" } } }; + var p = new ServicesListParameters { Filters = new ServiceFilter { Id = new[] { "service-id" }, Label = new[] { "label" } } }; var qs = new QueryString(p); Assert.Equal("filters={\"id\":[\"service-id\"],\"label\":[\"label\"]}", Uri.UnescapeDataString(qs.GetQueryString()));