public void Verify_empty_result_returned_when_snapshot_null() { BrokerConnectivitySnapshot snapshot = null; var result = new BrokerConnectivityScanner(_probes) .Scan(snapshot); Assert.IsEmpty(result); }
public void Verify_probe_na() { var knowledgeBaseProvider = _services.GetService <IKnowledgeBaseProvider>(); var probe = new HighConnectionCreationRateProbe(null, knowledgeBaseProvider); BrokerConnectivitySnapshot snapshot = GetSnapshot(99, 100); var result = probe.Execute(snapshot); Assert.AreEqual(ProbeResultStatus.NA, result.Status); }
public ProbeResult Execute <T>(T snapshot) { ProbeResult result; BrokerConnectivitySnapshot data = snapshot as BrokerConnectivitySnapshot; if (_config.IsNull() || _config.Probes.IsNull()) { _kb.TryGet(Metadata.Id, ProbeResultStatus.NA, out var article); result = new NotApplicableProbeResult(null, null, Metadata.Id, Metadata.Name, ComponentType, article); NotifyObservers(result); return(result); } var probeData = new List <ProbeData> { new ProbeDataImpl("ConnectionsCreated.Rate", data.ConnectionsCreated.Rate.ToString()), new ProbeDataImpl("HighConnectionCreationRateThreshold", _config.Probes.HighConnectionCreationRateThreshold.ToString()) }; if (data.ConnectionsCreated.Rate >= _config.Probes.HighConnectionCreationRateThreshold) { _kb.TryGet(Metadata.Id, ProbeResultStatus.Warning, out var article); result = new WarningProbeResult(null, null, Metadata.Id, Metadata.Name, ComponentType, probeData, article); } else { _kb.TryGet(Metadata.Id, ProbeResultStatus.Healthy, out var article); result = new HealthyProbeResult(null, null, Metadata.Id, Metadata.Name, ComponentType, probeData, article); } NotifyObservers(result); return(result); }
public void Verify_probe_healthy_condition() { HareDuConfig config = new () { Diagnostics = new () { Probes = new () { HighConnectionCreationRateThreshold = 100 } } }; var knowledgeBaseProvider = _services.GetService <IKnowledgeBaseProvider>(); var probe = new HighConnectionCreationRateProbe(config.Diagnostics, knowledgeBaseProvider); BrokerConnectivitySnapshot snapshot = GetSnapshot(99, 100); var result = probe.Execute(snapshot); Assert.Multiple(() => { Assert.AreEqual(ProbeResultStatus.Healthy, result.Status); Assert.AreEqual(typeof(HighConnectionCreationRateProbe).GetIdentifier(), result.KB.Id); }); }