Example #1
0
        public async void Get_ShallReturnAllClaraAets()
        {
            var data = new List <ClaraApplicationEntity>();

            for (int i = 1; i <= 5; i++)
            {
                data.Add(new ClaraApplicationEntity()
                {
                    AeTitle           = $"AET{i}",
                    Name              = $"AET{i}",
                    Processor         = typeof(MockJobProcessor).AssemblyQualifiedName,
                    IgnoredSopClasses = new List <string>()
                    {
                        $"{i}"
                    },
                    ProcessorSettings     = new Dictionary <string, string>(),
                    OverwriteSameInstance = (i % 2 == 0)
                });
            }

            _repository.Setup(p => p.ToListAsync()).Returns(Task.FromResult(data));

            var result = await _controller.Get();

            Assert.Equal(data.Count, result.Value.Count());
            _repository.Verify(p => p.ToListAsync(), Times.Once());
        }
Example #2
0
        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);
            }
        }