コード例 #1
0
        public void Verify_probe_na()
        {
            var knowledgeBaseProvider = _provider.GetService <IKnowledgeBaseProvider>();
            var probe = new RedeliveredMessagesProbe(null, knowledgeBaseProvider);

            QueueSnapshot snapshot = new FakeQueueSnapshot2(100, 54.4M, 90, 32.3M);

            var result = probe.Execute(snapshot);

            result.Status.ShouldBe(ProbeResultStatus.NA);
        }
コード例 #2
0
        public void Verify_probe_na()
        {
            var knowledgeBaseProvider = _services.GetService <IKnowledgeBaseProvider>();
            var probe = new RedeliveredMessagesProbe(null, knowledgeBaseProvider);

            QueueSnapshot snapshot = new () { Messages = new () { Incoming = new (){ Total = 100, Rate = 54.4M }, Redelivered = new (){ Total = 90, Rate = 32.3M } } };

            var result = probe.Execute(snapshot);

            Assert.AreEqual(ProbeResultStatus.NA, result.Status);
        }
    }
コード例 #3
0
        public void Verify_probe_healthy_condition()
        {
            var knowledgeBaseProvider = _provider.GetService <IKnowledgeBaseProvider>();
            var config = _provider.GetService <HareDuConfig>();
            var probe  = new RedeliveredMessagesProbe(config.Diagnostics, knowledgeBaseProvider);

            QueueSnapshot snapshot = new FakeQueueSnapshot2(100, 54.4M, 40, 32.3M);

            var result = probe.Execute(snapshot);

            result.Status.ShouldBe(ProbeResultStatus.Healthy);
            result.KB.Id.ShouldBe(typeof(RedeliveredMessagesProbe).GetIdentifier());
        }
コード例 #4
0
        public void Verify_probe_healthy_condition()
        {
            HareDuConfig config = new () { Diagnostics = new () { Probes = new () { MessageRedeliveryThresholdCoefficient = 0.50M } } };
            var          knowledgeBaseProvider = _services.GetService <IKnowledgeBaseProvider>();
            var          probe = new RedeliveredMessagesProbe(config.Diagnostics, knowledgeBaseProvider);

            QueueSnapshot snapshot = new () { Messages = new () { Incoming = new (){ Total = 100, Rate = 54.4M }, Redelivered = new (){ Total = 40, Rate = 32.3M } } };

            var result = probe.Execute(snapshot);

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

        [Test]