195 lines
6.2 KiB
C#
195 lines
6.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Newtonsoft.Json;
|
|
using NUnit.Framework;
|
|
using LCU.Library.Internal.CoreApiWrapperLib.Utilities;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
|
|
|
|
namespace LCU.Api.Internal.CoreApiWrapperTest.Utilities
|
|
{
|
|
public class HttpUtilitiesTest
|
|
{
|
|
[Test]
|
|
public void BuildJsonBody_Returns_FullUri()
|
|
{
|
|
var testHost = "test.com";
|
|
var testEndpoint = "test/endpoint";
|
|
|
|
var result = HttpUtilities.BuildHttpsUri(testHost, testEndpoint);
|
|
|
|
var testCompare = new Uri($"https://{testHost}{testEndpoint}");
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(testCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildJsonBody_Returns_UriWithouEndpoint()
|
|
{
|
|
var testHost = "test.com";
|
|
var testEndpoint = "";
|
|
|
|
var result = HttpUtilities.BuildHttpsUri(testHost, testEndpoint);
|
|
|
|
var testCompare = new Uri($"https://{testHost}");
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(testCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildEndPointWithParams_Returns_EndpointWith_TwoParams()
|
|
{
|
|
var testEndpoint = "test/endpoint";
|
|
var paramDictionary = new Dictionary<string, string>();
|
|
paramDictionary.Add("testparam1", "test1");
|
|
paramDictionary.Add("testparam2", "test2");
|
|
|
|
var result = HttpUtilities.BuildEndPointWithParams(testEndpoint, paramDictionary);
|
|
|
|
var testCompare = $"{testEndpoint}?testparam1=test1&testparam2=test2";
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(testCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildEndPointWithParams_Returns_EndpointWith_NoParams()
|
|
{
|
|
var testEndpoint = "test/endpoint";
|
|
var paramDictionary = new Dictionary<string, string>();
|
|
|
|
var result = HttpUtilities.BuildEndPointWithParams(testEndpoint, paramDictionary);
|
|
|
|
var testCompare = $"{testEndpoint}";
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(testCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void ReplaceRootParameter_Returns_RootParamReplaced()
|
|
{
|
|
var testEndpoint = "test/{Test}/endpoint";
|
|
var testPlaceholder = "{Test}";
|
|
var testValue = "dasdwerwqer-1321dsaffew423";
|
|
|
|
var result = HttpUtilities.ReplaceRootParameter(testEndpoint, testPlaceholder, testValue);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual("test/dasdwerwqer-1321dsaffew423/endpoint", result);
|
|
}
|
|
|
|
[Test]
|
|
public void ReplaceRootParameter_RootParamPlaceHolder_DoesNotExist_Return_EndPoint()
|
|
{
|
|
var testEndpoint = "test/endpoint";
|
|
var testPlaceholder = "{Test}";
|
|
var testValue = "dasdwerwqer-1321dsaffew423";
|
|
|
|
var result = HttpUtilities.ReplaceRootParameter(testEndpoint, testPlaceholder, testValue);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual("test/endpoint", result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildDictionaryOfValues_Returns_OneProperty_InDictionary()
|
|
{
|
|
var personRequest = new PersonNameRequest()
|
|
{
|
|
FirstName = "Test"
|
|
};
|
|
|
|
var testCompare = new Dictionary<string, string>();
|
|
testCompare.Add("FirstName", "Test");
|
|
|
|
var result = HttpUtilities.BuildDictionaryOfNonNullValues(personRequest);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(1, result.Count);
|
|
Assert.AreEqual(testCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildDictionaryOfValues_Returns_TwoProperty_InDictionary()
|
|
{
|
|
var personRequest = new PersonNameRequest()
|
|
{
|
|
FirstName = "Test",
|
|
LastName = "Test Last"
|
|
};
|
|
|
|
var testCompare = new Dictionary<string, string>();
|
|
testCompare.Add("FirstName", "Test");
|
|
testCompare.Add("LastName", "Test Last");
|
|
|
|
var result = HttpUtilities.BuildDictionaryOfNonNullValues(personRequest);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(2, result.Count);
|
|
Assert.AreEqual(testCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildDictionaryOfValues_Returns_EmptyDictionary()
|
|
{
|
|
var personRequest = new PersonNameRequest();
|
|
|
|
var result = HttpUtilities.BuildDictionaryOfNonNullValues(personRequest);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.Zero(result.Count);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildJsonBody_Returns_OneProperty_JsonWithout_NullFields()
|
|
{
|
|
var personRequest = new PersonNameRequest()
|
|
{
|
|
FirstName = "Test"
|
|
};
|
|
|
|
var testCompare = new Dictionary<string, string>();
|
|
testCompare.Add("FirstName", "Test");
|
|
var jsonTestCompare = JsonConvert.SerializeObject(testCompare);
|
|
|
|
var result = HttpUtilities.BuildJsonOfNonNullProperties(personRequest);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(jsonTestCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildJsonBody_Returns_OneProperty_JJsonWithout_NullFields()
|
|
{
|
|
var personRequest = new PersonNameRequest()
|
|
{
|
|
FirstName = "Test",
|
|
LastName = "Test Last"
|
|
};
|
|
|
|
var testCompare = new Dictionary<string, string>();
|
|
testCompare.Add("FirstName", "Test");
|
|
testCompare.Add("LastName", "Test Last");
|
|
var jsonTestCompare = JsonConvert.SerializeObject(testCompare);
|
|
|
|
var result = HttpUtilities.BuildJsonOfNonNullProperties(personRequest);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(jsonTestCompare, result);
|
|
}
|
|
|
|
[Test]
|
|
public void BuildJsonBody_Returns_EmptyString()
|
|
{
|
|
var personRequest = new PersonNameRequest();
|
|
|
|
var result = HttpUtilities.BuildJsonOfNonNullProperties(personRequest);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual("", result);
|
|
}
|
|
}
|
|
}
|