Updated ZONE unit tests to latest recommendations
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user