コード例 #1
0
        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))
                }
            }));
        }
コード例 #2
0
        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);
            }
        }