Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion APIMatic.Core.Test/APIMatic.Core.Test.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="NUnit3TestAdapter" Version="4.3.1" />
<PackageReference Include="RichardSzalay.MockHttp" Version="6.0.0" />
<PackageReference Include="System.Net.Http.Json" Version="7.0.1" />
<PackageReference Include="System.Net.Http.Json" Version="8.0.1" />
</ItemGroup>

<ItemGroup>
Expand Down
68 changes: 40 additions & 28 deletions APIMatic.Core.Test/TypesTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,34 +62,6 @@ public void ApiException_CheckResponseCode_WithResponseOfEmptyStream()
Assert.AreEqual(200, exception.ResponseCode);
}

[Test]
public void HttpContext_String_Representation()
{
var response = new HttpResponse(200, new Dictionary<string, string>(), new MemoryStream(Encoding.UTF8.GetBytes("")), "Test body");
var request = new HttpRequest(HttpMethod.Get, "https://myurl.com");

request.AddHeaders(new Dictionary<string, string>
{
{ "keyA1", "value A1"}
});
request.AddHeaders(new Dictionary<string, string>
{
{ "keyA2", "value A2"}
});
request.AddQueryParameters(new Dictionary<string, object>
{
{ "queryA1", "value A1"},
});
request.AddQueryParameters(new Dictionary<string, object>
{
{ "queryA2", "value A2"}
});
var context = new HttpContext(request, response);

var expected = " Request = HttpMethod = GET, QueryUrl = https://myurl.com, QueryParameters = {\"queryA1\":\"value A1\",\"queryA2\":\"value A2\"}, Headers = {\"keyA1\":\"value A1\",\"keyA2\":\"value A2\"}, FormParameters = , Body = , Username = , Password = , Response = StatusCode = 200, Headers = {} RawBody = System.IO.MemoryStream";
Assert.AreEqual(expected, context.ToString());
}

[Test]
public void JsonObject_String_Representation()
{
Expand Down Expand Up @@ -124,5 +96,45 @@ public void JsonValue_String_Representation()
var actualDeserialized = CoreHelper.JsonDeserialize<JsonValue>(expectedString);
Assert.AreEqual(jsonValue.ToString(), actualDeserialized.ToString());
}

[Test]
public void AddHeaders_ShouldAddHeaders_WhenHeadersNotNull()
{
// Arrange
var coreRequest = new HttpRequest(HttpMethod.Get, "https://myurl.com");
var headersToAdd = new Dictionary<string, string>
{
{ "Content-Type", "application/json" },
{ "Authorization", "Bearer token" }
};

// Act
var result = coreRequest.AddHeaders(headersToAdd);

// Assert
Assert.AreEqual(2, result.Count);
Assert.AreEqual("application/json", result["Content-Type"]);
Assert.AreEqual("Bearer token", result["Authorization"]);
}

[Test]
public void AddQueryParameters_ShouldAddQueryParameters_WhenQueryParametersAreNotNull()
{
// Arrange
var coreRequest = new HttpRequest(HttpMethod.Get, "https://myurl.com");
var queryParametersToAdd = new Dictionary<string, object>
{
{ "search", "test" },
{ "limit", 10 }
};

// Act
coreRequest.AddQueryParameters(queryParametersToAdd);

// Assert
Assert.AreEqual(2, coreRequest.QueryParameters.Count);
Assert.AreEqual("test", coreRequest.QueryParameters["search"]);
Assert.AreEqual(10, coreRequest.QueryParameters["limit"]);
}
}
}
6 changes: 0 additions & 6 deletions APIMatic.Core/Types/Sdk/CoreContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,5 @@ public class CoreContext<Req, Res>
public Res Response { get; }

internal bool IsFailure() => (Response.StatusCode < 200) || (Response.StatusCode > 208);

/// <inheritdoc/>
public override string ToString()
{
return $" Request = {Request}, Response = {Response}";
}
}
}
13 changes: 0 additions & 13 deletions APIMatic.Core/Types/Sdk/CoreRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -128,18 +128,5 @@ internal string GetContentType() => Headers?.Where(p => p.Key.EqualsIgnoreCase("
/// otherwise, returns an empty string.
/// </returns>
internal string GetBodyAsString() => Body == null ? string.Empty : Body.ToString();

/// <inheritdoc/>
public override string ToString()
{
return $" HttpMethod = {HttpMethod}, " +
$" QueryUrl = {QueryUrl}, " +
$" QueryParameters = {CoreHelper.JsonSerialize(QueryParameters)}, " +
$" Headers = {CoreHelper.JsonSerialize(Headers)}, " +
$" FormParameters = {CoreHelper.JsonSerialize(FormParameters)}, " +
$" Body = {Body}, " +
$" Username = {Username}, " +
$" Password = {Password}";
}
}
}
8 changes: 0 additions & 8 deletions APIMatic.Core/Types/Sdk/CoreResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,5 @@ public CoreResponse(int statusCode, Dictionary<string, string> headers, Stream r
/// Gets the raw string body of the http response.
/// </summary>
public string Body { get; }

/// <inheritdoc/>
public override string ToString()
{
return $" StatusCode = {StatusCode}, " +
$" Headers = {CoreHelper.JsonSerialize(Headers)}" +
$" RawBody = {RawBody}";
}
}
}
Loading