public EndpointMonitorTests()
        {
            _mockTimeCoordinator = new Mock <ITimeCoordinator>();
            _mockTimeCoordinator.Setup(c => c.Delay(It.IsAny <TimeSpan>(), It.IsAny <CancellationToken>())).Returns(async() => await Task.Yield());

            _mockHealthMonitor.Setup(cfg => cfg.Name).Returns("test");
            _endpointRegistry = new MonitorableEndpointRegistry(new HealthMonitorRegistry(new[] { _mockHealthMonitor.Object }));
        }
        public EndpointMonitorTests()
        {
            _mockTimeCoordinator = new Mock <ITimeCoordinator>();

            _mockHealthMonitor.Setup(cfg => cfg.Name).Returns(MonitorType);
            _endpointRegistry = new MonitorableEndpointRegistry(new HealthMonitorRegistry(new[] { _mockHealthMonitor.Object }));

            _mockExecutor = new Mock <IContinuousTaskExecutor <MonitorableEndpoint> >();
        }
Beispiel #3
0
        public EndpointMonitor(MonitorableEndpointRegistry monitorableEndpointRegistry, IHealthSampler sampler, IMonitorSettings settings, ITimeCoordinator timeCoordinator)
        {
            _monitorableEndpointRegistry = monitorableEndpointRegistry;
            _sampler         = sampler;
            _settings        = settings;
            _timeCoordinator = timeCoordinator;
            _monitorableEndpointRegistry.NewEndpointAdded += HandleNewEndpoint;
            _cancellation = new CancellationTokenSource();

            foreach (var endpoint in _monitorableEndpointRegistry.Endpoints)
            {
                _tasks.AddOrUpdate(endpoint, CreateTaskFor, (e, currentTask) => currentTask);
            }

            _monitor = new Thread(Start)
            {
                Name = "Monitor"
            };
            _monitor.Start();
        }