private void SetupSource(params string[] names) { var sourceCrdList = new SourceApplicationEntityCustomResourceList(); sourceCrdList.Items = new List <SourceApplicationEntityCustomResource>(); foreach (var name in names) { sourceCrdList.Items.Add(new SourceApplicationEntityCustomResource { Spec = new SourceApplicationEntity { AeTitle = name, HostIp = "hostname" }, Metadata = new V1ObjectMeta { Name = name } }); } _dicomAdapterFixture.KubernetesClient .Setup(p => p.ListNamespacedCustomObjectWithHttpMessagesAsync(It.Is <CustomResourceDefinition>(p => p.Kind == "Source"))) .Returns(Task.FromResult(new HttpOperationResponse <object> { Body = new object(), Response = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(sourceCrdList)) } })); }
public async void Get_ShallReturnAvailableCrds() { var claraAeTitles = new SourceApplicationEntityCustomResourceList { Items = new List <SourceApplicationEntityCustomResource> { new SourceApplicationEntityCustomResource { Spec = new SourceApplicationEntity { AeTitle = "AETITLE", HostIp = "localhost" }, Status = new AeTitleStatus { Enabled = true }, Metadata = new V1ObjectMeta { ResourceVersion = "1", Name = "AETITLE" } } } }; _kubernetesClient.Setup(p => p.ListNamespacedCustomObjectWithHttpMessagesAsync(CustomResourceDefinition.SourceAeTitleCrd)) .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.SourceAeTitleCrd), Times.Once()); var data = JsonConvert.DeserializeObject <SourceApplicationEntityCustomResourceList>((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); } }