private void SetupLocalAe(params string[] names) { var claraCrdList = new ClaraApplicationEntityCustomResourceList(); claraCrdList.Items = new List <ClaraApplicationEntityCustomResource>(); foreach (var name in names) { var aet = new ClaraApplicationEntityCustomResource { Spec = new ClaraApplicationEntity { AeTitle = name, Name = name, ProcessorSettings = new Dictionary <string, string>() { { "pipeline-test", "123" } } }, Metadata = new V1ObjectMeta { Name = name } }; claraCrdList.Items.Add(aet); } _dicomAdapterFixture.KubernetesClient .Setup(p => p.ListNamespacedCustomObjectWithHttpMessagesAsync(It.Is <CustomResourceDefinition>(p => p.Kind == "ClaraAeTitle"))) .Returns(Task.FromResult(new HttpOperationResponse <object> { Body = new object(), Response = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(claraCrdList)) } })); }
public async void Get_ShallReturnAvailableCrds() { var claraAeTitles = new ClaraApplicationEntityCustomResourceList { Items = new List <ClaraApplicationEntityCustomResource> { // use default values new ClaraApplicationEntityCustomResource { Spec = new ClaraApplicationEntity { Name = "ClaraSCP" }, Status = new AeTitleStatus { Enabled = true }, Metadata = new V1ObjectMeta { ResourceVersion = "1", Name = "ClaraSCP" } }, // use custom values new ClaraApplicationEntityCustomResource { Spec = new ClaraApplicationEntity { Name = "localAet", AeTitle = "MySCP", OverwriteSameInstance = true, IgnoredSopClasses = new List <string>() { "1.2.3.4.5.6" }, Processor = "test" }, Status = new AeTitleStatus { Enabled = true }, Metadata = new V1ObjectMeta { ResourceVersion = "1", Name = "localAet" } } } }; _kubernetesClient.Setup(p => p.ListNamespacedCustomObjectWithHttpMessagesAsync(CustomResourceDefinition.ClaraAeTitleCrd)) .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.ClaraAeTitleCrd), Times.Once()); var data = JsonConvert.DeserializeObject <ClaraApplicationEntityCustomResourceList>((result.Result as ContentResult).Content); Assert.Equal(2, data.Items.Count); foreach (var item in claraAeTitles.Items) { var actualItem = data.Items.FirstOrDefault(p => p.Spec.Name.Equals(item.Spec.Name)); Assert.NotNull(actualItem); Assert.Equal(item.Spec.AeTitle, actualItem.Spec.AeTitle); Assert.Equal(item.Spec.OverwriteSameInstance, actualItem.Spec.OverwriteSameInstance); Assert.Equal(item.Spec.IgnoredSopClasses, actualItem.Spec.IgnoredSopClasses); Assert.Equal(item.Spec.Processor, actualItem.Spec.Processor); } }