mirror of https://github.com/dapr/dotnet-sdk.git
64 lines
2.4 KiB
C#
64 lines
2.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Net.Http;
|
|
using Xunit;
|
|
|
|
namespace Dapr.Client.Test.Extensions
|
|
{
|
|
public class HttpExtensionTest
|
|
{
|
|
[Fact]
|
|
public void AddQueryParameters_ReturnsEmptyQueryStringWithNullParameters()
|
|
{
|
|
const string uri = "https://localhost/mypath";
|
|
var httpRq = new HttpRequestMessage(HttpMethod.Get, uri);
|
|
var updatedUri = httpRq.RequestUri.AddQueryParameters(null);
|
|
Assert.Equal(uri, updatedUri.AbsoluteUri);
|
|
}
|
|
|
|
[Fact]
|
|
public void AddQueryParameters_ReturnsOriginalQueryStringWithNullParameters()
|
|
{
|
|
const string uri = "https://localhost/mypath?a=0&b=1";
|
|
var httpRq = new HttpRequestMessage(HttpMethod.Get, uri);
|
|
var updatedUri = httpRq.RequestUri.AddQueryParameters(null);
|
|
Assert.Equal(uri, updatedUri.AbsoluteUri);
|
|
}
|
|
|
|
[Fact]
|
|
public void AddQueryParameters_BuildsQueryString()
|
|
{
|
|
var httpRq = new HttpRequestMessage(HttpMethod.Get, "https://localhost/mypath?a=0");
|
|
var updatedUri = httpRq.RequestUri.AddQueryParameters(new List<KeyValuePair<string,string>>
|
|
{
|
|
new("test", "value")
|
|
});
|
|
Assert.Equal("https://localhost/mypath?a=0&test=value", updatedUri.AbsoluteUri);
|
|
}
|
|
|
|
[Fact]
|
|
public void AddQueryParameters_BuildQueryStringWithDuplicateKeys()
|
|
{
|
|
var httpRq = new HttpRequestMessage(HttpMethod.Get, "https://localhost/mypath");
|
|
var updatedUri = httpRq.RequestUri.AddQueryParameters(new List<KeyValuePair<string,string>>
|
|
{
|
|
new("test", "1"),
|
|
new("test", "2"),
|
|
new("test", "3")
|
|
});
|
|
Assert.Equal("https://localhost/mypath?test=1&test=2&test=3", updatedUri.AbsoluteUri);
|
|
}
|
|
|
|
[Fact]
|
|
public void AddQueryParameters_EscapeSpacesInValues()
|
|
{
|
|
var httpRq = new HttpRequestMessage(HttpMethod.Get, "https://localhost/mypath");
|
|
var updatedUri = httpRq.RequestUri.AddQueryParameters(new List<KeyValuePair<string,string>>
|
|
{
|
|
new("name1", "John Doe"),
|
|
new("name2", "Jane Doe")
|
|
});
|
|
Assert.Equal("https://localhost/mypath?name1=John%20Doe&name2=Jane%20Doe", updatedUri.AbsoluteUri);
|
|
}
|
|
}
|
|
}
|