refactor(health): move ISiteHealthCollector to Commons; Communication drops HealthMonitoring reference (ScadaBridge#87)
Interface now lives in Commons.Interfaces.Services; AuditLog no longer gets it transitively through Communication. Implementation stays in HealthMonitoring. Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using ZB.MOM.WW.ScadaBridge.AuditLog.Payload;
|
using ZB.MOM.WW.ScadaBridge.AuditLog.Payload;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
|
||||||
|
|
||||||
namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
|
|
||||||
namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ using Microsoft.Extensions.Hosting;
|
|||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
|
||||||
|
|
||||||
namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@ using ZB.MOM.WW.ScadaBridge.Commons.Messages.Health;
|
|||||||
using ZB.MOM.WW.ScadaBridge.Commons.Types;
|
using ZB.MOM.WW.ScadaBridge.Commons.Types;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
|
using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
|
||||||
|
|
||||||
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
namespace ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interface for site-side health metric collection.
|
/// Interface for site-side health metric collection.
|
||||||
@@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="../ZB.MOM.WW.ScadaBridge.Commons/ZB.MOM.WW.ScadaBridge.Commons.csproj" />
|
<ProjectReference Include="../ZB.MOM.WW.ScadaBridge.Commons/ZB.MOM.WW.ScadaBridge.Commons.csproj" />
|
||||||
<ProjectReference Include="../ZB.MOM.WW.ScadaBridge.HealthMonitoring/ZB.MOM.WW.ScadaBridge.HealthMonitoring.csproj" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- gRPC proto generation. The compiled C# is checked in — under SiteStreamGrpc/
|
<!-- gRPC proto generation. The compiled C# is checked in — under SiteStreamGrpc/
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.Event;
|
using Akka.Event;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Protocol;
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Protocol;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.Event;
|
using Akka.Event;
|
||||||
using Microsoft.Extensions.Logging.Abstractions;
|
using Microsoft.Extensions.Logging.Abstractions;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Messages.Health;
|
using ZB.MOM.WW.ScadaBridge.Commons.Messages.Health;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Types;
|
using ZB.MOM.WW.ScadaBridge.Commons.Types;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.Cluster;
|
using Akka.Cluster;
|
||||||
using Akka.Cluster.Tools.Singleton;
|
using Akka.Cluster.Tools.Singleton;
|
||||||
@@ -123,7 +124,7 @@ public class AkkaHostedService : IHostedService
|
|||||||
// Register the dead letter monitor actor
|
// Register the dead letter monitor actor
|
||||||
var loggerFactory = _serviceProvider.GetRequiredService<ILoggerFactory>();
|
var loggerFactory = _serviceProvider.GetRequiredService<ILoggerFactory>();
|
||||||
var dlmLogger = loggerFactory.CreateLogger<DeadLetterMonitorActor>();
|
var dlmLogger = loggerFactory.CreateLogger<DeadLetterMonitorActor>();
|
||||||
var dlmHealthCollector = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.HealthMonitoring.ISiteHealthCollector>();
|
var dlmHealthCollector = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services.ISiteHealthCollector>();
|
||||||
actorSystem.ActorOf(
|
actorSystem.ActorOf(
|
||||||
Props.Create(() => new DeadLetterMonitorActor(dlmLogger, dlmHealthCollector)),
|
Props.Create(() => new DeadLetterMonitorActor(dlmLogger, dlmHealthCollector)),
|
||||||
"dead-letter-monitor");
|
"dead-letter-monitor");
|
||||||
@@ -431,7 +432,7 @@ akka {{
|
|||||||
{
|
{
|
||||||
// Feed this central node's hostname into the local health collector so
|
// Feed this central node's hostname into the local health collector so
|
||||||
// the CentralHealthReportLoop's report identifies the active node.
|
// the CentralHealthReportLoop's report identifies the active node.
|
||||||
var centralHealthCollector = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.HealthMonitoring.ISiteHealthCollector>();
|
var centralHealthCollector = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services.ISiteHealthCollector>();
|
||||||
centralHealthCollector?.SetNodeHostname(_nodeOptions.NodeHostname);
|
centralHealthCollector?.SetNodeHostname(_nodeOptions.NodeHostname);
|
||||||
|
|
||||||
// Central→site command transport: gRPC SiteCommandService. This is the ONLY transport since
|
// Central→site command transport: gRPC SiteCommandService. This is the ONLY transport since
|
||||||
@@ -771,7 +772,7 @@ akka {{
|
|||||||
IActorRef? dclManager = null;
|
IActorRef? dclManager = null;
|
||||||
if (dclFactory != null)
|
if (dclFactory != null)
|
||||||
{
|
{
|
||||||
var healthCollector = _serviceProvider.GetRequiredService<ZB.MOM.WW.ScadaBridge.HealthMonitoring.ISiteHealthCollector>();
|
var healthCollector = _serviceProvider.GetRequiredService<ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services.ISiteHealthCollector>();
|
||||||
var siteEventLogger = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.SiteEventLogging.ISiteEventLogger>();
|
var siteEventLogger = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.SiteEventLogging.ISiteEventLogger>();
|
||||||
// The verify-endpoint probe builds an OPC UA ApplicationConfiguration directly,
|
// The verify-endpoint probe builds an OPC UA ApplicationConfiguration directly,
|
||||||
// so the manager needs the same deployment-wide OpcUaGlobalOptions the
|
// so the manager needs the same deployment-wide OpcUaGlobalOptions the
|
||||||
@@ -802,7 +803,7 @@ akka {{
|
|||||||
ZB.MOM.WW.ScadaBridge.SiteRuntime.Actors.CertStoreActor.WellKnownName);
|
ZB.MOM.WW.ScadaBridge.SiteRuntime.Actors.CertStoreActor.WellKnownName);
|
||||||
|
|
||||||
// Resolve the health collector for the Deployment Manager
|
// Resolve the health collector for the Deployment Manager
|
||||||
var siteHealthCollector = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.HealthMonitoring.ISiteHealthCollector>();
|
var siteHealthCollector = _serviceProvider.GetService<ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services.ISiteHealthCollector>();
|
||||||
siteHealthCollector?.SetNodeHostname(_nodeOptions.NodeHostname);
|
siteHealthCollector?.SetNodeHostname(_nodeOptions.NodeHostname);
|
||||||
|
|
||||||
// Notify-and-fetch: the deployment config fetcher pulls a deployment's flattened
|
// Notify-and-fetch: the deployment config fetcher pulls a deployment's flattened
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.Event;
|
using Akka.Event;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Microsoft.CodeAnalysis.Scripting;
|
using Microsoft.CodeAnalysis.Scripting;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.Cluster;
|
using Akka.Cluster;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Microsoft.CodeAnalysis.Scripting;
|
using Microsoft.CodeAnalysis.Scripting;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Microsoft.CodeAnalysis.Scripting;
|
using Microsoft.CodeAnalysis.Scripting;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Messages.Health;
|
using ZB.MOM.WW.ScadaBridge.Commons.Messages.Health;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
@@ -102,14 +103,14 @@ public static class ServiceCollectionExtensions
|
|||||||
// Registered via factory-lambda so ISiteHealthCollector (registered by the
|
// Registered via factory-lambda so ISiteHealthCollector (registered by the
|
||||||
// Host's AddSiteHealthMonitoring) is resolved lazily at host start.
|
// Host's AddSiteHealthMonitoring) is resolved lazily at host start.
|
||||||
services.AddHostedService(sp => new ScriptSchedulerStatsReporter(
|
services.AddHostedService(sp => new ScriptSchedulerStatsReporter(
|
||||||
sp.GetRequiredService<HealthMonitoring.ISiteHealthCollector>(),
|
sp.GetRequiredService<Commons.Interfaces.Services.ISiteHealthCollector>(),
|
||||||
sp.GetRequiredService<IOptions<SiteRuntimeOptions>>().Value,
|
sp.GetRequiredService<IOptions<SiteRuntimeOptions>>().Value,
|
||||||
sp.GetRequiredService<ILogger<ScriptSchedulerStatsReporter>>()));
|
sp.GetRequiredService<ILogger<ScriptSchedulerStatsReporter>>()));
|
||||||
|
|
||||||
// Periodically lift SiteStreamManager's alarm-publish-queue drop count
|
// Periodically lift SiteStreamManager's alarm-publish-queue drop count
|
||||||
// onto the site health report.
|
// onto the site health report.
|
||||||
services.AddHostedService(sp => new Streaming.SiteStreamAlarmDropReporter(
|
services.AddHostedService(sp => new Streaming.SiteStreamAlarmDropReporter(
|
||||||
sp.GetRequiredService<HealthMonitoring.ISiteHealthCollector>(),
|
sp.GetRequiredService<Commons.Interfaces.Services.ISiteHealthCollector>(),
|
||||||
sp.GetRequiredService<SiteStreamManager>(),
|
sp.GetRequiredService<SiteStreamManager>(),
|
||||||
sp.GetRequiredService<ILogger<Streaming.SiteStreamAlarmDropReporter>>()));
|
sp.GetRequiredService<ILogger<Streaming.SiteStreamAlarmDropReporter>>()));
|
||||||
|
|
||||||
@@ -143,7 +144,7 @@ public static class ServiceCollectionExtensions
|
|||||||
// Forward every node's replicated secret_mirror_status row onto the
|
// Forward every node's replicated secret_mirror_status row onto the
|
||||||
// site health report, so the ACTIVE node's report carries the STANDBY's mirror failures.
|
// site health report, so the ACTIVE node's report carries the STANDBY's mirror failures.
|
||||||
services.AddHostedService(sp => new SecretMirrorStatusReporter(
|
services.AddHostedService(sp => new SecretMirrorStatusReporter(
|
||||||
sp.GetRequiredService<HealthMonitoring.ISiteHealthCollector>(),
|
sp.GetRequiredService<Commons.Interfaces.Services.ISiteHealthCollector>(),
|
||||||
sp.GetRequiredService<SiteStorageService>(),
|
sp.GetRequiredService<SiteStorageService>(),
|
||||||
sp.GetRequiredService<ILogger<SecretMirrorStatusReporter>>(),
|
sp.GetRequiredService<ILogger<SecretMirrorStatusReporter>>(),
|
||||||
staleAfter: sp.GetRequiredService<IOptions<SiteRuntimeOptions>>().Value.SecretMirrorStatusStaleAfter,
|
staleAfter: sp.GetRequiredService<IOptions<SiteRuntimeOptions>>().Value.SecretMirrorStatusStaleAfter,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
namespace ZB.MOM.WW.ScadaBridge.SiteRuntime;
|
namespace ZB.MOM.WW.ScadaBridge.SiteRuntime;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
using ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
using ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
using ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
using ZB.MOM.WW.ScadaBridge.AuditLog.Site;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using NSubstitute;
|
using NSubstitute;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Types;
|
using ZB.MOM.WW.ScadaBridge.Commons.Types;
|
||||||
|
|
||||||
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring.Tests;
|
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring.Tests;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Logging.Abstractions;
|
using Microsoft.Extensions.Logging.Abstractions;
|
||||||
|
|
||||||
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring.Tests;
|
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring.Tests;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring.Tests;
|
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring.Tests;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit;
|
using Akka.TestKit;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using Microsoft.Extensions.Logging.Abstractions;
|
using Microsoft.Extensions.Logging.Abstractions;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using Microsoft.Extensions.Logging.Abstractions;
|
using Microsoft.Extensions.Logging.Abstractions;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using Akka.Actor;
|
using Akka.Actor;
|
||||||
using Akka.Event;
|
using Akka.Event;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Microsoft.Extensions.Logging.Abstractions;
|
using Microsoft.Extensions.Logging.Abstractions;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
||||||
using ZB.MOM.WW.ScadaBridge.SiteRuntime.Scripts;
|
using ZB.MOM.WW.ScadaBridge.SiteRuntime.Scripts;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using Akka.TestKit.Xunit2;
|
using Akka.TestKit.Xunit2;
|
||||||
using Microsoft.Extensions.Logging.Abstractions;
|
using Microsoft.Extensions.Logging.Abstractions;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
||||||
using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
|
using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
|
||||||
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
using ZB.MOM.WW.ScadaBridge.HealthMonitoring;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user