Skip to content

Commit

Permalink
refactor: [breaking] remove sync methods from PricingClient
Browse files Browse the repository at this point in the history
  • Loading branch information
Tr00d committed Mar 14, 2024
1 parent 7779669 commit fe7a4c1
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 251 deletions.
186 changes: 0 additions & 186 deletions Vonage.Test/PricingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,68 +8,6 @@ namespace Vonage.Test;
[Trait("Category", "Legacy")]
public class PricingTests : TestBase
{
[Theory]
[InlineData(true)]
[InlineData(false)]
public void GetPricingAllCountries(bool passCreds)
{
//ARRANGE
var expectedUri =
$"{this.RestUrl}/account/get-pricing/outbound/sms?api_key={this.ApiKey}&api_secret={this.ApiSecret}&";
var expectedResponse = @"{
""count"": ""243"",
""countries"": [
{
""countryName"": ""Canada"",
""countryDisplayName"": ""Canada"",
""currency"": ""EUR"",
""defaultPrice"": ""0.00620000"",
""dialingPrefix"": ""1"",
""networks"": [
{
""type"": ""mobile"",
""price"": ""0.00590000"",
""currency"": ""EUR"",
""mcc"": ""302"",
""mnc"": ""530"",
""networkCode"": ""302530"",
""networkName"": ""Keewaytinook Okimakanak""
}
]
}
]
}";
this.Setup(expectedUri, expectedResponse);

//ACT
var creds = Credentials.FromApiKeyAndSecret(this.ApiKey, this.ApiSecret);
var client = this.BuildVonageClient(creds);
PricingResult pricing;
if (passCreds)
{
pricing = client.PricingClient.RetrievePricingAllCountries("sms", creds);
}
else
{
pricing = client.PricingClient.RetrievePricingAllCountries("sms");
}

//ASSERT
Assert.Equal("302530", pricing.Countries[0].Networks[0].NetworkCode);
Assert.Equal("Keewaytinook Okimakanak", pricing.Countries[0].Networks[0].NetworkName);
Assert.Equal("530", pricing.Countries[0].Networks[0].Mnc);
Assert.Equal("302", pricing.Countries[0].Networks[0].Mcc);
Assert.Equal("EUR", pricing.Countries[0].Networks[0].Currency);
Assert.Equal("0.00590000", pricing.Countries[0].Networks[0].Price);
Assert.Equal("mobile", pricing.Countries[0].Networks[0].Type);
Assert.Equal("1", pricing.Countries[0].DialingPrefix);
Assert.Equal("0.00620000", pricing.Countries[0].DefaultPrice);
Assert.Equal("EUR", pricing.Countries[0].Currency);
Assert.Equal("Canada", pricing.Countries[0].CountryDisplayName);
Assert.Equal("Canada", pricing.Countries[0].CountryName);
Assert.Equal("243", pricing.Count);
}

[Theory]
[InlineData(true)]
[InlineData(false)]
Expand Down Expand Up @@ -132,66 +70,6 @@ public async Task GetPricingAllCountriesAsync(bool passCreds)
Assert.Equal("243", pricing.Count);
}

[Theory]
[InlineData(true)]
[InlineData(false)]
public void GetPricingForCountry(bool passCreds)
{
//ARRANGE
var expectedUri =
$"{this.RestUrl}/account/get-pricing/outbound/sms?country=CA&api_key={this.ApiKey}&api_secret={this.ApiSecret}&";
var expectedResponseContent = @"{
""countryCode"": ""CA"",
""countryName"": ""Canada"",
""countryDisplayName"": ""Canada"",
""currency"": ""EUR"",
""defaultPrice"": ""0.00620000"",
""dialingPrefix"": ""1"",
""networks"": [
{
""type"": ""mobile"",
""price"": ""0.00590000"",
""currency"": ""EUR"",
""mcc"": ""302"",
""mnc"": ""530"",
""networkCode"": ""302530"",
""networkName"": ""Keewaytinook Okimakanak""
}
]
}";
this.Setup(expectedUri, expectedResponseContent);

//ACT
var creds = Credentials.FromApiKeyAndSecret(this.ApiKey, this.ApiSecret);
var client = this.BuildVonageClient(creds);
Country country;
if (passCreds)
{
country = client.PricingClient.RetrievePricingCountry("sms",
new PricingCountryRequest {Country = "CA"}, creds);
}
else
{
country = client.PricingClient.RetrievePricingCountry("sms",
new PricingCountryRequest {Country = "CA"});
}

//ASSERT
Assert.Equal("302530", country.Networks[0].NetworkCode);
Assert.Equal("Keewaytinook Okimakanak", country.Networks[0].NetworkName);
Assert.Equal("530", country.Networks[0].Mnc);
Assert.Equal("302", country.Networks[0].Mcc);
Assert.Equal("EUR", country.Networks[0].Currency);
Assert.Equal("0.00590000", country.Networks[0].Price);
Assert.Equal("mobile", country.Networks[0].Type);
Assert.Equal("1", country.DialingPrefix);
Assert.Equal("0.00620000", country.DefaultPrice);
Assert.Equal("EUR", country.Currency);
Assert.Equal("Canada", country.CountryDisplayName);
Assert.Equal("Canada", country.CountryName);
Assert.Equal("CA", country.CountryCode);
}

[Theory]
[InlineData(true)]
[InlineData(false)]
Expand Down Expand Up @@ -252,70 +130,6 @@ public async Task GetPricingForCountryAsync(bool passCreds)
Assert.Equal("CA", country.CountryCode);
}

[Theory]
[InlineData(true)]
[InlineData(false)]
public void GetPricingForPrefix(bool passCreds)
{
//ARRANGE
var expectedUri =
$"{this.RestUrl}/account/get-prefix-pricing/outbound/sms?prefix=1&api_key={this.ApiKey}&api_secret={this.ApiSecret}&";
var expectedResponse = @"{
""count"": ""243"",
""countries"": [
{
""countryName"": ""Canada"",
""countryDisplayName"": ""Canada"",
""currency"": ""EUR"",
""defaultPrice"": ""0.00620000"",
""dialingPrefix"": ""1"",
""networks"": [
{
""type"": ""mobile"",
""price"": ""0.00590000"",
""currency"": ""EUR"",
""mcc"": ""302"",
""mnc"": ""530"",
""networkCode"": ""302530"",
""networkName"": ""Keewaytinook Okimakanak""
}
]
}
]
}";
this.Setup(expectedUri, expectedResponse);

//ACT
var creds = Credentials.FromApiKeyAndSecret(this.ApiKey, this.ApiSecret);
var client = this.BuildVonageClient(creds);
PricingResult pricing;
if (passCreds)
{
pricing = client.PricingClient.RetrievePrefixPricing("sms",
new PricingPrefixRequest {Prefix = "1"}, creds);
}
else
{
pricing = client.PricingClient.RetrievePrefixPricing("sms",
new PricingPrefixRequest {Prefix = "1"});
}

//ASSERT
Assert.Equal("302530", pricing.Countries[0].Networks[0].NetworkCode);
Assert.Equal("Keewaytinook Okimakanak", pricing.Countries[0].Networks[0].NetworkName);
Assert.Equal("530", pricing.Countries[0].Networks[0].Mnc);
Assert.Equal("302", pricing.Countries[0].Networks[0].Mcc);
Assert.Equal("EUR", pricing.Countries[0].Networks[0].Currency);
Assert.Equal("0.00590000", pricing.Countries[0].Networks[0].Price);
Assert.Equal("mobile", pricing.Countries[0].Networks[0].Type);
Assert.Equal("1", pricing.Countries[0].DialingPrefix);
Assert.Equal("0.00620000", pricing.Countries[0].DefaultPrice);
Assert.Equal("EUR", pricing.Countries[0].Currency);
Assert.Equal("Canada", pricing.Countries[0].CountryDisplayName);
Assert.Equal("Canada", pricing.Countries[0].CountryName);
Assert.Equal("243", pricing.Count);
}

[Theory]
[InlineData(true)]
[InlineData(false)]
Expand Down
29 changes: 0 additions & 29 deletions Vonage/Pricing/IPricingClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,33 +33,4 @@ public interface IPricingClient
/// <param name="creds"></param>
/// <returns></returns>
Task<PricingResult> RetrievePrefixPricingAsync(string type, PricingPrefixRequest request, Credentials creds = null);

/// <summary>
/// Retrieves the pricing information based on the specified country.
/// </summary>
/// <param name="type">The type of service you wish to retrieve data about:
/// either sms, sms-transit or voice.</param>
/// <param name="request"></param>
/// <param name="creds"></param>
/// <returns></returns>
Country RetrievePricingCountry(string type, PricingCountryRequest request, Credentials creds = null);

/// <summary>
/// Retrieves the pricing information for all countries.
/// </summary>
/// <param name="type">The type of service you wish to retrieve data about:
/// either sms, sms-transit or voice.</param>
/// <param name="creds"></param>
/// <returns></returns>
PricingResult RetrievePricingAllCountries(string type, Credentials creds = null);

/// <summary>
/// Retrieves the pricing information based on the dialing prefix.
/// </summary>
/// <param name="type">The type of service you wish to retrieve data about:
/// either sms, sms-transit or voice.</param>
/// <param name="request"></param>
/// <param name="creds"></param>
/// <returns></returns>
PricingResult RetrievePrefixPricing(string type, PricingPrefixRequest request, Credentials creds = null);
}
36 changes: 0 additions & 36 deletions Vonage/Pricing/PricingClient.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using System;
using System.Threading.Tasks;
using Vonage.Common;
using Vonage.Request;
Expand All @@ -25,18 +24,6 @@ internal PricingClient(Credentials credentials, Configuration configuration, ITi

public Credentials Credentials { get; set; }

/// <inheritdoc/>
[Obsolete("Favor asynchronous version instead.")]
public PricingResult RetrievePrefixPricing(string type, PricingPrefixRequest request, Credentials creds = null) =>
ApiRequest.Build(this.GetCredentials(creds), this.configuration, this.timeProvider)
.DoGetRequestWithQueryParameters<PricingResult>
(
ApiRequest.GetBaseUri(ApiRequest.UriType.Rest, this.configuration,
$"/account/get-prefix-pricing/outbound/{type}"),
AuthType.Query,
request
);

/// <inheritdoc/>
public Task<PricingResult> RetrievePrefixPricingAsync(string type, PricingPrefixRequest request,
Credentials creds = null) =>
Expand All @@ -49,17 +36,6 @@ internal PricingClient(Credentials credentials, Configuration configuration, ITi
request
);

/// <inheritdoc/>
[Obsolete("Favor asynchronous version instead.")]
public PricingResult RetrievePricingAllCountries(string type, Credentials creds = null) =>
ApiRequest.Build(this.GetCredentials(creds), this.configuration, this.timeProvider)
.DoGetRequestWithQueryParameters<PricingResult>
(
ApiRequest.GetBaseUri(ApiRequest.UriType.Rest, this.configuration,
$"/account/get-pricing/outbound/{type}"),
AuthType.Query
);

/// <inheritdoc/>
public Task<PricingResult> RetrievePricingAllCountriesAsync(string type, Credentials creds = null) =>
ApiRequest.Build(this.GetCredentials(creds), this.configuration, this.timeProvider)
Expand All @@ -70,18 +46,6 @@ internal PricingClient(Credentials credentials, Configuration configuration, ITi
AuthType.Query
);

/// <inheritdoc/>
[Obsolete("Favor asynchronous version instead.")]
public Country RetrievePricingCountry(string type, PricingCountryRequest request, Credentials creds = null) =>
ApiRequest.Build(this.GetCredentials(creds), this.configuration, this.timeProvider)
.DoGetRequestWithQueryParameters<Country>
(
ApiRequest.GetBaseUri(ApiRequest.UriType.Rest, this.configuration,
$"/account/get-pricing/outbound/{type}"),
AuthType.Query,
request
);

/// <inheritdoc/>
public Task<Country> RetrievePricingCountryAsync(string type, PricingCountryRequest request,
Credentials creds = null) =>
Expand Down

0 comments on commit fe7a4c1

Please sign in to comment.