private void SetupDestination(params string[] names) { var destCrdList = new DestinationApplicationEntityCustomResourceList(); destCrdList.Items = new List <DestinationApplicationEntityCustomResource>(); foreach (var name in names) { destCrdList.Items.Add(new DestinationApplicationEntityCustomResource { Spec = new DestinationApplicationEntity { Name = name, AeTitle = name, HostIp = "hostname", Port = 123 }, Metadata = new V1ObjectMeta { Name = name } }); } _dicomAdapterFixture.KubernetesClient .Setup(p => p.ListNamespacedCustomObjectWithHttpMessagesAsync(It.Is <CustomResourceDefinition>(p => p.Kind == "Destination"))) .Returns(Task.FromResult(new HttpOperationResponse <object> { Body = new object(), Response = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(destCrdList)) } })); }
public async void Get_ShallReturnAvailableCrds() { var claraAeTitles = new DestinationApplicationEntityCustomResourceList { Items = new List <DestinationApplicationEntityCustomResource> { new DestinationApplicationEntityCustomResource { Spec = new DestinationApplicationEntity { Name = "AETITLE", AeTitle = "AETITLE", HostIp = "localhost", Port = 104 }, Status = new AeTitleStatus { Enabled = true }, Metadata = new V1ObjectMeta { ResourceVersion = "1", Name = "AETITLE" } } } }; _kubernetesClient.Setup(p => p.ListNamespacedCustomObjectWithHttpMessagesAsync(CustomResourceDefinition.DestinationAeTitleCrd)) .Returns(Task.FromResult(new HttpOperationResponse <object> { Body = new object(), Response = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(claraAeTitles)) } })); var result = await _controller.Get(); _kubernetesClient.Verify(p => p.ListNamespacedCustomObjectWithHttpMessagesAsync(CustomResourceDefinition.DestinationAeTitleCrd), Times.Once()); var data = JsonConvert.DeserializeObject <DestinationApplicationEntityCustomResourceList>((result.Result as ContentResult).Content); Assert.Equal(1, data.Items.Count); foreach (var item in claraAeTitles.Items) { var actualItem = data.Items.FirstOrDefault(p => p.Spec.AeTitle.Equals(item.Spec.AeTitle)); Assert.NotNull(actualItem); Assert.Equal(item.Spec.AeTitle, actualItem.Spec.AeTitle); Assert.Equal(item.Spec.HostIp, actualItem.Spec.HostIp); } }