From 57add9dac0a0188ddf90bc596b7983664e4c45da Mon Sep 17 00:00:00 2001 From: Artem Derevnjuk Date: Tue, 13 Dec 2022 14:04:18 +0400 Subject: [PATCH] fix(repeater): specify a default ping interval to 10s (#116) closes #115 --- src/SecTester.Repeater/Repeater.cs | 2 ++ test/SecTester.Repeater.Tests/RepeaterTests.cs | 1 + 2 files changed, 3 insertions(+) diff --git a/src/SecTester.Repeater/Repeater.cs b/src/SecTester.Repeater/Repeater.cs index 734b485..2a8aed5 100644 --- a/src/SecTester.Repeater/Repeater.cs +++ b/src/SecTester.Repeater/Repeater.cs @@ -12,6 +12,7 @@ namespace SecTester.Repeater; public class Repeater : IRepeater { + private static readonly TimeSpan DefaultPingInterval = TimeSpan.FromSeconds(10); private readonly EventBus _eventBus; private readonly TimerProvider _heartbeat; private readonly ILogger _logger; @@ -72,6 +73,7 @@ private void SubscribeToEvents() private async Task SchedulePing() { await SendStatus(RepeaterStatus.Connected).ConfigureAwait(false); + _heartbeat.Interval = DefaultPingInterval.TotalMilliseconds; _heartbeat.Elapsed += async (_, _) => await SendStatus(RepeaterStatus.Connected).ConfigureAwait(false); _heartbeat.Start(); } diff --git a/test/SecTester.Repeater.Tests/RepeaterTests.cs b/test/SecTester.Repeater.Tests/RepeaterTests.cs index 407ab0b..e9e2090 100644 --- a/test/SecTester.Repeater.Tests/RepeaterTests.cs +++ b/test/SecTester.Repeater.Tests/RepeaterTests.cs @@ -107,6 +107,7 @@ public async Task Start_SendsPingPeriodically() await _sut.Start(); // assert + _timerProvider.Interval.Should().BeGreaterOrEqualTo(10_000); _timerProvider.Elapsed += Raise.Event(new object(), elapsedEventArgs); await _eventBus.Received(2).Publish(Arg.Is(x => x.Status == RepeaterStatus.Connected && x.RepeaterId == Id)); }