Backend/e-suite.Service.Sentinel/Sentinel.UnitTests/SentinelMaintenance/ClearOldSentinelDataUnitTests.cs
2026-01-20 21:50:10 +00:00

53 lines
1.5 KiB
C#

using e_suite.Database.Core.Tables.Sentinel;
using NUnit.Framework;
using Sentinel.UnitTests.Helpers;
namespace Sentinel.UnitTests.SentinelMaintenance;
[TestFixture]
public class ClearOldSentinelDataUnitTests : SentinelTestBase
{
[SetUp]
public override async Task Setup()
{
await base.Setup();
}
[Test]
public void ClearOldSentinelData_WhenCalled_DeletesOldData()
{
//Arrange
_fakeClock.DateTime = new DateTimeOffset(2022, 9, 23, 12, 06, 45, TimeSpan.Zero);
SentinelRepository.FailedAccessAttempts.Add( new FailedAccessAttempt
{
AttemptedTime = _fakeClock.DateTime.AddMinutes(-120),
IPAddress = "127.0.0.1"
});
//Act
SentinelMaintenance.ClearOldSentinelData();
//Assert
Assert.That(SentinelRepository.FailedAccessAttempts.Count, Is.EqualTo(0));
}
[Test]
public void ClearOldSentinelData_WhenCalled_DoesNotAlterCurrentData()
{
//Arrange
_fakeClock.DateTime = new DateTimeOffset(2022, 9, 23, 12, 06, 45, TimeSpan.Zero);
SentinelRepository.FailedAccessAttempts.Add(new FailedAccessAttempt
{
AttemptedTime = _fakeClock.DateTime.AddMinutes(-15),
IPAddress = "127.0.0.1"
});
//Act
SentinelMaintenance.ClearOldSentinelData();
//Assert
Assert.That(SentinelRepository.FailedAccessAttempts.Count, Is.EqualTo(1));
}
}