public async Task GetPodsAsyncHitsTheUri() { var httpClientSettingsMock = GetKubeHttpClientSettingsProviderForTest(); var httpClientMock = new Mock <IKubeHttpClient>(); httpClientMock.Setup(httpClient => httpClient.Settings).Returns(httpClientSettingsMock.Object); HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(new K8sEntityList <K8sPod> { Items = new List <K8sPod> { new K8sPod() { Metadata = new K8sPodMetadata() { Name = "pod1" }, Status = new K8sPodStatus() { ContainerStatuses = new List <ContainerStatus>() { new ContainerStatus() { ContainerID = "c1" } } } }, new K8sPod() { Metadata = new K8sPodMetadata() { Name = "pod2" }, Status = new K8sPodStatus() { ContainerStatuses = new List <ContainerStatus>() { new ContainerStatus() { ContainerID = "c2" } } } } } })) }; httpClientMock.Setup(httpClient => httpClient.SendAsync(It.IsAny <HttpRequestMessage>())).Returns(Task.FromResult(response)); using (K8sQueryClient target = new K8sQueryClient(httpClientMock.Object)) { await target.GetPodsAsync(); } httpClientMock.Verify(mock => mock.SendAsync(It.Is <HttpRequestMessage>(m => m.RequestUri.AbsoluteUri.Equals("https://baseaddress/api/v1/namespaces/queryNamespace/pods"))), Times.Once); }
public async Task GetPodsAsyncReturnsMultiplePods() { var httpClientSettingsMock = GetKubeHttpClientSettingsProviderForTest(); var httpClientMock = new Mock <IKubeHttpClient>(); httpClientMock.Setup(httpClient => httpClient.Settings).Returns(httpClientSettingsMock.Object); HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(new K8sEntityList <K8sPod> { Items = new List <K8sPod> { new K8sPod() { Metadata = new K8sPodMetadata() { Name = "pod1" }, Status = new K8sPodStatus() { ContainerStatuses = new List <ContainerStatus>() { new ContainerStatus() { ContainerID = "c1" } } } }, new K8sPod() { Metadata = new K8sPodMetadata() { Name = "pod2" }, Status = new K8sPodStatus() { ContainerStatuses = new List <ContainerStatus>() { new ContainerStatus() { ContainerID = "c2" } } } } } })) }; httpClientMock.Setup(httpClient => httpClient.SendAsync(It.IsAny <HttpRequestMessage>())).Returns(Task.FromResult(response)); using (K8sQueryClient target = new K8sQueryClient(httpClientMock.Object)) { IEnumerable <K8sPod> result = await target.GetPodsAsync(); Assert.NotNull(result); Assert.Equal(2, result.Count()); Assert.Contains(result, p => p.Metadata.Name.Equals("pod1")); Assert.Contains(result, p => p.Metadata.Name.Equals("pod2")); } }