diff --git a/Consul.Test/AgentTest.cs b/Consul.Test/AgentTest.cs index 66530f24f..592b5b823 100644 --- a/Consul.Test/AgentTest.cs +++ b/Consul.Test/AgentTest.cs @@ -602,5 +602,36 @@ public async Task Agent_ReRegister_ReplaceExistingChecks(bool replaceExistingChe await _client.Agent.ServiceDeregister(svcID); } + + [Fact] + public async Task Agent_Register_UseCustomCheckId() + { + var svcID = KVTest.GenerateTestKeyName(); + var check1Id = svcID + "_checkId"; + var check1Name = svcID + "_checkName"; + var registration1 = new AgentServiceRegistration + { + Name = svcID, + Port = 8000, + Checks = new[] + { + new AgentServiceCheck + { + Name = check1Name, + CheckID = check1Id, + TTL = TimeSpan.FromSeconds(15), + }, + } + }; + + await _client.Agent.ServiceRegister(registration1); + + var checks = await _client.Agent.Checks(); + Assert.Contains(check1Id, checks.Response.Keys); + + var check = checks.Response[check1Id]; + Assert.Equal(check.Name, check1Name); + Assert.Equal(check.CheckID, check1Id); + } } } diff --git a/Consul/Agent.cs b/Consul/Agent.cs index f811e22bc..f9f316177 100644 --- a/Consul/Agent.cs +++ b/Consul/Agent.cs @@ -214,10 +214,14 @@ public class AgentCheckRegistration : AgentServiceCheck /// public class AgentServiceCheck { - + // See https://github.com/G-Research/consuldotnet/issues/184 + [Obsolete("Use CheckId instead")] [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public string ID { get; set; } + [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] + public string CheckID { get; set; } + [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public string Name { get; set; }