Files
monorepo/LCU.Api.Internal.CoreApiWrapper/LCU.Api.Internal.CoreApiWrapperTest/Utilities/HttpUtilitiesTest.cs
T
2026-03-31 14:32:23 -05:00

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);
}
}
}