Updated ZONE unit tests to latest recommendations

This commit is contained in:
2025-08-08 17:59:25 +02:00
parent b806fcda4a
commit ab510a85fc
23 changed files with 265 additions and 246 deletions

View File

@@ -11,8 +11,9 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
[TestClass]
public class GetDomainTest
{
private const string AccountId = "023e105f4ecef8ad9ca31a8372d0c353";
public TestContext TestContext { get; set; }
private const string AccountId = "023e105f4ecef8ad9ca31a8372d0c353";
private const string DomainName = "example.com";
private Mock<ICloudflareClient> _clientMock;
@@ -36,16 +37,16 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
var client = GetClient();
// Act
var result = await client.GetDomain(AccountId, DomainName);
var result = await client.GetDomain(AccountId, DomainName, TestContext.CancellationTokenSource.Token);
// Assert
Assert.AreEqual(_response, result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/accounts/{AccountId}/registrar/domains/{DomainName}", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/accounts/{AccountId}/registrar/domains/{DomainName}", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<JToken>($"/accounts/{AccountId}/registrar/domains/{DomainName}", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -55,16 +56,13 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
[DataRow(null)]
[DataRow("")]
[DataRow(" ")]
[ExpectedException(typeof(ArgumentNullException))]
public async Task ShouldThrowArgumentNullExceptionOnDomainName(string domainName)
{
// Arrange
var client = GetClient();
// Act
var result = await client.GetDomain(AccountId, domainName);
// Assert - ArgumentNullException
// Act & Assert
await Assert.ThrowsExactlyAsync<ArgumentNullException>(async () => await client.GetDomain(AccountId, domainName, TestContext.CancellationTokenSource.Token));
}
private ICloudflareClient GetClient()

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
[TestClass]
public class ListDomainsTest
{
public TestContext TestContext { get; set; }
private const string AccountId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -33,16 +35,16 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
var client = GetClient();
// Act
var result = await client.ListDomains(AccountId);
var result = await client.ListDomains(AccountId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.AreEqual(_response, result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/accounts/{AccountId}/registrar/domains", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/accounts/{AccountId}/registrar/domains", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<IReadOnlyCollection<Domain>>($"/accounts/{AccountId}/registrar/domains", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -12,8 +12,9 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
[TestClass]
public class UpdateDomainTest
{
private const string AccountId = "023e105f4ecef8ad9ca31a8372d0c353";
public TestContext TestContext { get; set; }
private const string AccountId = "023e105f4ecef8ad9ca31a8372d0c353";
private const string DomainName = "example.com";
private Mock<ICloudflareClient> _clientMock;
@@ -45,20 +46,20 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
var client = GetClient();
// Act
var result = await client.UpdateDomain(_request);
var result = await client.UpdateDomain(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.AreEqual(_response, result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/accounts/{AccountId}/registrar/domains/{DomainName}", callback.RequestPath);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/accounts/{AccountId}/registrar/domains/{DomainName}", requestPath);
Assert.IsNotNull(callback.Request);
Assert.AreEqual(_request.AutoRenew, callback.Request.AutoRenew);
Assert.AreEqual(_request.Locked, callback.Request.Locked);
Assert.AreEqual(_request.Privacy, callback.Request.Privacy);
Assert.IsNotNull(request);
Assert.AreEqual(_request.AutoRenew, request.AutoRenew);
Assert.AreEqual(_request.Locked, request.Locked);
Assert.AreEqual(_request.Privacy, request.Privacy);
_clientMock.Verify(m => m.PutAsync<JToken, InternalUpdateDomainRequest>($"/accounts/{AccountId}/registrar/domains/{DomainName}", It.IsAny<InternalUpdateDomainRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -68,17 +69,14 @@ namespace Cloudflare.Zones.Tests.RegistrarExtensions
[DataRow(null)]
[DataRow("")]
[DataRow(" ")]
[ExpectedException(typeof(ArgumentNullException))]
public async Task ShouldThrowArgumentNullExceptionOnDomainName(string domainName)
{
// Arrange
_request.DomainName = domainName;
var client = GetClient();
// Act
var result = await client.UpdateDomain(_request);
// Assert - ArgumentNullException
// Act & Assert
await Assert.ThrowsExactlyAsync<ArgumentNullException>(async () => await client.UpdateDomain(_request, TestContext.CancellationTokenSource.Token));
}
private ICloudflareClient GetClient()

View File

@@ -11,6 +11,8 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
[TestClass]
public class CreateZoneHoldTest
{
public TestContext TestContext { get; set; }
private readonly DateTime _date = new(2025, 10, 10, 20, 30, 40, 0, DateTimeKind.Utc);
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
@@ -54,21 +56,21 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
var client = GetClient();
// Act
var response = await client.CreateZoneHold(_request);
var response = await client.CreateZoneHold(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", callback.RequestPath);
Assert.IsNotNull(callback.QueryFilter);
var (requestPath, request, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", requestPath);
Assert.IsNotNull(queryFilter);
Assert.IsInstanceOfType<InternalCreateZoneHoldFilter>(callback.QueryFilter);
Assert.IsNull(((InternalCreateZoneHoldFilter)callback.QueryFilter).IncludeSubdomains);
Assert.IsInstanceOfType<InternalCreateZoneHoldFilter>(queryFilter);
Assert.IsNull(((InternalCreateZoneHoldFilter)queryFilter).IncludeSubdomains);
_clientMock.Verify(m => m.PostAsync<ZoneHold, object>($"/zones/{ZoneId}/hold", null, It.IsAny<InternalCreateZoneHoldFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -82,21 +84,21 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
var client = GetClient();
// Act
var response = await client.CreateZoneHold(_request);
var response = await client.CreateZoneHold(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", callback.RequestPath);
Assert.IsNotNull(callback.QueryFilter);
var (requestPath, request, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", requestPath);
Assert.IsNotNull(queryFilter);
Assert.IsInstanceOfType<InternalCreateZoneHoldFilter>(callback.QueryFilter);
Assert.IsTrue(((InternalCreateZoneHoldFilter)callback.QueryFilter).IncludeSubdomains);
Assert.IsInstanceOfType<InternalCreateZoneHoldFilter>(queryFilter);
Assert.IsTrue(((InternalCreateZoneHoldFilter)queryFilter).IncludeSubdomains);
_clientMock.Verify(m => m.PostAsync<ZoneHold, object>($"/zones/{ZoneId}/hold", null, It.IsAny<InternalCreateZoneHoldFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -113,7 +115,7 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -129,7 +131,7 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(1, dict.Count);
Assert.HasCount(1, dict);
Assert.IsTrue(dict.ContainsKey("include_subdomains"));
Assert.AreEqual(includeSubdomains.ToString().ToLower(), dict["include_subdomains"]);
}

View File

@@ -10,7 +10,9 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
[TestClass]
public class GetZoneHoldTest
{
private readonly DateTime _date = new DateTime(2024, 10, 10, 20, 30, 40, 0, DateTimeKind.Utc);
public TestContext TestContext { get; set; }
private readonly DateTime _date = new(2024, 10, 10, 20, 30, 40, 0, DateTimeKind.Utc);
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -49,18 +51,18 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
var client = GetClient();
// Act
var response = await client.GetZoneHold(ZoneId);
var response = await client.GetZoneHold(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<ZoneHold>($"/zones/{ZoneId}/hold", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -11,8 +11,9 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
[TestClass]
public class RemoveZoneHoldTest
{
// Local: Europe/Berlin (Germany) - [CEST +2] | CET +1
private readonly DateTime _date = new(2025, 10, 10, 20, 30, 40, 0, DateTimeKind.Unspecified);
public TestContext TestContext { get; set; }
private readonly DateTime _date = new(2025, 10, 10, 20, 30, 40, 0, DateTimeKind.Utc);
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -55,21 +56,21 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
var client = GetClient();
// Act
var response = await client.RemoveZoneHold(_request);
var response = await client.RemoveZoneHold(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", callback.RequestPath);
Assert.IsNotNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", requestPath);
Assert.IsNotNull(queryFilter);
Assert.IsInstanceOfType<InternalRemoveZoneHoldFilter>(callback.QueryFilter);
Assert.IsNull(((InternalRemoveZoneHoldFilter)callback.QueryFilter).HoldAfter);
Assert.IsInstanceOfType<InternalRemoveZoneHoldFilter>(queryFilter);
Assert.IsNull(((InternalRemoveZoneHoldFilter)queryFilter).HoldAfter);
_clientMock.Verify(m => m.DeleteAsync<ZoneHold>($"/zones/{ZoneId}/hold", It.IsAny<InternalRemoveZoneHoldFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -83,21 +84,21 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
var client = GetClient();
// Act
var response = await client.RemoveZoneHold(_request);
var response = await client.RemoveZoneHold(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", callback.RequestPath);
Assert.IsNotNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", requestPath);
Assert.IsNotNull(queryFilter);
Assert.IsInstanceOfType<InternalRemoveZoneHoldFilter>(callback.QueryFilter);
Assert.AreEqual(_date, ((InternalRemoveZoneHoldFilter)callback.QueryFilter).HoldAfter);
Assert.IsInstanceOfType<InternalRemoveZoneHoldFilter>(queryFilter);
Assert.AreEqual(_date, ((InternalRemoveZoneHoldFilter)queryFilter).HoldAfter);
_clientMock.Verify(m => m.DeleteAsync<ZoneHold>($"/zones/{ZoneId}/hold", It.IsAny<InternalRemoveZoneHoldFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -114,7 +115,7 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -128,9 +129,9 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(1, dict.Count);
Assert.HasCount(1, dict);
Assert.IsTrue(dict.ContainsKey("hold_after"));
Assert.AreEqual("2025-10-10T18:30:40Z", dict["hold_after"]);
Assert.AreEqual("2025-10-10T20:30:40Z", dict["hold_after"]);
}
private ICloudflareClient GetClient()

View File

@@ -11,7 +11,9 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
[TestClass]
public class UpdateZoneHoldTest
{
private readonly DateTime _date = new DateTime(2024, 10, 10, 20, 30, 40, 0, DateTimeKind.Utc);
public TestContext TestContext { get; set; }
private readonly DateTime _date = new(2024, 10, 10, 20, 30, 40, 0, DateTimeKind.Utc);
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -58,21 +60,21 @@ namespace Cloudflare.Zones.Tests.ZoneHoldsExtensions
var client = GetClient();
// Act
var response = await client.UpdateZoneHold(_request);
var response = await client.UpdateZoneHold(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", callback.RequestPath);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/hold", requestPath);
Assert.IsNotNull(callback.Request);
Assert.AreEqual(_date, callback.Request.HoldAfter);
Assert.IsTrue(callback.Request.IncludeSubdomains);
Assert.IsNotNull(request);
Assert.AreEqual(_date, request.HoldAfter);
Assert.IsTrue(request.IncludeSubdomains);
}
private ICloudflareClient GetClient()

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZonePlansExtensions
[TestClass]
public class AvailablePlanDetailsTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private const string PlanId = "023e105f4ecef8ad9ca31a8372d0c354";
@@ -44,18 +46,18 @@ namespace Cloudflare.Zones.Tests.ZonePlansExtensions
var client = GetClient();
// Act
var response = await client.AvailablePlanDetails(ZoneId, PlanId);
var response = await client.AvailablePlanDetails(ZoneId, PlanId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/available_plans/{PlanId}", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/available_plans/{PlanId}", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<AvailableRatePlan>($"/zones/{ZoneId}/available_plans/{PlanId}", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZonePlansExtensions
[TestClass]
public class ListAvailablePlansTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -43,18 +45,18 @@ namespace Cloudflare.Zones.Tests.ZonePlansExtensions
var client = GetClient();
// Act
var response = await client.ListAvailablePlans(ZoneId);
var response = await client.ListAvailablePlans(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/available_plans", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/available_plans", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<IReadOnlyCollection<AvailableRatePlan>>($"/zones/{ZoneId}/available_plans", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZonePlansExtensions
[TestClass]
public class ListAvailableRatePlansTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -43,18 +45,18 @@ namespace Cloudflare.Zones.Tests.ZonePlansExtensions
var client = GetClient();
// Act
var response = await client.ListAvailableRatePlans(ZoneId);
var response = await client.ListAvailableRatePlans(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/available_rate_plans", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/available_rate_plans", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<RatePlanGetResponse>($"/zones/{ZoneId}/available_rate_plans", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
[TestClass]
public class EditMultipleZoneSettingsTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -57,7 +59,7 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
// Act
#pragma warning disable CS0618
var response = await client.EditMultipleZoneSettings(_request);
var response = await client.EditMultipleZoneSettings(_request, TestContext.CancellationTokenSource.Token);
#pragma warning restore CS0618
// Assert
@@ -65,16 +67,16 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings", callback.RequestPath);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings", requestPath);
Assert.IsNotNull(callback.Request);
Assert.AreEqual(2, callback.Request.Count);
Assert.IsNotNull(request);
Assert.HasCount(2, request);
Assert.IsInstanceOfType<SSL>(callback.Request.First());
Assert.IsInstanceOfType<WebP>(callback.Request.Last());
Assert.IsInstanceOfType<SSL>(request.First());
Assert.IsInstanceOfType<WebP>(request.Last());
}
private ICloudflareClient GetClient()

View File

@@ -11,6 +11,8 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
[TestClass]
public class EditZoneSettingTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -51,21 +53,21 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
var client = GetClient();
// Act
var response = await client.EditZoneSetting(_request);
var response = await client.EditZoneSetting(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings/ssl", callback.RequestPath);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings/ssl", requestPath);
Assert.IsNotNull(callback.Request);
Assert.AreEqual("origin_pull", callback.Request["value"]);
Assert.IsFalse(callback.Request.ContainsKey("enabled"));
Assert.IsNotNull(request);
Assert.AreEqual("origin_pull", request["value"]);
Assert.IsFalse(request.ContainsKey("enabled"));
}
[TestMethod]
@@ -78,35 +80,32 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
var client = GetClient();
// Act
var response = await client.EditZoneSetting(_request);
var response = await client.EditZoneSetting(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings/ssl", callback.RequestPath);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings/ssl", requestPath);
Assert.IsNotNull(callback.Request);
Assert.AreEqual(enabled, callback.Request["enabled"]);
Assert.IsFalse(callback.Request.ContainsKey("value"));
Assert.IsNotNull(request);
Assert.AreEqual(enabled, request["enabled"]);
Assert.IsFalse(request.ContainsKey("value"));
}
[TestMethod]
[ExpectedException(typeof(ArgumentException))]
public async Task ShouldThrowArgumentException()
{
// Arrange
var request = new EditZoneSettingRequest<TestSetting>(ZoneId, new TestSetting());
var client = GetClient();
// Act
var response = await client.EditZoneSetting(request);
// Assert - ArgumentException
// Act & Assert
await Assert.ThrowsExactlyAsync<ArgumentException>(async () => await client.EditZoneSetting(request, TestContext.CancellationTokenSource.Token));
}
private ICloudflareClient GetClient()

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
[TestClass]
public class GetAllZoneSettingsTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -47,7 +49,7 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
// Act
#pragma warning disable CS0618
var response = await client.GetAllZoneSettings(ZoneId);
var response = await client.GetAllZoneSettings(ZoneId, TestContext.CancellationTokenSource.Token);
#pragma warning restore CS0618
// Assert
@@ -55,11 +57,11 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<IReadOnlyCollection<ZoneSettingBase>>($"/zones/{ZoneId}/settings", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
[TestClass]
public class GetZoneSettingTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -43,34 +45,31 @@ namespace Cloudflare.Zones.Tests.ZoneSettingsExtensions
var client = GetClient();
// Act
var response = await client.GetZoneSetting<SSL>(ZoneId);
var response = await client.GetZoneSetting<SSL>(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings/ssl", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/settings/ssl", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<SSL>($"/zones/{ZoneId}/settings/ssl", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
}
[TestMethod]
[ExpectedException(typeof(ArgumentException))]
public async Task ShouldThrowArgumentException()
{
// Arrange
var client = GetClient();
// Act
var response = await client.GetZoneSetting<TestSetting>(ZoneId);
// Assert - ArgumentException
// Act & Assert
await Assert.ThrowsExactlyAsync<ArgumentException>(async () => await client.GetZoneSetting<TestSetting>(ZoneId, TestContext.CancellationTokenSource.Token));
}
private ICloudflareClient GetClient()

View File

@@ -11,6 +11,8 @@ namespace Cloudflare.Zones.Tests.ZoneSubscriptionsExtensions
[TestClass]
public class CreateZoneSubscriptionTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -56,21 +58,21 @@ namespace Cloudflare.Zones.Tests.ZoneSubscriptionsExtensions
var client = GetClient();
// Act
var response = await client.CreateZoneSubscription(_request);
var response = await client.CreateZoneSubscription(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/subscription", callback.RequestPath);
Assert.IsNotNull(callback.Request);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/subscription", requestPath);
Assert.IsNotNull(request);
Assert.AreEqual(_request.Frequency, callback.Request.Frequency);
Assert.AreEqual(_request.RatePlan, callback.Request.RatePlan);
Assert.AreEqual(_request.Frequency, request.Frequency);
Assert.AreEqual(_request.RatePlan, request.RatePlan);
_clientMock.Verify(m => m.PostAsync<Subscription, InternalCreateZoneSubscriptionRequest>($"/zones/{ZoneId}/subscription", It.IsAny<InternalCreateZoneSubscriptionRequest>(), null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -11,6 +11,8 @@ namespace Cloudflare.Zones.Tests.ZoneSubscriptionsExtensions
[TestClass]
public class UpdateZoneSubscriptionTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -56,21 +58,21 @@ namespace Cloudflare.Zones.Tests.ZoneSubscriptionsExtensions
var client = GetClient();
// Act
var response = await client.UpdateZoneSubscription(_request);
var response = await client.UpdateZoneSubscription(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/subscription", callback.RequestPath);
Assert.IsNotNull(callback.Request);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/subscription", requestPath);
Assert.IsNotNull(request);
Assert.AreEqual(_request.Frequency, callback.Request.Frequency);
Assert.AreEqual(_request.RatePlan, callback.Request.RatePlan);
Assert.AreEqual(_request.Frequency, request.Frequency);
Assert.AreEqual(_request.RatePlan, request.RatePlan);
_clientMock.Verify(m => m.PutAsync<Subscription, InternalUpdateZoneSubscriptionRequest>($"/zones/{ZoneId}/subscription", It.IsAny<InternalUpdateZoneSubscriptionRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZoneSubscriptionsExtensions
[TestClass]
public class ZoneSubscriptionDetailsTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -43,18 +45,18 @@ namespace Cloudflare.Zones.Tests.ZoneSubscriptionsExtensions
var client = GetClient();
// Act
var response = await client.ZoneSubscriptionDetails(ZoneId);
var response = await client.ZoneSubscriptionDetails(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/subscription", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/subscription", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<Subscription>($"/zones/{ZoneId}/subscription", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -11,6 +11,8 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
[TestClass]
public class CreateZoneTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -105,39 +107,36 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.CreateZone(_request);
var response = await client.CreateZone(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual("/zones", callback.RequestPath);
Assert.IsNotNull(callback.Request);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual("/zones", requestPath);
Assert.IsNotNull(request);
Assert.AreEqual(_request.AccountId, callback.Request.Account.Id);
Assert.AreEqual(_request.Name, callback.Request.Name);
Assert.AreEqual(_request.Type, callback.Request.Type);
Assert.AreEqual(_request.AccountId, request.Account.Id);
Assert.AreEqual(_request.Name, request.Name);
Assert.AreEqual(_request.Type, request.Type);
_clientMock.Verify(m => m.PostAsync<Zone, InternalCreateZoneRequest>("/zones", It.IsAny<InternalCreateZoneRequest>(), It.IsAny<IQueryParameterFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
}
[TestMethod]
[ExpectedException(typeof(ArgumentOutOfRangeException))]
public async Task ShouldThrowArgumentOutOfRangeExceptionOnInvalidType()
{
// Arrange
_request.Type = 0;
var client = GetClient();
// Act
await client.CreateZone(_request);
// Assert - ArgumentOutOfRangeException
// Act & Assert
await Assert.ThrowsExactlyAsync<ArgumentOutOfRangeException>(async () => await client.CreateZone(_request, TestContext.CancellationTokenSource.Token));
}
private ICloudflareClient GetClient()

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
[TestClass]
public class DeleteZoneTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -46,18 +48,18 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.DeleteZone(ZoneId);
var response = await client.DeleteZone(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.DeleteAsync<Identifier>($"/zones/{ZoneId}", It.IsAny<IQueryParameterFilter>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -11,6 +11,8 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
[TestClass]
public class EditZoneTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -104,22 +106,22 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.EditZone(_request);
var response = await client.EditZone(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", callback.RequestPath);
Assert.IsNotNull(callback.Request);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", requestPath);
Assert.IsNotNull(request);
Assert.IsTrue(callback.Request.Paused);
Assert.IsNull(callback.Request.Type);
Assert.IsNull(callback.Request.VanityNameServers);
Assert.IsTrue(request.Paused);
Assert.IsNull(request.Type);
Assert.IsNull(request.VanityNameServers);
_clientMock.Verify(m => m.PatchAsync<Zone, InternalEditZoneRequest>($"/zones/{ZoneId}", It.IsAny<InternalEditZoneRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -134,22 +136,22 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.EditZone(_request);
var response = await client.EditZone(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", callback.RequestPath);
Assert.IsNotNull(callback.Request);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", requestPath);
Assert.IsNotNull(request);
Assert.IsNull(callback.Request.Paused);
Assert.AreEqual(_request.Type.Value, callback.Request.Type.Value);
Assert.IsNull(callback.Request.VanityNameServers);
Assert.IsNull(request.Paused);
Assert.AreEqual(_request.Type.Value, request.Type.Value);
Assert.IsNull(request.VanityNameServers);
_clientMock.Verify(m => m.PatchAsync<Zone, InternalEditZoneRequest>($"/zones/{ZoneId}", It.IsAny<InternalEditZoneRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -165,59 +167,52 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.EditZone(_request);
var response = await client.EditZone(_request, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", callback.RequestPath);
Assert.IsNotNull(callback.Request);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", requestPath);
Assert.IsNotNull(request);
Assert.IsNull(callback.Request.Paused);
Assert.IsNull(callback.Request.Type);
Assert.AreEqual(2, callback.Request.VanityNameServers.Count);
Assert.IsTrue(callback.Request.VanityNameServers.Contains("ns1.example.org"));
Assert.IsTrue(callback.Request.VanityNameServers.Contains("ns2.example.org"));
Assert.IsNull(request.Paused);
Assert.IsNull(request.Type);
Assert.HasCount(2, request.VanityNameServers);
Assert.IsTrue(request.VanityNameServers.Contains("ns1.example.org"));
Assert.IsTrue(request.VanityNameServers.Contains("ns2.example.org"));
_clientMock.Verify(m => m.PatchAsync<Zone, InternalEditZoneRequest>($"/zones/{ZoneId}", It.IsAny<InternalEditZoneRequest>(), It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
}
[TestMethod]
[ExpectedException(typeof(CloudflareException))]
public async Task ShouldThrowCloudflareExceptionOnMultiplePropertiesSet1()
{
// Arrange
_request.VanityNameServers = null;
var client = GetClient();
// Act
await client.EditZone(_request);
// Assert - CloudflareException
// Act & Assert
await Assert.ThrowsExactlyAsync<CloudflareException>(async () => await client.EditZone(_request, TestContext.CancellationTokenSource.Token));
}
[TestMethod]
[ExpectedException(typeof(CloudflareException))]
public async Task ShouldThrowCloudflareExceptionOnMultiplePropertiesSet2()
{
// Arrange
_request.Paused = null;
var client = GetClient();
// Act
await client.EditZone(_request);
// Assert - CloudflareException
// Act & Assert
await Assert.ThrowsExactlyAsync<CloudflareException>(async () => await client.EditZone(_request, TestContext.CancellationTokenSource.Token));
}
[TestMethod]
[ExpectedException(typeof(ArgumentOutOfRangeException))]
public async Task ShouldThrowArgumentOutOfRangeExceptionForInvalidType()
{
// Arrange
@@ -226,10 +221,8 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
_request.VanityNameServers = null;
var client = GetClient();
// Act
await client.EditZone(_request);
// Assert - ArgumentOutOfRangeException
// Act & Assert
await Assert.ThrowsExactlyAsync<ArgumentOutOfRangeException>(async () => await client.EditZone(_request, TestContext.CancellationTokenSource.Token));
}
private ICloudflareClient GetClient()

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
[TestClass]
public class ListZonesTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -102,18 +104,18 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.ListZones();
var response = await client.ListZones(cancellationToken: TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual("/zones", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual("/zones", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<IReadOnlyCollection<Zone>>("/zones", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -131,18 +133,18 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.ListZones(filter);
var response = await client.ListZones(filter, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual("/zones", callback.RequestPath);
Assert.AreEqual(filter, callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual("/zones", requestPath);
Assert.AreEqual(filter, queryFilter);
_clientMock.Verify(m => m.GetAsync<IReadOnlyCollection<Zone>>("/zones", filter, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();
@@ -159,7 +161,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -184,7 +186,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(9, dict.Count);
Assert.HasCount(9, dict);
Assert.IsTrue(dict.ContainsKey("account.id"));
Assert.IsTrue(dict.ContainsKey("account.name"));
@@ -224,7 +226,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -244,7 +246,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -261,7 +263,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -278,7 +280,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -294,11 +296,11 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
};
// Act
var dict = new Dictionary<string, object>();
var dict = filter.GetQueryParameters();
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -315,7 +317,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -332,7 +334,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -351,7 +353,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
[TestMethod]
@@ -368,7 +370,7 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
// Assert
Assert.IsNotNull(dict);
Assert.AreEqual(0, dict.Count);
Assert.IsEmpty(dict);
}
private ICloudflareClient GetClient()

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
[TestClass]
public class RerunActivationCheckTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -46,18 +48,18 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.RerunActivationCheck(ZoneId);
var response = await client.RerunActivationCheck(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/activation_check", callback.RequestPath);
Assert.IsNull(callback.Request);
var (requestPath, request) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}/activation_check", requestPath);
Assert.IsNull(request);
_clientMock.Verify(m => m.PutAsync<Identifier, object>($"/zones/{ZoneId}/activation_check", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();

View File

@@ -10,6 +10,8 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
[TestClass]
public class ZoneDetailsTest
{
public TestContext TestContext { get; set; }
private const string ZoneId = "023e105f4ecef8ad9ca31a8372d0c353";
private Mock<ICloudflareClient> _clientMock;
@@ -92,18 +94,18 @@ namespace Cloudflare.Zones.Tests.ZonesExtensions
var client = GetClient();
// Act
var response = await client.ZoneDetails(ZoneId);
var response = await client.ZoneDetails(ZoneId, TestContext.CancellationTokenSource.Token);
// Assert
Assert.IsNotNull(response);
Assert.IsTrue(response.Success);
Assert.AreEqual(_response.Result, response.Result);
Assert.AreEqual(1, _callbacks.Count);
Assert.HasCount(1, _callbacks);
var callback = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", callback.RequestPath);
Assert.IsNull(callback.QueryFilter);
var (requestPath, queryFilter) = _callbacks.First();
Assert.AreEqual($"/zones/{ZoneId}", requestPath);
Assert.IsNull(queryFilter);
_clientMock.Verify(m => m.GetAsync<Zone>($"/zones/{ZoneId}", null, It.IsAny<CancellationToken>()), Times.Once);
_clientMock.VerifyNoOtherCalls();