Add TimeSettings (Start, End and TTL) (#661)

* time

* .

* UT

* using JetBrains.Annotations;
This commit is contained in:
Stef Heyenrath
2021-10-27 18:57:13 +02:00
committed by GitHub
parent a0e661fae9
commit e9db520cc3
20 changed files with 253 additions and 46 deletions

View File

@@ -0,0 +1,35 @@
using System;
using JetBrains.Annotations;
using WireMock.Models;
namespace WireMock.Extensions
{
internal static class TimeSettingsExtensions
{
public static bool IsValid([CanBeNull] this ITimeSettings settings)
{
if (settings == null)
{
return true;
}
var now = DateTime.Now;
var start = settings.Start != null ? settings.Start.Value : now;
DateTime end;
if (settings.End != null)
{
end = settings.End.Value;
}
else if (settings.TTL != null)
{
end = start.AddSeconds(settings.TTL.Value);
}
else
{
end = DateTime.MaxValue;
}
return now >= start && now <= end;
}
}
}