From 917a3aea6dcdd29a3341105e93d0128c22392085 Mon Sep 17 00:00:00 2001 From: James Skimming Date: Fri, 4 Sep 2015 08:17:07 +0100 Subject: [PATCH 1/2] Restructured DNS Record classes for consistency --- src/CloudFlare.NET/CloudFlare.NET.csproj | 9 +-- src/CloudFlare.NET/CloudFlareClient.cs | 30 +--------- .../DnsRecordClient.Implementation.cs | 40 +++++++++++++ ...Client.cs => DnsRecordClient.Interface.cs} | 4 +- .../DnsRecordClientExtensions.cs | 8 +-- ...arameters.cs => DnsRecordGetParameters.cs} | 14 ++--- ...ns.cs => DnsRecordHttpClientExtensions.cs} | 4 +- ...erFieldTypes.cs => DnsRecordOrderTypes.cs} | 2 +- .../CloudFlare.NET.Tests.csproj | 4 +- .../DnsRecordClientExtensionsSpec.cs | 14 ++--- .../DnsRecordClientSpec.cs | 35 ++++++------ ...nSpec.cs => DnsRecordGetParametersSpec.cs} | 56 +++++++++---------- ...dSerializationSpec.cs => DnsRecordSpec.cs} | 0 .../CloudFlareClientExtensionsSpec.cs | 2 +- 14 files changed, 117 insertions(+), 105 deletions(-) create mode 100644 src/CloudFlare.NET/DnsRecordClient.Implementation.cs rename src/CloudFlare.NET/{IDnsRecordClient.cs => DnsRecordClient.Interface.cs} (92%) rename src/CloudFlare.NET/{PagedDnsRecordParameters.cs => DnsRecordGetParameters.cs} (73%) rename src/CloudFlare.NET/{HttpClientDnsRecordExtensions.cs => DnsRecordHttpClientExtensions.cs} (92%) rename src/CloudFlare.NET/{PagedDnsRecordOrderFieldTypes.cs => DnsRecordOrderTypes.cs} (94%) rename src/Tests/CloudFlare.NET.Tests/Serialization/{PagedDnsRecordParametersSerializationSpec.cs => DnsRecordGetParametersSpec.cs} (67%) rename src/Tests/CloudFlare.NET.Tests/Serialization/{DnsRecordSerializationSpec.cs => DnsRecordSpec.cs} (100%) diff --git a/src/CloudFlare.NET/CloudFlare.NET.csproj b/src/CloudFlare.NET/CloudFlare.NET.csproj index ef8c8a3..8a7f552 100644 --- a/src/CloudFlare.NET/CloudFlare.NET.csproj +++ b/src/CloudFlare.NET/CloudFlare.NET.csproj @@ -72,20 +72,21 @@ + + + + + - - - - diff --git a/src/CloudFlare.NET/CloudFlareClient.cs b/src/CloudFlare.NET/CloudFlareClient.cs index a3b2c82..50f998f 100644 --- a/src/CloudFlare.NET/CloudFlareClient.cs +++ b/src/CloudFlare.NET/CloudFlareClient.cs @@ -13,7 +13,7 @@ /// [DebuggerDisplay("{DebuggerDisplay,nq}")] - public class CloudFlareClient : ICloudFlareClient + public partial class CloudFlareClient : ICloudFlareClient { private static readonly Lazy LazyClient = new Lazy( () => CreateDefaultHttpClient(), @@ -173,34 +173,6 @@ public Task GetZoneAsync( return _client.GetZoneAsync(zoneId, cancellationToken, auth ?? _auth); } - /// - public Task>> GetDnsRecordsAsync( - IdentifierTag zoneId, - CancellationToken cancellationToken, - PagedDnsRecordParameters parameters = null, - CloudFlareAuth auth = null) - { - return _client.GetDnsRecordsAsync(zoneId, cancellationToken, auth ?? _auth, parameters); - } - - /// - public Task> GetAllDnsRecordsAsync( - IdentifierTag zoneId, - CancellationToken cancellationToken, - PagedDnsRecordParameters parameters = null, - CloudFlareAuth auth = null) - { - if (zoneId == null) - throw new ArgumentNullException(nameof(zoneId)); - - return GetAllPagedResultsAsync( - (ct, a, p) => _client.GetDnsRecordsAsync(zoneId, ct, a, p), - cancellationToken, - auth ?? _auth, - 100, - parameters); - } - private static async Task> GetAllPagedResultsAsync( Func>>> request, CancellationToken cancellationToken, diff --git a/src/CloudFlare.NET/DnsRecordClient.Implementation.cs b/src/CloudFlare.NET/DnsRecordClient.Implementation.cs new file mode 100644 index 0000000..1e73d24 --- /dev/null +++ b/src/CloudFlare.NET/DnsRecordClient.Implementation.cs @@ -0,0 +1,40 @@ +namespace CloudFlare.NET +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading; + using System.Threading.Tasks; + + /// + public partial class CloudFlareClient : IDnsRecordClient + { + /// + public Task>> GetDnsRecordsAsync( + IdentifierTag zoneId, + CancellationToken cancellationToken, + DnsRecordGetParameters parameters = null, + CloudFlareAuth auth = null) + { + return _client.GetDnsRecordsAsync(zoneId, cancellationToken, auth ?? _auth, parameters); + } + + /// + public Task> GetAllDnsRecordsAsync( + IdentifierTag zoneId, + CancellationToken cancellationToken, + DnsRecordGetParameters parameters = null, + CloudFlareAuth auth = null) + { + if (zoneId == null) + throw new ArgumentNullException(nameof(zoneId)); + + return GetAllPagedResultsAsync( + (ct, a, p) => _client.GetDnsRecordsAsync(zoneId, ct, a, p), + cancellationToken, + auth ?? _auth, + 100, + parameters); + } + } +} diff --git a/src/CloudFlare.NET/IDnsRecordClient.cs b/src/CloudFlare.NET/DnsRecordClient.Interface.cs similarity index 92% rename from src/CloudFlare.NET/IDnsRecordClient.cs rename to src/CloudFlare.NET/DnsRecordClient.Interface.cs index dcddb43..b62e304 100644 --- a/src/CloudFlare.NET/IDnsRecordClient.cs +++ b/src/CloudFlare.NET/DnsRecordClient.Interface.cs @@ -19,7 +19,7 @@ public interface IDnsRecordClient Task>> GetDnsRecordsAsync( IdentifierTag zoneId, CancellationToken cancellationToken, - PagedDnsRecordParameters parameters = null, + DnsRecordGetParameters parameters = null, CloudFlareAuth auth = null); /// @@ -30,7 +30,7 @@ Task>> GetDnsRecordsAsync( Task> GetAllDnsRecordsAsync( IdentifierTag zoneId, CancellationToken cancellationToken, - PagedDnsRecordParameters parameters = null, + DnsRecordGetParameters parameters = null, CloudFlareAuth auth = null); } } diff --git a/src/CloudFlare.NET/DnsRecordClientExtensions.cs b/src/CloudFlare.NET/DnsRecordClientExtensions.cs index 6203722..1cfb51f 100644 --- a/src/CloudFlare.NET/DnsRecordClientExtensions.cs +++ b/src/CloudFlare.NET/DnsRecordClientExtensions.cs @@ -18,7 +18,7 @@ public static class DnsRecordClientExtensions public static Task>> GetDnsRecordsAsync( this IDnsRecordClient client, IdentifierTag zoneId, - PagedDnsRecordParameters parameters = null) + DnsRecordGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); @@ -36,7 +36,7 @@ public static Task>> GetDnsRecordsAs this IDnsRecordClient client, IdentifierTag zoneId, CloudFlareAuth auth, - PagedDnsRecordParameters parameters = null) + DnsRecordGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); @@ -55,7 +55,7 @@ public static Task>> GetDnsRecordsAs public static Task> GetAllDnsRecordsAsync( this IDnsRecordClient client, IdentifierTag zoneId, - PagedDnsRecordParameters parameters = null) + DnsRecordGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); @@ -73,7 +73,7 @@ public static Task> GetAllDnsRecordsAsync( this IDnsRecordClient client, IdentifierTag zoneId, CloudFlareAuth auth, - PagedDnsRecordParameters parameters = null) + DnsRecordGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); diff --git a/src/CloudFlare.NET/PagedDnsRecordParameters.cs b/src/CloudFlare.NET/DnsRecordGetParameters.cs similarity index 73% rename from src/CloudFlare.NET/PagedDnsRecordParameters.cs rename to src/CloudFlare.NET/DnsRecordGetParameters.cs index e7f5b8e..0c01983 100644 --- a/src/CloudFlare.NET/PagedDnsRecordParameters.cs +++ b/src/CloudFlare.NET/DnsRecordGetParameters.cs @@ -10,18 +10,18 @@ /// Specifies the parameters of the request. /// /// - public class PagedDnsRecordParameters : PagedParameters + public class DnsRecordGetParameters : PagedParameters { /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// - public PagedDnsRecordParameters( + public DnsRecordGetParameters( DnsRecordType? type = null, string name = null, string content = null, int page = 0, int perPage = 0, - PagedDnsRecordOrderFieldTypes order = default(PagedDnsRecordOrderFieldTypes), + DnsRecordOrderTypes order = default(DnsRecordOrderTypes), PagedParametersOrderType direction = default(PagedParametersOrderType), PagedParametersMatchType match = default(PagedParametersMatchType)) : base(page, perPage, order, direction, match) @@ -50,15 +50,15 @@ public PagedDnsRecordParameters( public string Content { get; } /// - /// Creates a from the copying any matching + /// Creates a from the copying any matching /// properties. /// - public static PagedDnsRecordParameters Create(object data) + public static DnsRecordGetParameters Create(object data) { if (data == null) throw new ArgumentNullException(nameof(data)); - return JObject.FromObject(data).ToObject(); + return JObject.FromObject(data).ToObject(); } } } diff --git a/src/CloudFlare.NET/HttpClientDnsRecordExtensions.cs b/src/CloudFlare.NET/DnsRecordHttpClientExtensions.cs similarity index 92% rename from src/CloudFlare.NET/HttpClientDnsRecordExtensions.cs rename to src/CloudFlare.NET/DnsRecordHttpClientExtensions.cs index 4df679b..6f06b87 100644 --- a/src/CloudFlare.NET/HttpClientDnsRecordExtensions.cs +++ b/src/CloudFlare.NET/DnsRecordHttpClientExtensions.cs @@ -11,7 +11,7 @@ /// Extension methods on to wrap the Zone APIs /// /// - public static class HttpClientDnsRecordExtensions + public static class DnsRecordHttpClientExtensions { /// /// Gets the zones for the account specified by the details. @@ -22,7 +22,7 @@ public static Task>> GetDnsRecordsAs IdentifierTag zoneId, CancellationToken cancellationToken, CloudFlareAuth auth, - PagedDnsRecordParameters parameters = null) + DnsRecordGetParameters parameters = null) { if (zoneId == null) throw new ArgumentNullException(nameof(zoneId)); diff --git a/src/CloudFlare.NET/PagedDnsRecordOrderFieldTypes.cs b/src/CloudFlare.NET/DnsRecordOrderTypes.cs similarity index 94% rename from src/CloudFlare.NET/PagedDnsRecordOrderFieldTypes.cs rename to src/CloudFlare.NET/DnsRecordOrderTypes.cs index d81d571..011d701 100644 --- a/src/CloudFlare.NET/PagedDnsRecordOrderFieldTypes.cs +++ b/src/CloudFlare.NET/DnsRecordOrderTypes.cs @@ -15,7 +15,7 @@ [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1303:ConstFieldNamesMustBeginWithUpperCaseLetter", Justification = "Named to match serialized values.")] [JsonConverter(typeof(StringEnumConverter))] - public enum PagedDnsRecordOrderFieldTypes + public enum DnsRecordOrderTypes { none, type, diff --git a/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj b/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj index e9d2854..889353d 100644 --- a/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj +++ b/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj @@ -120,10 +120,10 @@ - + + - diff --git a/src/Tests/CloudFlare.NET.Tests/DnsRecordClientExtensionsSpec.cs b/src/Tests/CloudFlare.NET.Tests/DnsRecordClientExtensionsSpec.cs index 72ab588..00bd6d4 100644 --- a/src/Tests/CloudFlare.NET.Tests/DnsRecordClientExtensionsSpec.cs +++ b/src/Tests/CloudFlare.NET.Tests/DnsRecordClientExtensionsSpec.cs @@ -1,4 +1,4 @@ -namespace CloudFlare.NET.DnsRecordSpec +namespace CloudFlare.NET.DnsRecordClientExtensionsSpec { using System; using System.Collections.Generic; @@ -29,7 +29,7 @@ public class When_getting_dns_records : FixtureContext c => c.GetDnsRecordsAsync( _zoneId, CancellationToken.None, - default(PagedDnsRecordParameters), + default(DnsRecordGetParameters), _auth)) .ReturnsAsync(_expected); }; @@ -44,7 +44,7 @@ public class When_getting_dns_records_with_parameters : FixtureContext { static Mock _dnsRecordClientMock; static IdentifierTag _zoneId; - static PagedDnsRecordParameters _parameters; + static DnsRecordGetParameters _parameters; static CloudFlareResponse> _expected; static CloudFlareResponse> _actual; @@ -52,7 +52,7 @@ public class When_getting_dns_records_with_parameters : FixtureContext { _dnsRecordClientMock = _fixture.Create>(); _zoneId = _fixture.Create(); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); _expected = _fixture.Create>>(); _dnsRecordClientMock .Setup( @@ -85,7 +85,7 @@ public class When_getting_all_dns_records : FixtureContext c => c.GetAllDnsRecordsAsync( _zoneId, CancellationToken.None, - default(PagedDnsRecordParameters), + default(DnsRecordGetParameters), _auth)) .ReturnsAsync(_expected); }; @@ -101,7 +101,7 @@ public class When_getting_all_dns_records_with_parameters : FixtureContext { static Mock _dnsRecordClientMock; static IdentifierTag _zoneId; - static PagedDnsRecordParameters _parameters; + static DnsRecordGetParameters _parameters; static IEnumerable _expected; static IEnumerable _actual; @@ -109,7 +109,7 @@ public class When_getting_all_dns_records_with_parameters : FixtureContext { _dnsRecordClientMock = _fixture.Create>(); _zoneId = _fixture.Create(); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); _expected = _fixture.CreateMany(); _dnsRecordClientMock .Setup( diff --git a/src/Tests/CloudFlare.NET.Tests/DnsRecordClientSpec.cs b/src/Tests/CloudFlare.NET.Tests/DnsRecordClientSpec.cs index 49f5502..6efc45d 100644 --- a/src/Tests/CloudFlare.NET.Tests/DnsRecordClientSpec.cs +++ b/src/Tests/CloudFlare.NET.Tests/DnsRecordClientSpec.cs @@ -4,12 +4,11 @@ using System.Collections.Generic; using System.Linq; using System.Net.Http; - using System.Threading; using Machine.Specifications; using Newtonsoft.Json.Linq; using Ploeh.AutoFixture; - [Subject(typeof(CloudFlareClient))] + [Subject("DnsRecordClient")] public class When_getting_dns_records : RequestContext { static IdentifierTag _zoneId; @@ -38,13 +37,13 @@ It should_request_the_DNS_records_endpoint _actual.Result.Select(i => i.AsLikeness().CreateProxy()).SequenceEqual(_expected.Result).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("DnsRecordClient")] public class When_getting_dns_records_with_parameters : RequestContext { static IdentifierTag _zoneId; static CloudFlareResponse> _expected; static CloudFlareResponse> _actual; - static PagedDnsRecordParameters _parameters; + static DnsRecordGetParameters _parameters; static Uri _expectedRequestUri; Establish context = () => @@ -54,11 +53,11 @@ public class When_getting_dns_records_with_parameters : RequestContext _handler.SetResponseContent(_expected); // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedDnsRecordOrderFieldTypes.proxied); + _fixture.Inject(DnsRecordOrderTypes.proxied); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); _expectedRequestUri = new Uri(CloudFlareConstants.BaseUri, $"zones/{_zoneId}/dns_records?{_parameters.ToQuery()}"); @@ -77,7 +76,7 @@ It should_request_the_DNS_records_endpoint _actual.Result.Select(i => i.AsLikeness().CreateProxy()).SequenceEqual(_expected.Result).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("DnsRecordClient")] public class When_getting_all_dns_records : GetAllResultsContext { static IdentifierTag _zoneId; @@ -89,9 +88,9 @@ public class When_getting_all_dns_records : GetAllResultsContext { _zoneId = _fixture.Create(); - string firstParams = new PagedDnsRecordParameters(page: 1, perPage: 100).ToQuery(); - string secondParams = new PagedDnsRecordParameters(page: 2, perPage: 100).ToQuery(); - string lastParams = new PagedDnsRecordParameters(page: 3, perPage: 100).ToQuery(); + string firstParams = new DnsRecordGetParameters(page: 1, perPage: 100).ToQuery(); + string secondParams = new DnsRecordGetParameters(page: 2, perPage: 100).ToQuery(); + string lastParams = new DnsRecordGetParameters(page: 3, perPage: 100).ToQuery(); _expectedFirstRequestUri = new Uri(CloudFlareConstants.BaseUri, $"zones/{_zoneId}/dns_records?{firstParams}"); @@ -118,11 +117,11 @@ public class When_getting_all_dns_records : GetAllResultsContext _actual.Select(z => z.AsLikeness().CreateProxy()).SequenceEqual(_expected).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("DnsRecordClient")] public class When_getting_all_dns_records_with_parameters : GetAllResultsContext { static IdentifierTag _zoneId; - static PagedDnsRecordParameters _parameters; + static DnsRecordGetParameters _parameters; static Uri _expectedFirstRequestUri; static Uri _expectedSecondRequestUri; static Uri _expectedLastRequestUri; @@ -132,23 +131,23 @@ public class When_getting_all_dns_records_with_parameters : GetAllResultsContext _zoneId = _fixture.Create(); // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedDnsRecordOrderFieldTypes.proxied); + _fixture.Inject(DnsRecordOrderTypes.proxied); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); JObject first = JObject.FromObject(_parameters); first.Merge(JObject.FromObject(new { page = 1, per_page = 100 })); - string firstParams = first.ToObject().ToQuery(); + string firstParams = first.ToObject().ToQuery(); JObject second = JObject.FromObject(_parameters); second.Merge(JObject.FromObject(new { page = 2, per_page = 100 })); - string secondParams = second.ToObject().ToQuery(); + string secondParams = second.ToObject().ToQuery(); JObject last = JObject.FromObject(_parameters); last.Merge(JObject.FromObject(new { page = 3, per_page = 100 })); - string lastParams = last.ToObject().ToQuery(); + string lastParams = last.ToObject().ToQuery(); _expectedFirstRequestUri = new Uri(CloudFlareConstants.BaseUri, $"zones/{_zoneId}/dns_records?{firstParams}"); @@ -175,7 +174,7 @@ public class When_getting_all_dns_records_with_parameters : GetAllResultsContext _actual.Select(z => z.AsLikeness().CreateProxy()).SequenceEqual(_expected).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("DnsRecordClient")] public class When_getting_dnsRecords_and_an_error_occurs : ErredRequestContext { static IdentifierTag _zoneId; diff --git a/src/Tests/CloudFlare.NET.Tests/Serialization/PagedDnsRecordParametersSerializationSpec.cs b/src/Tests/CloudFlare.NET.Tests/Serialization/DnsRecordGetParametersSpec.cs similarity index 67% rename from src/Tests/CloudFlare.NET.Tests/Serialization/PagedDnsRecordParametersSerializationSpec.cs rename to src/Tests/CloudFlare.NET.Tests/Serialization/DnsRecordGetParametersSpec.cs index b05c45d..0fcc8c4 100644 --- a/src/Tests/CloudFlare.NET.Tests/Serialization/PagedDnsRecordParametersSerializationSpec.cs +++ b/src/Tests/CloudFlare.NET.Tests/Serialization/DnsRecordGetParametersSpec.cs @@ -1,4 +1,4 @@ -namespace CloudFlare.NET.Serialization.PagedDnsRecordParametersSpec +namespace CloudFlare.NET.Serialization.DnsRecordGetParametersSpec { using System; using System.Collections.Generic; @@ -10,17 +10,17 @@ using Newtonsoft.Json.Linq; using Ploeh.AutoFixture; - [Subject(typeof(PagedDnsRecordParameters))] + [Subject(typeof(DnsRecordGetParameters))] public class When_serializing : FixtureContext { - protected static PagedDnsRecordParameters _sut; + protected static DnsRecordGetParameters _sut; protected static JObject _json; - Establish context = () => _sut = _fixture.Create(); + Establish context = () => _sut = _fixture.Create(); Because of = () => _json = JObject.FromObject(_sut); - Behaves_like> paged_parameters_serialize_behavior; + Behaves_like> paged_parameters_serialize_behavior; It should_serialize_type = () => _sut.Type.ToString().ShouldEqual(_json["type"].Value()); @@ -29,33 +29,33 @@ public class When_serializing : FixtureContext It should_serialize_content = () => _sut.Content.ShouldEqual(_json["content"].Value()); } - [Subject(typeof(PagedDnsRecordParameters))] + [Subject(typeof(DnsRecordGetParameters))] public class When_serializing_and_deserializing : FixtureContext { - static PagedDnsRecordParameters _expected; - static PagedDnsRecordParameters _actual; + static DnsRecordGetParameters _expected; + static DnsRecordGetParameters _actual; - Establish context = () => _expected = _fixture.Create(); + Establish context = () => _expected = _fixture.Create(); Because of = () => { var serializeObject = JsonConvert.SerializeObject(_expected); - _actual = JObject.FromObject(_expected).ToObject(); + _actual = JObject.FromObject(_expected).ToObject(); }; It should_retain_all_properties = () => _actual.AsLikeness().ShouldEqual(_expected); } - [Subject(typeof(PagedDnsRecordParameters))] + [Subject(typeof(DnsRecordGetParameters))] public class When_creating_with_a_subset_of_properties : FixtureContext { - static PagedDnsRecordParameters _expected; + static DnsRecordGetParameters _expected; static object _source; - static PagedDnsRecordParameters _actual; + static DnsRecordGetParameters _actual; Establish context = () => { - _expected = _fixture.Create(); + _expected = _fixture.Create(); _source = new { _expected.Name, @@ -64,7 +64,7 @@ public class When_creating_with_a_subset_of_properties : FixtureContext }; }; - Because of = () => _actual = PagedDnsRecordParameters.Create(_source); + Because of = () => _actual = DnsRecordGetParameters.Create(_source); It should_retain_all_properties = () => _actual.AsLikeness() @@ -75,38 +75,38 @@ public class When_creating_with_a_subset_of_properties : FixtureContext .ShouldEqual(_expected); } - [Subject(typeof(PagedDnsRecordParameters))] + [Subject(typeof(DnsRecordGetParameters))] public class When_converting_to_key_value_pair_with_all_default_values { - static PagedDnsRecordParameters _parameters; + static DnsRecordGetParameters _parameters; static IEnumerable> _result; - Establish context = () => _parameters = new PagedDnsRecordParameters(); + Establish context = () => _parameters = new DnsRecordGetParameters(); Because of = () => _result = _parameters.ToKvp(); It should_have_no_values = () => _result.ShouldBeEmpty(); } - [Subject(typeof(PagedDnsRecordParameters))] + [Subject(typeof(DnsRecordGetParameters))] public class When_converting_to_key_value_pair_with_no_default_values : FixtureContext { - protected static PagedDnsRecordParameters _parameters; + protected static DnsRecordGetParameters _parameters; protected static Dictionary _result; Establish context = () => { // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedDnsRecordOrderFieldTypes.proxied); + _fixture.Inject(DnsRecordOrderTypes.proxied); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); }; Because of = () => _result = _parameters.ToKvp().ToDictionary(kvp => kvp.Key, kvp => kvp.Value); - Behaves_like> paged_parameters_kvp_behavior; + Behaves_like> paged_parameters_kvp_behavior; It should_have_type_value = () => _result["type"].ShouldEqual(_parameters.Type.ToString()); @@ -115,20 +115,20 @@ public class When_converting_to_key_value_pair_with_no_default_values : FixtureC It should_have_content_value = () => _result["content"].ShouldEqual(_parameters.Content); } - [Subject(typeof(PagedDnsRecordParameters))] + [Subject(typeof(DnsRecordGetParameters))] public class When_converting_to_query_string : FixtureContext { - protected static PagedDnsRecordParameters _parameters; + protected static DnsRecordGetParameters _parameters; protected static Dictionary _result; Establish context = () => { // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedDnsRecordOrderFieldTypes.proxied); + _fixture.Inject(DnsRecordOrderTypes.proxied); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); }; Because of = () => @@ -142,7 +142,7 @@ public class When_converting_to_query_string : FixtureContext _result = kvp.Cast().ToDictionary(k => k, k => kvp[k]); }; - Behaves_like> paged_parameters_kvp_behavior; + Behaves_like> paged_parameters_kvp_behavior; It should_have_type_value = () => _result["type"].ShouldEqual(_parameters.Type.ToString()); diff --git a/src/Tests/CloudFlare.NET.Tests/Serialization/DnsRecordSerializationSpec.cs b/src/Tests/CloudFlare.NET.Tests/Serialization/DnsRecordSpec.cs similarity index 100% rename from src/Tests/CloudFlare.NET.Tests/Serialization/DnsRecordSerializationSpec.cs rename to src/Tests/CloudFlare.NET.Tests/Serialization/DnsRecordSpec.cs diff --git a/src/Tests/CloudFlare.NET.Yaml.Tests/CloudFlareClientExtensionsSpec.cs b/src/Tests/CloudFlare.NET.Yaml.Tests/CloudFlareClientExtensionsSpec.cs index c245f34..9b0143c 100644 --- a/src/Tests/CloudFlare.NET.Yaml.Tests/CloudFlareClientExtensionsSpec.cs +++ b/src/Tests/CloudFlare.NET.Yaml.Tests/CloudFlareClientExtensionsSpec.cs @@ -31,7 +31,7 @@ public class When_getting_all_the_zone_data : FixtureContext c => c.GetAllDnsRecordsAsync( _expectedZone.Id, CancellationToken.None, - default(PagedDnsRecordParameters), + default(DnsRecordGetParameters), _auth)) .ReturnsAsync(_expectedDnsRecords); }; From 535ccdd37f2349ab746ed39da3b484916d71aead Mon Sep 17 00:00:00 2001 From: James Skimming Date: Fri, 4 Sep 2015 13:48:20 +0100 Subject: [PATCH 2/2] Restructured Zone classes for consistency --- src/CloudFlare.NET/CloudFlare.NET.csproj | 9 +-- src/CloudFlare.NET/CloudFlareClient.cs | 32 ----------- .../ZoneClient.Implementation.cs | 44 +++++++++++++++ ...IZoneClient.cs => ZoneClient.Interface.cs} | 4 +- src/CloudFlare.NET/ZoneClientExtensions.cs | 8 +-- ...ZoneParameters.cs => ZoneGetParameters.cs} | 14 ++--- ...ensions.cs => ZoneHttpClientExtensions.cs} | 4 +- ...neOrderFieldTypes.cs => ZoneOrderTypes.cs} | 2 +- .../CloudFlare.NET.Tests.csproj | 6 +- ...zationSpec.cs => ZoneGetParametersSpec.cs} | 56 +++++++++---------- .../{ZoneSerializationSpec.cs => ZoneSpec.cs} | 0 .../ZoneClientExtensionsSpec.cs | 12 ++-- .../CloudFlare.NET.Tests/ZoneClientSpec.cs | 39 +++++++------ 13 files changed, 121 insertions(+), 109 deletions(-) create mode 100644 src/CloudFlare.NET/ZoneClient.Implementation.cs rename src/CloudFlare.NET/{IZoneClient.cs => ZoneClient.Interface.cs} (92%) rename src/CloudFlare.NET/{PagedZoneParameters.cs => ZoneGetParameters.cs} (71%) rename src/CloudFlare.NET/{HttpClientZoneExtensions.cs => ZoneHttpClientExtensions.cs} (94%) rename src/CloudFlare.NET/{PagedZoneOrderFieldTypes.cs => ZoneOrderTypes.cs} (94%) rename src/Tests/CloudFlare.NET.Tests/Serialization/{PagedZoneParametersSerializationSpec.cs => ZoneGetParametersSpec.cs} (67%) rename src/Tests/CloudFlare.NET.Tests/Serialization/{ZoneSerializationSpec.cs => ZoneSpec.cs} (100%) diff --git a/src/CloudFlare.NET/CloudFlare.NET.csproj b/src/CloudFlare.NET/CloudFlare.NET.csproj index 8a7f552..ef1542f 100644 --- a/src/CloudFlare.NET/CloudFlare.NET.csproj +++ b/src/CloudFlare.NET/CloudFlare.NET.csproj @@ -80,23 +80,24 @@ - - - - + + + + + diff --git a/src/CloudFlare.NET/CloudFlareClient.cs b/src/CloudFlare.NET/CloudFlareClient.cs index 50f998f..6ef0fdd 100644 --- a/src/CloudFlare.NET/CloudFlareClient.cs +++ b/src/CloudFlare.NET/CloudFlareClient.cs @@ -141,38 +141,6 @@ public static HttpClientHandler CreateDefaultHttpClientHandler() return handler; } - /// - public Task>> GetZonesAsync( - CancellationToken cancellationToken, - PagedZoneParameters parameters = null, - CloudFlareAuth auth = null) - { - return _client.GetZonesAsync(cancellationToken, auth ?? _auth, parameters); - } - - /// - public Task> GetAllZonesAsync( - CancellationToken cancellationToken, - PagedZoneParameters parameters = null, - CloudFlareAuth auth = null) - { - return GetAllPagedResultsAsync( - _client.GetZonesAsync, - cancellationToken, - auth ?? _auth, - 50, - parameters); - } - - /// - public Task GetZoneAsync( - IdentifierTag zoneId, - CancellationToken cancellationToken, - CloudFlareAuth auth = null) - { - return _client.GetZoneAsync(zoneId, cancellationToken, auth ?? _auth); - } - private static async Task> GetAllPagedResultsAsync( Func>>> request, CancellationToken cancellationToken, diff --git a/src/CloudFlare.NET/ZoneClient.Implementation.cs b/src/CloudFlare.NET/ZoneClient.Implementation.cs new file mode 100644 index 0000000..f8284bf --- /dev/null +++ b/src/CloudFlare.NET/ZoneClient.Implementation.cs @@ -0,0 +1,44 @@ +namespace CloudFlare.NET +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading; + using System.Threading.Tasks; + + /// + public partial class CloudFlareClient : IZoneClient + { + /// + public Task>> GetZonesAsync( + CancellationToken cancellationToken, + ZoneGetParameters parameters = null, + CloudFlareAuth auth = null) + { + return _client.GetZonesAsync(cancellationToken, auth ?? _auth, parameters); + } + + /// + public Task> GetAllZonesAsync( + CancellationToken cancellationToken, + ZoneGetParameters parameters = null, + CloudFlareAuth auth = null) + { + return GetAllPagedResultsAsync( + _client.GetZonesAsync, + cancellationToken, + auth ?? _auth, + 50, + parameters); + } + + /// + public Task GetZoneAsync( + IdentifierTag zoneId, + CancellationToken cancellationToken, + CloudFlareAuth auth = null) + { + return _client.GetZoneAsync(zoneId, cancellationToken, auth ?? _auth); + } + } +} diff --git a/src/CloudFlare.NET/IZoneClient.cs b/src/CloudFlare.NET/ZoneClient.Interface.cs similarity index 92% rename from src/CloudFlare.NET/IZoneClient.cs rename to src/CloudFlare.NET/ZoneClient.Interface.cs index c1d5172..6298ba6 100644 --- a/src/CloudFlare.NET/IZoneClient.cs +++ b/src/CloudFlare.NET/ZoneClient.Interface.cs @@ -18,7 +18,7 @@ public interface IZoneClient /// Task>> GetZonesAsync( CancellationToken cancellationToken, - PagedZoneParameters parameters = null, + ZoneGetParameters parameters = null, CloudFlareAuth auth = null); /// @@ -27,7 +27,7 @@ Task>> GetZonesAsync( /// Task> GetAllZonesAsync( CancellationToken cancellationToken, - PagedZoneParameters parameters = null, + ZoneGetParameters parameters = null, CloudFlareAuth auth = null); /// diff --git a/src/CloudFlare.NET/ZoneClientExtensions.cs b/src/CloudFlare.NET/ZoneClientExtensions.cs index d03cc3a..9d12ea5 100644 --- a/src/CloudFlare.NET/ZoneClientExtensions.cs +++ b/src/CloudFlare.NET/ZoneClientExtensions.cs @@ -17,7 +17,7 @@ public static class ZoneClientExtensions /// public static Task>> GetZonesAsync( this IZoneClient client, - PagedZoneParameters parameters = null) + ZoneGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); @@ -32,7 +32,7 @@ public static Task>> GetZonesAsync( public static Task>> GetZonesAsync( this IZoneClient client, CloudFlareAuth auth, - PagedZoneParameters parameters = null) + ZoneGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); @@ -48,7 +48,7 @@ public static Task>> GetZonesAsync( /// public static Task> GetAllZonesAsync( this IZoneClient client, - PagedZoneParameters parameters = null) + ZoneGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); @@ -63,7 +63,7 @@ public static Task> GetAllZonesAsync( public static Task> GetAllZonesAsync( this IZoneClient client, CloudFlareAuth auth, - PagedZoneParameters parameters = null) + ZoneGetParameters parameters = null) { if (client == null) throw new ArgumentNullException(nameof(client)); diff --git a/src/CloudFlare.NET/PagedZoneParameters.cs b/src/CloudFlare.NET/ZoneGetParameters.cs similarity index 71% rename from src/CloudFlare.NET/PagedZoneParameters.cs rename to src/CloudFlare.NET/ZoneGetParameters.cs index e9ba1d4..15273ee 100644 --- a/src/CloudFlare.NET/PagedZoneParameters.cs +++ b/src/CloudFlare.NET/ZoneGetParameters.cs @@ -10,17 +10,17 @@ /// Specifies the parameters of the request. /// /// - public class PagedZoneParameters : PagedParameters + public class ZoneGetParameters : PagedParameters { /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// - public PagedZoneParameters( + public ZoneGetParameters( string name = null, ZoneStatusType? status = null, int page = 0, int perPage = 0, - PagedZoneOrderFieldTypes order = default(PagedZoneOrderFieldTypes), + ZoneOrderTypes order = default(ZoneOrderTypes), PagedParametersOrderType direction = default(PagedParametersOrderType), PagedParametersMatchType match = default(PagedParametersMatchType)) : base(page, perPage, order, direction, match) @@ -42,15 +42,15 @@ public PagedZoneParameters( public ZoneStatusType? Status { get; } /// - /// Creates a from the copying any matching + /// Creates a from the copying any matching /// properties. /// - public static PagedZoneParameters Create(object data) + public static ZoneGetParameters Create(object data) { if (data == null) throw new ArgumentNullException(nameof(data)); - return JObject.FromObject(data).ToObject(); + return JObject.FromObject(data).ToObject(); } } } diff --git a/src/CloudFlare.NET/HttpClientZoneExtensions.cs b/src/CloudFlare.NET/ZoneHttpClientExtensions.cs similarity index 94% rename from src/CloudFlare.NET/HttpClientZoneExtensions.cs rename to src/CloudFlare.NET/ZoneHttpClientExtensions.cs index 2308577..3d32476 100644 --- a/src/CloudFlare.NET/HttpClientZoneExtensions.cs +++ b/src/CloudFlare.NET/ZoneHttpClientExtensions.cs @@ -11,7 +11,7 @@ /// Extension methods on to wrap the Zone APIs /// /// - public static class HttpClientZoneExtensions + public static class ZoneHttpClientExtensions { /// /// Gets the zones for the account specified by the details. @@ -21,7 +21,7 @@ public static Task>> GetZonesAsync( this HttpClient client, CancellationToken cancellationToken, CloudFlareAuth auth, - PagedZoneParameters parameters = null) + ZoneGetParameters parameters = null) { Uri uri = new Uri(CloudFlareConstants.BaseUri, "zones"); if (parameters != null) diff --git a/src/CloudFlare.NET/PagedZoneOrderFieldTypes.cs b/src/CloudFlare.NET/ZoneOrderTypes.cs similarity index 94% rename from src/CloudFlare.NET/PagedZoneOrderFieldTypes.cs rename to src/CloudFlare.NET/ZoneOrderTypes.cs index 8ae86e2..7d8ef21 100644 --- a/src/CloudFlare.NET/PagedZoneOrderFieldTypes.cs +++ b/src/CloudFlare.NET/ZoneOrderTypes.cs @@ -15,7 +15,7 @@ [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1303:ConstFieldNamesMustBeginWithUpperCaseLetter", Justification = "Named to match serialized values.")] [JsonConverter(typeof(StringEnumConverter))] - public enum PagedZoneOrderFieldTypes + public enum ZoneOrderTypes { none, name, diff --git a/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj b/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj index 889353d..3fe1187 100644 --- a/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj +++ b/src/Tests/CloudFlare.NET.Tests/CloudFlare.NET.Tests.csproj @@ -122,13 +122,13 @@ - - - + + + diff --git a/src/Tests/CloudFlare.NET.Tests/Serialization/PagedZoneParametersSerializationSpec.cs b/src/Tests/CloudFlare.NET.Tests/Serialization/ZoneGetParametersSpec.cs similarity index 67% rename from src/Tests/CloudFlare.NET.Tests/Serialization/PagedZoneParametersSerializationSpec.cs rename to src/Tests/CloudFlare.NET.Tests/Serialization/ZoneGetParametersSpec.cs index 9997067..3203819 100644 --- a/src/Tests/CloudFlare.NET.Tests/Serialization/PagedZoneParametersSerializationSpec.cs +++ b/src/Tests/CloudFlare.NET.Tests/Serialization/ZoneGetParametersSpec.cs @@ -1,4 +1,4 @@ -namespace CloudFlare.NET.Serialization.PagedZoneParametersSpec +namespace CloudFlare.NET.Serialization.ZoneGetParametersSpec { using System; using System.Collections.Generic; @@ -10,50 +10,50 @@ using Newtonsoft.Json.Linq; using Ploeh.AutoFixture; - [Subject(typeof(PagedZoneParameters))] + [Subject(typeof(ZoneGetParameters))] public class When_serializing : FixtureContext { - protected static PagedZoneParameters _sut; + protected static ZoneGetParameters _sut; protected static JObject _json; - Establish context = () => _sut = _fixture.Create(); + Establish context = () => _sut = _fixture.Create(); Because of = () => _json = JObject.FromObject(_sut); - Behaves_like> paged_parameters_serialize_behavior; + Behaves_like> paged_parameters_serialize_behavior; It should_serialize_name = () => _sut.Name.ShouldEqual(_json["name"].Value()); It should_serialize_status = () => _sut.Status.ToString().ShouldEqual(_json["status"].Value()); } - [Subject(typeof(PagedZoneParameters))] + [Subject(typeof(ZoneGetParameters))] public class When_serializing_and_deserializing : FixtureContext { - static PagedZoneParameters _expected; - static PagedZoneParameters _actual; + static ZoneGetParameters _expected; + static ZoneGetParameters _actual; - Establish context = () => _expected = _fixture.Create(); + Establish context = () => _expected = _fixture.Create(); Because of = () => { var serializeObject = JsonConvert.SerializeObject(_expected); - _actual = JObject.FromObject(_expected).ToObject(); + _actual = JObject.FromObject(_expected).ToObject(); }; It should_retain_all_properties = () => _actual.AsLikeness().ShouldEqual(_expected); } - [Subject(typeof(PagedZoneParameters))] + [Subject(typeof(ZoneGetParameters))] public class When_creating_with_a_subset_of_properties : FixtureContext { - static PagedZoneParameters _expected; + static ZoneGetParameters _expected; static object _source; - static PagedZoneParameters _actual; + static ZoneGetParameters _actual; Establish context = () => { - _expected = _fixture.Create(); + _expected = _fixture.Create(); _source = new { _expected.Name, @@ -62,7 +62,7 @@ public class When_creating_with_a_subset_of_properties : FixtureContext }; }; - Because of = () => _actual = PagedZoneParameters.Create(_source); + Because of = () => _actual = ZoneGetParameters.Create(_source); It should_retain_all_properties = () => _actual.AsLikeness() @@ -73,58 +73,58 @@ public class When_creating_with_a_subset_of_properties : FixtureContext .ShouldEqual(_expected); } - [Subject(typeof (PagedZoneParameters))] + [Subject(typeof (ZoneGetParameters))] public class When_converting_to_key_value_pair_with_all_default_values { - static PagedZoneParameters _parameters; + static ZoneGetParameters _parameters; static IEnumerable> _result; - Establish context = () => _parameters = new PagedZoneParameters(); + Establish context = () => _parameters = new ZoneGetParameters(); Because of = () => _result = _parameters.ToKvp(); It should_have_no_values = () => _result.ShouldBeEmpty(); } - [Subject(typeof(PagedZoneParameters))] + [Subject(typeof(ZoneGetParameters))] public class When_converting_to_key_value_pair_with_no_default_values : FixtureContext { - protected static PagedZoneParameters _parameters; + protected static ZoneGetParameters _parameters; protected static Dictionary _result; Establish context = () => { // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedZoneOrderFieldTypes.email); + _fixture.Inject(ZoneOrderTypes.email); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); }; Because of = () => _result = _parameters.ToKvp().ToDictionary(kvp => kvp.Key, kvp => kvp.Value); - Behaves_like> paged_parameters_kvp_behavior; + Behaves_like> paged_parameters_kvp_behavior; It should_have_name_value = () => _result["name"].ShouldEqual(_parameters.Name); It should_have_status_value = () => _result["status"].ShouldEqual(_parameters.Status.ToString()); } - [Subject(typeof(PagedZoneParameters))] + [Subject(typeof(ZoneGetParameters))] public class When_converting_to_query_string : FixtureContext { - protected static PagedZoneParameters _parameters; + protected static ZoneGetParameters _parameters; protected static Dictionary _result; Establish context = () => { // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedZoneOrderFieldTypes.email); + _fixture.Inject(ZoneOrderTypes.email); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); }; Because of = () => @@ -138,7 +138,7 @@ public class When_converting_to_query_string : FixtureContext _result = kvp.Cast().ToDictionary(k => k, k => kvp[k]); }; - Behaves_like> paged_parameters_kvp_behavior; + Behaves_like> paged_parameters_kvp_behavior; It should_have_name_value = () => _result["name"].ShouldEqual(_parameters.Name); diff --git a/src/Tests/CloudFlare.NET.Tests/Serialization/ZoneSerializationSpec.cs b/src/Tests/CloudFlare.NET.Tests/Serialization/ZoneSpec.cs similarity index 100% rename from src/Tests/CloudFlare.NET.Tests/Serialization/ZoneSerializationSpec.cs rename to src/Tests/CloudFlare.NET.Tests/Serialization/ZoneSpec.cs diff --git a/src/Tests/CloudFlare.NET.Tests/ZoneClientExtensionsSpec.cs b/src/Tests/CloudFlare.NET.Tests/ZoneClientExtensionsSpec.cs index 882280f..fb4a05c 100644 --- a/src/Tests/CloudFlare.NET.Tests/ZoneClientExtensionsSpec.cs +++ b/src/Tests/CloudFlare.NET.Tests/ZoneClientExtensionsSpec.cs @@ -23,7 +23,7 @@ public class When_getting_zones : FixtureContext _auth = _fixture.Create(); _expected = _fixture.Create>>(); _zoneClientMock - .Setup(c => c.GetZonesAsync(CancellationToken.None, default(PagedZoneParameters), _auth)) + .Setup(c => c.GetZonesAsync(CancellationToken.None, default(ZoneGetParameters), _auth)) .ReturnsAsync(_expected); }; @@ -36,14 +36,14 @@ public class When_getting_zones : FixtureContext public class When_getting_zones_with_parameters : FixtureContext { static Mock _zoneClientMock; - static PagedZoneParameters _parameters; + static ZoneGetParameters _parameters; static CloudFlareResponse> _expected; static CloudFlareResponse> _actual; Establish context = () => { _zoneClientMock = _fixture.Create>(); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); _expected = _fixture.Create>>(); _zoneClientMock .Setup(c => c.GetZonesAsync(CancellationToken.None, _parameters, default(CloudFlareAuth))) @@ -69,7 +69,7 @@ public class When_getting_all_zones : FixtureContext _auth = _fixture.Create(); _expected = _fixture.CreateMany(); _zoneClientMock - .Setup(c => c.GetAllZonesAsync(CancellationToken.None, default(PagedZoneParameters), _auth)) + .Setup(c => c.GetAllZonesAsync(CancellationToken.None, default(ZoneGetParameters), _auth)) .ReturnsAsync(_expected); }; @@ -82,14 +82,14 @@ public class When_getting_all_zones : FixtureContext public class When_getting_all_zones_with_parameters : FixtureContext { static Mock _zoneClientMock; - static PagedZoneParameters _parameters; + static ZoneGetParameters _parameters; static IEnumerable _expected; static IEnumerable _actual; Establish context = () => { _zoneClientMock = _fixture.Create>(); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); _expected = _fixture.CreateMany(); _zoneClientMock .Setup(c => c.GetAllZonesAsync(CancellationToken.None, _parameters, default(CloudFlareAuth))) diff --git a/src/Tests/CloudFlare.NET.Tests/ZoneClientSpec.cs b/src/Tests/CloudFlare.NET.Tests/ZoneClientSpec.cs index 0a6c06f..db8e982 100644 --- a/src/Tests/CloudFlare.NET.Tests/ZoneClientSpec.cs +++ b/src/Tests/CloudFlare.NET.Tests/ZoneClientSpec.cs @@ -4,12 +4,11 @@ using System.Collections.Generic; using System.Linq; using System.Net.Http; - using System.Threading; using Machine.Specifications; using Newtonsoft.Json.Linq; using Ploeh.AutoFixture; - [Subject(typeof(CloudFlareClient))] + [Subject("ZoneClient")] public class When_getting_zones : RequestContext { static CloudFlareResponse> _expected; @@ -35,12 +34,12 @@ public class When_getting_zones : RequestContext _actual.Result.Select(z => z.AsLikeness().CreateProxy()).SequenceEqual(_expected.Result).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("ZoneClient")] public class When_getting_zones_with_parameters : RequestContext { static CloudFlareResponse> _expected; static CloudFlareResponse> _actual; - static PagedZoneParameters _parameters; + static ZoneGetParameters _parameters; static Uri _expectedRequestUri; Establish context = () => @@ -49,11 +48,11 @@ public class When_getting_zones_with_parameters : RequestContext _handler.SetResponseContent(_expected); // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedZoneOrderFieldTypes.email); + _fixture.Inject(ZoneOrderTypes.email); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); _expectedRequestUri = new Uri(CloudFlareConstants.BaseUri, "zones?" + _parameters.ToQuery()); }; @@ -70,7 +69,7 @@ public class When_getting_zones_with_parameters : RequestContext _actual.Result.Select(z => z.AsLikeness().CreateProxy()).SequenceEqual(_expected.Result).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("ZoneClient")] public class When_getting_all_zones : GetAllResultsContext { static Uri _expectedFirstRequestUri; @@ -79,9 +78,9 @@ public class When_getting_all_zones : GetAllResultsContext Establish context = () => { - string firstParams = new PagedZoneParameters(page: 1, perPage: 50).ToQuery(); - string secondParams = new PagedZoneParameters(page: 2, perPage: 50).ToQuery(); - string lastParams = new PagedZoneParameters(page: 3, perPage: 50).ToQuery(); + string firstParams = new ZoneGetParameters(page: 1, perPage: 50).ToQuery(); + string secondParams = new ZoneGetParameters(page: 2, perPage: 50).ToQuery(); + string lastParams = new ZoneGetParameters(page: 3, perPage: 50).ToQuery(); _expectedFirstRequestUri = new Uri(CloudFlareConstants.BaseUri, "zones?" + firstParams); _expectedSecondRequestUri = new Uri(CloudFlareConstants.BaseUri, "zones?" + secondParams); @@ -105,10 +104,10 @@ public class When_getting_all_zones : GetAllResultsContext _actual.Select(z => z.AsLikeness().CreateProxy()).SequenceEqual(_expected).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("ZoneClient")] public class When_getting_all_zones_with_parameters : GetAllResultsContext { - static PagedZoneParameters _parameters; + static ZoneGetParameters _parameters; static Uri _expectedFirstRequestUri; static Uri _expectedSecondRequestUri; static Uri _expectedLastRequestUri; @@ -116,23 +115,23 @@ public class When_getting_all_zones_with_parameters : GetAllResultsContext Establish context = () => { // Auto fixture chooses the default value for enumerations. - _fixture.Inject(PagedZoneOrderFieldTypes.email); + _fixture.Inject(ZoneOrderTypes.email); _fixture.Inject(PagedParametersOrderType.desc); _fixture.Inject(PagedParametersMatchType.any); - _parameters = _fixture.Create(); + _parameters = _fixture.Create(); JObject first = JObject.FromObject(_parameters); first.Merge(JObject.FromObject(new { page = 1, per_page = 50 })); - string firstParams = first.ToObject().ToQuery(); + string firstParams = first.ToObject().ToQuery(); JObject second = JObject.FromObject(_parameters); second.Merge(JObject.FromObject(new { page = 2, per_page = 50 })); - string secondParams = second.ToObject().ToQuery(); + string secondParams = second.ToObject().ToQuery(); JObject last = JObject.FromObject(_parameters); last.Merge(JObject.FromObject(new { page = 3, per_page = 50 })); - string lastParams = last.ToObject().ToQuery(); + string lastParams = last.ToObject().ToQuery(); _expectedFirstRequestUri = new Uri(CloudFlareConstants.BaseUri, "zones?" + firstParams); _expectedSecondRequestUri = new Uri(CloudFlareConstants.BaseUri, "zones?" + secondParams); @@ -156,7 +155,7 @@ public class When_getting_all_zones_with_parameters : GetAllResultsContext _actual.Select(z => z.AsLikeness().CreateProxy()).SequenceEqual(_expected).ShouldBeTrue(); } - [Subject(typeof(CloudFlareClient))] + [Subject("ZoneClient")] public class When_getting_zones_and_an_error_occurs : ErredRequestContext { static Uri _expectedRequestUri; @@ -177,7 +176,7 @@ public class When_getting_zones_and_an_error_occurs : ErredRequestContext It should_request_the_zones_endpoint = () => _handler.Request.RequestUri.ShouldEqual(_expectedRequestUri); } - [Subject(typeof(CloudFlareClient))] + [Subject("ZoneClient")] public class When_getting_a_zone : RequestContext { static Zone _expected; @@ -203,7 +202,7 @@ public class When_getting_a_zone : RequestContext It should_return_the_expected_zones = () => _actual.AsLikeness().ShouldEqual(_expected); } - [Subject(typeof(CloudFlareClient))] + [Subject("ZoneClient")] public class When_getting_a_zone_and_an_error_occurs : ErredRequestContext { static IdentifierTag _zoneId;