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

            BrokerRuntimeSnapshot snapshot = new FakeBrokerRuntimeSnapshot1(4, 3, 3.2M);

            var result = probe.Execute(snapshot);

            result.Status.ShouldBe(ProbeResultStatus.NA);
            result.KB.Id.ShouldBe(typeof(RuntimeProcessLimitProbe).GetIdentifier());
        }
示例#2
0
        public void Verify_probe_warning_condition()
        {
            var knowledgeBaseProvider = _provider.GetService <IKnowledgeBaseProvider>();
            var config = _provider.GetService <HareDuConfig>();
            var probe  = new RuntimeProcessLimitProbe(config.Diagnostics, knowledgeBaseProvider);

            BrokerRuntimeSnapshot snapshot = new FakeBrokerRuntimeSnapshot1(4, 3, 3.2M);

            var result = probe.Execute(snapshot);

            result.Status.ShouldBe(ProbeResultStatus.Warning);
            result.KB.Id.ShouldBe(typeof(RuntimeProcessLimitProbe).GetIdentifier());
        }
        public void Verify_probe_na()
        {
            var knowledgeBaseProvider = _services.GetService <IKnowledgeBaseProvider>();
            var probe = new RuntimeProcessLimitProbe(null, knowledgeBaseProvider);

            BrokerRuntimeSnapshot snapshot = new () { Processes = new () { Limit = 4, Used = 3, UsageRate = 3.2M } };

            var result = probe.Execute(snapshot);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(ProbeResultStatus.NA, result.Status);
                Assert.AreEqual(typeof(RuntimeProcessLimitProbe).GetIdentifier(), result.KB.Id);
            });
        }
    }
        public void Verify_probe_warning_condition()
        {
            HareDuConfig config = new () { Diagnostics = new () { Probes = new () { RuntimeProcessUsageThresholdCoefficient = 0.65M } } };
            var          knowledgeBaseProvider = _services.GetService <IKnowledgeBaseProvider>();
            var          probe = new RuntimeProcessLimitProbe(config.Diagnostics, knowledgeBaseProvider);

            BrokerRuntimeSnapshot snapshot = new () { Processes = new () { Limit = 4, Used = 3, UsageRate = 3.2M } };

            var result = probe.Execute(snapshot);

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

        [Test]