|
|
@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
using System.Net;
|
|
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
using Microsoft.AspNetCore.Mvc.Testing;
|
|
|
|
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Jellyfin.Server.Integration.Tests.Middleware
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public sealed class RobotsRedirectionMiddlewareTests : IClassFixture<JellyfinApplicationFactory>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
private readonly JellyfinApplicationFactory _factory;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public RobotsRedirectionMiddlewareTests(JellyfinApplicationFactory factory)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_factory = factory;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
|
|
|
public async Task RobotsDotTxtRedirects()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var client = _factory.CreateClient(
|
|
|
|
|
|
|
|
new WebApplicationFactoryClientOptions()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
AllowAutoRedirect = false
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var response = await client.GetAsync("robots.txt").ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Equal(HttpStatusCode.Redirect, response.StatusCode);
|
|
|
|
|
|
|
|
Assert.Equal("web/robots.txt", response.Headers.Location?.ToString());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|