Changed folder structure, added explicit nullable for extensions.

This commit is contained in:
2024-10-31 13:07:39 +01:00
parent eadd35ac09
commit 935632df27
45 changed files with 1121 additions and 214 deletions

View File

@@ -5,7 +5,7 @@ using System.Threading;
using System.Threading.Tasks;
using AMWD.Net.Api.Cloudflare;
using AMWD.Net.Api.Cloudflare.Zones;
using AMWD.Net.Api.Cloudflare.Zones.Zones.InternalRequests;
using AMWD.Net.Api.Cloudflare.Zones.Internals.Requests;
using Moq;
namespace Cloudflare.Zones.Tests.Zones
@@ -19,7 +19,7 @@ namespace Cloudflare.Zones.Tests.Zones
private CloudflareResponse<Zone> _response;
private List<(string RequestPath, CreateRequest Request)> _callbacks;
private List<(string RequestPath, InternalCreateZoneRequest Request)> _callbacks;
private CreateZoneRequest _request;
@@ -47,7 +47,7 @@ namespace Cloudflare.Zones.Tests.Zones
],
Result = new Zone
{
Id = "023e105f4ecef8ad9ca31a8372d0c353",
Id = ZoneId,
Account = new AccountBase
{
Id = "023e105f4ecef8ad9ca31a8372d0c353",
@@ -97,18 +97,16 @@ namespace Cloudflare.Zones.Tests.Zones
}
};
_request = new CreateZoneRequest
{
AccountId = "023e105f4ecef8ad9ca31a8372d0c353",
Name = "example.com",
Type = ZoneType.Full
};
_request = new CreateZoneRequest("023e105f4ecef8ad9ca31a8372d0c353", "example.com");
}
[TestMethod]
public async Task ShouldReturnCreatedZone()
[DataTestMethod]
[DataRow(null)]
[DataRow(ZoneType.Full)]
public async Task ShouldReturnCreatedZone(ZoneType? type)
{
// Arrange
_request.Type = type;
var client = GetClient();
// Act
@@ -129,7 +127,7 @@ namespace Cloudflare.Zones.Tests.Zones
Assert.AreEqual(_request.Name, callback.Request.Name);
Assert.AreEqual(_request.Type, callback.Request.Type);
_clientMock.Verify(m => m.PostAsync<Zone, CreateRequest>("zones", It.IsAny<CreateRequest>(), It.IsAny<IQueryParameterFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.Verify(m => m.PostAsync<Zone, InternalCreateZoneRequest>("zones", It.IsAny<InternalCreateZoneRequest>(), It.IsAny<IQueryParameterFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
}
@@ -182,8 +180,8 @@ namespace Cloudflare.Zones.Tests.Zones
{
_clientMock = new Mock<ICloudflareClient>();
_clientMock
.Setup(m => m.PostAsync<Zone, CreateRequest>(It.IsAny<string>(), It.IsAny<CreateRequest>(), It.IsAny<IQueryParameterFilter>(), It.IsAny<CancellationToken>()))
.Callback<string, CreateRequest, IQueryParameterFilter, CancellationToken>((requestPath, request, _, _) => _callbacks.Add((requestPath, request)))
.Setup(m => m.PostAsync<Zone, InternalCreateZoneRequest>(It.IsAny<string>(), It.IsAny<InternalCreateZoneRequest>(), It.IsAny<IQueryParameterFilter>(), It.IsAny<CancellationToken>()))
.Callback<string, InternalCreateZoneRequest, IQueryParameterFilter, CancellationToken>((requestPath, request, _, _) => _callbacks.Add((requestPath, request)))
.ReturnsAsync(() => _response);
return _clientMock.Object;

View File

@@ -5,7 +5,7 @@ using System.Threading;
using System.Threading.Tasks;
using AMWD.Net.Api.Cloudflare;
using AMWD.Net.Api.Cloudflare.Zones;
using AMWD.Net.Api.Cloudflare.Zones.Zones.InternalRequests;
using AMWD.Net.Api.Cloudflare.Zones.Internals.Requests;
using Moq;
namespace Cloudflare.Zones.Tests.Zones
@@ -19,7 +19,7 @@ namespace Cloudflare.Zones.Tests.Zones
private CloudflareResponse<Zone> _response;
private List<(string RequestPath, EditRequest Request)> _callbacks;
private List<(string RequestPath, InternalEditZoneRequest Request)> _callbacks;
private EditZoneRequest _request;
@@ -97,9 +97,8 @@ namespace Cloudflare.Zones.Tests.Zones
}
};
_request = new EditZoneRequest
_request = new EditZoneRequest(ZoneId)
{
Id = ZoneId,
Type = ZoneType.Full,
VanityNameServers = ["ns1.example.org", "ns2.example.org"]
};
@@ -129,7 +128,7 @@ namespace Cloudflare.Zones.Tests.Zones
Assert.AreEqual(_request.Type.Value, callback.Request.Type.Value);
Assert.IsNull(callback.Request.VanityNameServers);
_clientMock.Verify(m => m.PatchAsync<Zone, EditRequest>($"zones/{ZoneId}", It.IsAny<EditRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.Verify(m => m.PatchAsync<Zone, InternalEditZoneRequest>($"zones/{ZoneId}", It.IsAny<InternalEditZoneRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
}
@@ -160,7 +159,7 @@ namespace Cloudflare.Zones.Tests.Zones
Assert.IsTrue(callback.Request.VanityNameServers.Contains("ns1.example.org"));
Assert.IsTrue(callback.Request.VanityNameServers.Contains("ns2.example.org"));
_clientMock.Verify(m => m.PatchAsync<Zone, EditRequest>($"zones/{ZoneId}", It.IsAny<EditRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.Verify(m => m.PatchAsync<Zone, InternalEditZoneRequest>($"zones/{ZoneId}", It.IsAny<InternalEditZoneRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
}
@@ -196,8 +195,8 @@ namespace Cloudflare.Zones.Tests.Zones
{
_clientMock = new Mock<ICloudflareClient>();
_clientMock
.Setup(m => m.PatchAsync<Zone, EditRequest>(It.IsAny<string>(), It.IsAny<EditRequest>(), It.IsAny<CancellationToken>()))
.Callback<string, EditRequest, CancellationToken>((requestPath, request, _) => _callbacks.Add((requestPath, request)))
.Setup(m => m.PatchAsync<Zone, InternalEditZoneRequest>(It.IsAny<string>(), It.IsAny<InternalEditZoneRequest>(), It.IsAny<CancellationToken>()))
.Callback<string, InternalEditZoneRequest, CancellationToken>((requestPath, request, _) => _callbacks.Add((requestPath, request)))
.ReturnsAsync(() => _response);
return _clientMock.Object;

View File

@@ -178,12 +178,12 @@ namespace Cloudflare.Zones.Tests.Zones
{
AccountId = "023e105f4ecef8ad9ca31a8372d0c353",
AccountName = "Example Account Name",
MatchType = FilterMatchType.Any,
Match = FilterMatchType.Any,
Name = "example.com",
PerPage = 13,
Page = 5,
OrderBy = ZonesOrderBy.AccountName,
OrderDirection = SortDirection.Descending,
Direction = SortDirection.Descending,
Status = ZoneStatus.Active
};
@@ -261,7 +261,7 @@ namespace Cloudflare.Zones.Tests.Zones
// Arrange
var filter = new ListZonesFilter
{
OrderDirection = 0
Direction = 0
};
// Act
@@ -278,7 +278,7 @@ namespace Cloudflare.Zones.Tests.Zones
// Arrange
var filter = new ListZonesFilter
{
MatchType = 0
Match = 0
};
// Act