Files
Ludarium-Public/tests/Ludarium.E2E/RateLimitPolicyTests.cs
T
Ludarium release export df869819ce
Public source validation / source (push) Successful in 2m16s
Publish Ludarium source
2026-09-03 02:08:58 +02:00

21 lines
805 B
C#

using Ludarium.Api;
namespace Ludarium.E2E;
public sealed class RateLimitPolicyTests
{
[Theory]
[InlineData("GET", "/api/v1/games", "read", 1200)]
[InlineData("POST", "/api/v1/games", "mutation", 120)]
[InlineData("POST", "/api/v1/games/artwork/enrich", "expensive", 12)]
[InlineData("POST", "/api/v1/games/metadata/enrich", "expensive", 12)]
[InlineData("GET", "/api/v1/exports/inventory", "expensive", 12)]
public void UsesSeparateStableBudgets(string method, string path, string expectedPartition, int expectedLimit)
{
var profile = ApiRateLimits.For(method, new(path));
Assert.Equal(expectedPartition, profile.Partition);
Assert.Equal(expectedLimit, profile.PermitLimit);
Assert.Equal(TimeSpan.FromMinutes(1), profile.Window);
}
}