Radarr/src/NzbDrone.Common.Test/Http/HttpRequestBuilderFixture.cs

41 lines
1.2 KiB
C#
Raw Normal View History

using System;
using FluentAssertions;
2014-09-11 23:49:41 +00:00
using NUnit.Framework;
using NzbDrone.Common.Http;
using NzbDrone.Test.Common;
namespace NzbDrone.Common.Test.Http
{
[TestFixture]
public class HttpRequestBuilderFixture : TestBase
{
[TestCase("http://host/{seg}/some", "http://host/dir/some")]
[TestCase("http://host/some/{seg}", "http://host/some/dir")]
public void should_add_single_segment_url_segments(string url, string result)
{
var requestBuilder = new HttpRequestBuilder(url);
requestBuilder.SetSegment("seg", "dir");
requestBuilder.Build().Url.Should().Be(result);
}
[Test]
public void shouldnt_add_value_for_nonexisting_segment()
{
var requestBuilder = new HttpRequestBuilder("http://host/{seg}/some");
Assert.Throws<InvalidOperationException>(() => requestBuilder.SetSegment("seg2", "dir"));
}
2014-09-11 23:49:41 +00:00
[Test]
public void should_remove_duplicated_slashes()
{
var builder = new HttpRequestBuilder("http://domain/");
var request = builder.Resource("/v1/").Build();
2014-09-11 23:49:41 +00:00
2016-02-29 23:33:28 +00:00
request.Url.FullUri.Should().Be("http://domain/v1/");
2014-09-11 23:49:41 +00:00
}
}
2019-12-22 21:24:10 +00:00
}