Skip to content

Commit

Permalink
fixed restart policy deserialization (#7006) (#7101)
Browse files Browse the repository at this point in the history
Cherry-pick 550dc0d.
  • Loading branch information
vipeller authored Sep 1, 2023
1 parent 978ccaa commit bd05d4d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
// Copyright (c) Microsoft. All rights reserved.
namespace Microsoft.Azure.Devices.Edge.Agent.Docker.Models
{
using System.Runtime.Serialization;

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public enum RestartPolicyKind
{
[JsonProperty("")]
[EnumMember(Value ="")]
Undefined,

[JsonProperty("no")]
[EnumMember(Value = "no")]
No,

[JsonProperty("always")]
[EnumMember(Value = "always")]
Always,

[JsonProperty("on-failure")]
[EnumMember(Value = "on-failure")]
OnFailure,

[JsonProperty("unless-stopped")]
[EnumMember(Value = "unless-stopped")]
UnlessStopped
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -232,5 +232,15 @@ public void TestGetCreateOptions(string createOptions, CreateContainerParameters
Assert.NotNull(createContainerParameters);
Assert.True(DockerConfig.CompareCreateOptions(expectedCreateOptions, createContainerParameters));
}

[Fact]
public void TestRestartPolicyDeserialization()
{
var original = "{\"HostConfig\":{\"RestartPolicy\":{\"Name\":\"unless-stopped\"}}}";
var encoded = JsonConvert.DeserializeObject<CreateContainerParameters>(original);
var decoded = JsonConvert.SerializeObject(encoded);

Assert.Equal(original, decoded);
}
}
}

0 comments on commit bd05d4d

Please sign in to comment.