Files

37 lines
1.2 KiB
C#

using System.Net;
using Jellyfin.Plugin.Multilang.Services.Providers;
namespace Jellyfin.Plugin.Multilang.Tests;
public sealed class ProviderHttpTests
{
[Theory]
[InlineData(HttpStatusCode.TooManyRequests)]
[InlineData(HttpStatusCode.RequestTimeout)]
[InlineData(HttpStatusCode.InternalServerError)]
[InlineData(HttpStatusCode.BadGateway)]
[InlineData(HttpStatusCode.ServiceUnavailable)]
[InlineData(HttpStatusCode.GatewayTimeout)]
public void ClassifyMarksRateLimitTimeoutAndServerErrorsRetryable(HttpStatusCode statusCode)
{
Assert.Equal(ProviderFailureKind.Retryable, ProviderHttp.Classify(statusCode));
}
[Theory]
[InlineData(HttpStatusCode.BadRequest)]
[InlineData(HttpStatusCode.Unauthorized)]
[InlineData(HttpStatusCode.Forbidden)]
[InlineData(HttpStatusCode.NotFound)]
[InlineData(HttpStatusCode.UnprocessableEntity)]
public void ClassifyMarksClientErrorsTerminal(HttpStatusCode statusCode)
{
Assert.Equal(ProviderFailureKind.Terminal, ProviderHttp.Classify(statusCode));
}
[Fact]
public void ClassifyMarksSuccessTerminal()
{
Assert.Equal(ProviderFailureKind.Terminal, ProviderHttp.Classify(HttpStatusCode.OK));
}
}