public async void GetCatalogServicesAsync_ReturnsExpected() { var queryResult = new QueryResult <Dictionary <string, string[]> >() { Response = new Dictionary <string, string[]> { { "foo", new string[] { "I1", "I2" } }, { "bar", new string[] { "I1", "I2" } }, } }; var catResult = Task.FromResult(queryResult); var statusResult = Task.FromResult("thestatus"); var clientMoq = new Mock <IConsulClient>(); var catMoq = new Mock <ICatalogEndpoint>(); clientMoq.Setup(c => c.Catalog).Returns(catMoq.Object); catMoq.Setup(c => c.Services(QueryOptions.Default, default(CancellationToken))).Returns(catResult); var contrib = new ConsulHealthContributor(clientMoq.Object, new ConsulDiscoveryOptions()); var result = await contrib.GetCatalogServicesAsync(); Assert.Equal(2, result.Count); Assert.Contains("foo", result.Keys); Assert.Contains("bar", result.Keys); }
public void Health_ReturnsExpected() { var queryResult = new QueryResult <Dictionary <string, string[]> >() { Response = new Dictionary <string, string[]> { { "foo", new string[] { "I1", "I2" } }, { "bar", new string[] { "I1", "I2" } }, } }; var catResult = Task.FromResult(queryResult); var statusResult = Task.FromResult("thestatus"); var clientMoq = new Mock <IConsulClient>(); var catMoq = new Mock <ICatalogEndpoint>(); var statusMoq = new Mock <IStatusEndpoint>(); clientMoq.Setup(c => c.Status).Returns(statusMoq.Object); clientMoq.Setup(c => c.Catalog).Returns(catMoq.Object); statusMoq.Setup(s => s.Leader(default(CancellationToken))).Returns(statusResult); catMoq.Setup(c => c.Services(QueryOptions.Default, default(CancellationToken))).Returns(catResult); var contrib = new ConsulHealthContributor(clientMoq.Object, new ConsulDiscoveryOptions()); var result = contrib.Health(); Assert.Equal(HealthStatus.UP, result.Status); Assert.Equal(2, result.Details.Count); Assert.Contains("leader", result.Details.Keys); Assert.Contains("services", result.Details.Keys); }
public async void GetLeaderStatusAsync_ReturnsExpected() { var statusResult = Task.FromResult("thestatus"); var clientMoq = new Mock <IConsulClient>(); var statusMoq = new Mock <IStatusEndpoint>(); clientMoq.Setup(c => c.Status).Returns(statusMoq.Object); statusMoq.Setup(s => s.Leader(default(CancellationToken))).Returns(statusResult); var contrib = new ConsulHealthContributor(clientMoq.Object, new ConsulDiscoveryOptions()); var result = await contrib.GetLeaderStatusAsync(); Assert.Equal("thestatus", result); }