public void Verify_probe_healthy_condition()
        {
            var knowledgeBaseProvider = _provider.GetService <IKnowledgeBaseProvider>();
            var probe = new ChannelLimitReachedProbe(knowledgeBaseProvider);

            ConnectionSnapshot snapshot = new FakeConnectionSnapshot1(2, 3);

            var result = probe.Execute(snapshot);

            result.Status.ShouldBe(ProbeResultStatus.Healthy);
            result.KB.Id.ShouldBe(typeof(ChannelLimitReachedProbe).GetIdentifier());
        }
Example #2
0
        public void Verify_probe_unhealthy_condition_2()
        {
            var knowledgeBaseProvider = _services.GetService <IKnowledgeBaseProvider>();
            var probe = new ChannelLimitReachedProbe(knowledgeBaseProvider);

            ConnectionSnapshot snapshot = new ()
            {
                Identifier        = "Connection1",
                OpenChannelsLimit = 3,
                Channels          = new List <ChannelSnapshot>
                {
                    new()
                    {
                        PrefetchCount = 4,
                        UncommittedAcknowledgements = 2,
                        UncommittedMessages         = 5,
                        UnconfirmedMessages         = 8,
                        UnacknowledgedMessages      = 6,
                        Consumers  = 1,
                        Identifier = "Channel0"
                    },
                    new()
                    {
                        PrefetchCount = 4,
                        UncommittedAcknowledgements = 2,
                        UncommittedMessages         = 5,
                        UnconfirmedMessages         = 8,
                        UnacknowledgedMessages      = 6,
                        Consumers  = 1,
                        Identifier = "Channel1"
                    },
                    new()
                    {
                        PrefetchCount = 4,
                        UncommittedAcknowledgements = 2,
                        UncommittedMessages         = 5,
                        UnconfirmedMessages         = 8,
                        UnacknowledgedMessages      = 6,
                        Consumers  = 1,
                        Identifier = "Channel2"
                    }
                }
            };

            var result = probe.Execute(snapshot);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(ProbeResultStatus.Unhealthy, result.Status);
                Assert.AreEqual(typeof(ChannelLimitReachedProbe).GetIdentifier(), result.KB.Id);
            });
        }