diff --git a/appveyor.yml b/appveyor.yml
index db16a6e34a..23867bf617 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -4,7 +4,7 @@ image: Visual Studio 2017
environment:
COVERALLS_REPO_TOKEN:
secure: T0PmP8uyzCseacBCDRBlti2y9Tz5DL6fknea0MKWvbPYrzADmLY2/5kOTfYIsPUk
- # If you bump this, don't forget to bump `MinimumMockVersion` in `BaseStripeTest.cs` as well.
+ # If you bump this, don't forget to bump `MinimumMockVersion` in `StripeMockFixture.cs` as well.
STRIPE_MOCK_VERSION: 0.39.0
deploy:
diff --git a/src/StripeTests/BaseStripeTest.cs b/src/StripeTests/BaseStripeTest.cs
index 56c9b85307..a36864fda5 100644
--- a/src/StripeTests/BaseStripeTest.cs
+++ b/src/StripeTests/BaseStripeTest.cs
@@ -1,106 +1,44 @@
namespace StripeTests
{
- using System;
using System.IO;
- using System.Linq;
- using System.Net;
using System.Net.Http;
using System.Reflection;
using System.Text;
- using System.Threading;
-
- using Moq;
- using Moq.Protected;
- using Stripe;
+ using Xunit;
+ [Collection("stripe-mock tests")]
public class BaseStripeTest
{
- /// Minimum required version of stripe-mock
- ///
- /// If you bump this, don't forget to bump `STRIPE_MOCK_VERSION` in appveyor.yml as well.
- ///
- private const string MockMinimumVersion = "0.39.0";
-
- private static Mock mockHandler;
-
- private static string port;
-
- // Lazy initializer to ensure that initialization is run only once even when running tests
- // in parallel.
- private static Lazy initializer = new Lazy(InitStripeMock);
-
public BaseStripeTest()
+ : this(null, null)
{
- // This triggers the lazy initialization. We don't actually care about the value of
- // initialized (it will be null anyway), but simply writing `initializer.Value` is not
- // a valid statement in C#.
- var initialized = initializer.Value;
+ }
- // Reset the mock before each test
- mockHandler.Invocations.Clear();
+ public BaseStripeTest(StripeMockFixture stripeMockFixture)
+ : this(stripeMockFixture, null)
+ {
}
- ///
- /// Gets fixture data from stripe-mock for a resource expected to be at the given API path.
- /// stripe-mock ignores whether IDs are actually valid, so it's only important to make sure
- /// that the route exists, rather than the actual resource. It's common to use a symbolic
- /// ID stand-in like ch_123
- ///
- /// API path to use to get a fixture for stripe-mock
- /// Fixture data encoded as JSON
- protected static string GetFixture(string path)
+ public BaseStripeTest(MockHttpClientFixture mockHttpClientFixture)
+ : this(null, mockHttpClientFixture)
{
- return GetFixture(path, null);
}
- ///
- /// Gets fixture data with expansions specified. Expansions are specified the same way as
- /// they are in the normal API like customer
or data.customer
.
- /// Use the special *
character to specify that all fields should be
- /// expanded.
- ///
- /// API path to use to get a fixture for stripe-mock
- /// Set of expansions that should be applied
- /// Fixture data encoded as JSON
- protected static string GetFixture(string path, string[] expansions)
+ public BaseStripeTest(StripeMockFixture stripeMockFixture, MockHttpClientFixture mockHttpClientFixture)
{
- string url = $"http://localhost:{port}{path}";
+ this.StripeMockFixture = stripeMockFixture;
+ this.MockHttpClientFixture = mockHttpClientFixture;
- if (expansions != null)
+ if (this.MockHttpClientFixture != null)
{
- string query = string.Join("&", expansions.Select(x => $"expand[]={x}").ToArray());
- url += $"?{query}";
+ // Reset the mock before each test
+ this.MockHttpClientFixture.Reset();
}
+ }
- using (HttpClient client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization
- = new System.Net.Http.Headers.AuthenticationHeaderValue(
- "Bearer",
- "sk_test_123");
-
- HttpResponseMessage response;
-
- try
- {
- response = client.GetAsync(url).Result;
- }
- catch (Exception)
- {
- throw new Exception(
- $"Couldn't reach stripe-mock at `localhost:{port}`. "
- + "Is it running? Please see README for setup instructions.");
- }
+ protected MockHttpClientFixture MockHttpClientFixture { get; }
- if (response.StatusCode != HttpStatusCode.OK)
- {
- throw new Exception(
- $"stripe-mock returned status code: {response.StatusCode}.");
- }
-
- return response.Content.ReadAsStringAsync().Result;
- }
- }
+ protected StripeMockFixture StripeMockFixture { get; }
///
/// Gets a resource file and returns its contents in a string.
@@ -110,83 +48,51 @@ protected static string GetFixture(string path, string[] expansions)
protected static string GetResourceAsString(string path)
{
var fullpath = "StripeTests.Resources." + path;
- var json = new StreamReader(
+ var contents = new StreamReader(
typeof(BaseStripeTest).GetTypeInfo().Assembly.GetManifestResourceStream(fullpath),
Encoding.UTF8).ReadToEnd();
- return json;
- }
-
- protected void AssertRequest(HttpMethod method, string path)
- {
- mockHandler.Protected().Verify(
- "SendAsync",
- Times.Once(),
- ItExpr.Is(m =>
- m.Method == method &&
- m.RequestUri.AbsolutePath == path),
- ItExpr.IsAny());
+ return contents;
}
///
- /// Checks that stripe-mock is running and that it's a recent enough version.
+ /// Asserts that a single HTTP request was made with the specified method and path.
///
- private static object InitStripeMock()
+ protected void AssertRequest(HttpMethod method, string path)
{
- port = Environment.GetEnvironmentVariable("STRIPE_MOCK_PORT") ?? "12111";
- string url = $"http://localhost:{port}";
-
- using (HttpClient client = new HttpClient())
+ if (this.MockHttpClientFixture == null)
{
- HttpResponseMessage response;
-
- try
- {
- response = client.GetAsync(url).Result;
- }
- catch (Exception)
- {
- throw new Exception(
- $"Couldn't reach stripe-mock at `localhost:{port}`. "
- + "Is it running? Please see README for setup instructions.");
- }
-
- string version = response.Headers.GetValues("Stripe-Mock-Version").FirstOrDefault();
-
- if (!version.Equals("master") &&
- (CompareVersions(version, MockMinimumVersion) > 0))
- {
- throw new Exception(
- $"Your version of stripe-mock ({version}) is too old. The minimum "
- + $"version to run this test suite is {MockMinimumVersion}. Please see its "
- + "repository for upgrade instructions.");
- }
+ throw new StripeTestException(
+ "AssertRequest called from a test class that doesn't have access to "
+ + "MockHttpClientFixture. Make sure that the constructor for "
+ + $"{this.GetType().Name} receives MockHttpClientFixture and calls the "
+ + "base constructor.");
}
- StripeConfiguration.SetApiBase($"http://localhost:{port}/v1");
- StripeConfiguration.SetFilesBase($"http://localhost:{port}/v1");
- StripeConfiguration.SetApiKey("sk_test_123");
-
- mockHandler = new Mock
- {
- CallBase = true
- };
- StripeConfiguration.HttpMessageHandler = mockHandler.Object;
-
- return null;
+ this.MockHttpClientFixture.AssertRequest(method, path);
}
///
- /// Compares two version strings.
+ /// Gets fixture data with expansions specified. Expansions are specified the same way as
+ /// they are in the normal API like customer
or data.customer
.
+ /// Use the special *
character to specify that all fields should be
+ /// expanded.
///
- /// A version string (e.g. "1.2.3").
- /// Another version string.
- /// -1 if a > b, 1 if a < b, 0 if a == b
- private static int CompareVersions(string a, string b)
+ /// API path to use to get a fixture for stripe-mock
+ /// Set of expansions that should be applied
+ /// Fixture data encoded as JSON
+ protected string GetFixture(string path, string[] expansions = null)
{
- var version1 = new Version(a);
- var version2 = new Version(b);
- return version2.CompareTo(version1);
+ if (this.StripeMockFixture == null)
+ {
+ throw new StripeTestException(
+ "GetFixture called from a test class that doesn't have access to "
+ + "StripeMockFixture. Make sure that the constructor for "
+ + $"{this.GetType().Name} receives StripeMockFixture and calls the "
+ + "base constructor.");
+ }
+
+ return this.StripeMockFixture.GetFixture(path, expansions);
}
}
}
diff --git a/src/StripeTests/Entities/Accounts/AccountTest.cs b/src/StripeTests/Entities/Accounts/AccountTest.cs
index e52cec07d6..0ea6fa0241 100644
--- a/src/StripeTests/Entities/Accounts/AccountTest.cs
+++ b/src/StripeTests/Entities/Accounts/AccountTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class AccountTest : BaseStripeTest
{
+ public AccountTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/accounts/acct_123");
+ string json = this.GetFixture("/v1/accounts/acct_123");
var account = JsonConvert.DeserializeObject(json);
Assert.NotNull(account);
Assert.IsType(account);
@@ -25,7 +30,7 @@ public void DeserializeWithExpansions()
"business_logo",
};
- string json = GetFixture("/v1/accounts/acct_123", expansions);
+ string json = this.GetFixture("/v1/accounts/acct_123", expansions);
var account = JsonConvert.DeserializeObject(json);
Assert.NotNull(account);
diff --git a/src/StripeTests/Entities/ApplePayDomains/ApplePayDomainTest.cs b/src/StripeTests/Entities/ApplePayDomains/ApplePayDomainTest.cs
index 580b553786..94ca1d3392 100644
--- a/src/StripeTests/Entities/ApplePayDomains/ApplePayDomainTest.cs
+++ b/src/StripeTests/Entities/ApplePayDomains/ApplePayDomainTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class ApplePayDomainTest : BaseStripeTest
{
+ public ApplePayDomainTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/apple_pay/domains/apwc_123");
+ string json = this.GetFixture("/v1/apple_pay/domains/apwc_123");
var domain = JsonConvert.DeserializeObject(json);
Assert.NotNull(domain);
Assert.IsType(domain);
diff --git a/src/StripeTests/Entities/ApplicationFeeRefunds/ApplicationFeeRefundTest.cs b/src/StripeTests/Entities/ApplicationFeeRefunds/ApplicationFeeRefundTest.cs
index e2405fe9ab..8bc81d639b 100644
--- a/src/StripeTests/Entities/ApplicationFeeRefunds/ApplicationFeeRefundTest.cs
+++ b/src/StripeTests/Entities/ApplicationFeeRefunds/ApplicationFeeRefundTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class ApplicationFeeRefundTest : BaseStripeTest
{
+ public ApplicationFeeRefundTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/application_fees/fee_123/refunds/fr_123");
+ string json = this.GetFixture("/v1/application_fees/fee_123/refunds/fr_123");
var applicationFeeRefund = JsonConvert.DeserializeObject(json);
Assert.NotNull(applicationFeeRefund);
Assert.IsType(applicationFeeRefund);
diff --git a/src/StripeTests/Entities/ApplicationFees/ApplicationFeeTest.cs b/src/StripeTests/Entities/ApplicationFees/ApplicationFeeTest.cs
index 6b1f0696d6..c3a373e88f 100644
--- a/src/StripeTests/Entities/ApplicationFees/ApplicationFeeTest.cs
+++ b/src/StripeTests/Entities/ApplicationFees/ApplicationFeeTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class ApplicationFeeTest : BaseStripeTest
{
+ public ApplicationFeeTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/application_fees/fee_123");
+ string json = this.GetFixture("/v1/application_fees/fee_123");
var applicationFee = JsonConvert.DeserializeObject(json);
Assert.NotNull(applicationFee);
Assert.IsType(applicationFee);
@@ -29,7 +34,7 @@ public void DeserializeWithExpansions()
"originating_transaction",
};
- string json = GetFixture("/v1/application_fees/fee_123", expansions);
+ string json = this.GetFixture("/v1/application_fees/fee_123", expansions);
var applicationFee = JsonConvert.DeserializeObject(json);
Assert.NotNull(applicationFee);
Assert.IsType(applicationFee);
diff --git a/src/StripeTests/Entities/Balance/BalanceTest.cs b/src/StripeTests/Entities/Balance/BalanceTest.cs
index a251532e54..f1d7bcd144 100644
--- a/src/StripeTests/Entities/Balance/BalanceTest.cs
+++ b/src/StripeTests/Entities/Balance/BalanceTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class BalanceTest : BaseStripeTest
{
+ public BalanceTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/balance");
+ string json = this.GetFixture("/v1/balance");
var balance = JsonConvert.DeserializeObject(json);
Assert.NotNull(balance);
Assert.IsType(balance);
diff --git a/src/StripeTests/Entities/BalanceTransactions/BalanceTransactionTest.cs b/src/StripeTests/Entities/BalanceTransactions/BalanceTransactionTest.cs
index 188c96d090..a11a9d2e2b 100644
--- a/src/StripeTests/Entities/BalanceTransactions/BalanceTransactionTest.cs
+++ b/src/StripeTests/Entities/BalanceTransactions/BalanceTransactionTest.cs
@@ -7,10 +7,15 @@ namespace StripeTests
public class BalanceTransactionTest : BaseStripeTest
{
+ public BalanceTransactionTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/balance/history/txn_123");
+ string json = this.GetFixture("/v1/balance/history/txn_123");
var balanceTransaction = JsonConvert.DeserializeObject(json);
Assert.NotNull(balanceTransaction);
Assert.IsType(balanceTransaction);
diff --git a/src/StripeTests/Entities/BankAccounts/BankAccountTest.cs b/src/StripeTests/Entities/BankAccounts/BankAccountTest.cs
index 259fcf23cb..cf6d3cab57 100644
--- a/src/StripeTests/Entities/BankAccounts/BankAccountTest.cs
+++ b/src/StripeTests/Entities/BankAccounts/BankAccountTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class BankAccountTest : BaseStripeTest
{
+ public BankAccountTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void DeserializeForAccount()
{
- string json = GetFixture("/v1/accounts/acct_123/external_accounts/ba_123");
+ string json = this.GetFixture("/v1/accounts/acct_123/external_accounts/ba_123");
var bankAccount = JsonConvert.DeserializeObject(json);
Assert.NotNull(bankAccount);
Assert.IsType(bankAccount);
@@ -20,7 +25,7 @@ public void DeserializeForAccount()
[Fact]
public void DeserializeForCustomer()
{
- string json = GetFixture("/v1/customers/cus_123/bank_accounts/ba_123");
+ string json = this.GetFixture("/v1/customers/cus_123/bank_accounts/ba_123");
var bankAccount = JsonConvert.DeserializeObject(json);
Assert.NotNull(bankAccount);
Assert.IsType(bankAccount);
@@ -36,7 +41,7 @@ public void DeserializeWithExpansionsForCustomer()
"customer",
};
- string json = GetFixture("/v1/customers/cus_123/bank_accounts/ba_123", expansions);
+ string json = this.GetFixture("/v1/customers/cus_123/bank_accounts/ba_123", expansions);
var bankAccount = JsonConvert.DeserializeObject(json);
Assert.NotNull(bankAccount);
Assert.IsType(bankAccount);
diff --git a/src/StripeTests/Entities/Cards/CardTest.cs b/src/StripeTests/Entities/Cards/CardTest.cs
index 2243d3d80c..8ee034a956 100644
--- a/src/StripeTests/Entities/Cards/CardTest.cs
+++ b/src/StripeTests/Entities/Cards/CardTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class CardTest : BaseStripeTest
{
+ public CardTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/customers/cus_123/cards/card_123");
+ string json = this.GetFixture("/v1/customers/cus_123/cards/card_123");
var card = JsonConvert.DeserializeObject(json);
Assert.NotNull(card);
Assert.IsType(card);
@@ -26,7 +31,7 @@ public void DeserializeWithExpansions()
"recipient",
};
- string json = GetFixture("/v1/customers/cus_123/cards/card_123", expansions);
+ string json = this.GetFixture("/v1/customers/cus_123/cards/card_123", expansions);
var card = JsonConvert.DeserializeObject(json);
Assert.NotNull(card);
Assert.IsType(card);
diff --git a/src/StripeTests/Entities/Charges/ChargeTest.cs b/src/StripeTests/Entities/Charges/ChargeTest.cs
index f3f736cd92..d319c779ef 100644
--- a/src/StripeTests/Entities/Charges/ChargeTest.cs
+++ b/src/StripeTests/Entities/Charges/ChargeTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class ChargeTest : BaseStripeTest
{
+ public ChargeTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/charges/ch_123");
+ string json = this.GetFixture("/v1/charges/ch_123");
var charge = JsonConvert.DeserializeObject(json);
Assert.NotNull(charge);
Assert.IsType(charge);
@@ -36,7 +41,7 @@ public void DeserializeWithExpansions()
"transfer",
};
- string json = GetFixture("/v1/charges/ch_123", expansions);
+ string json = this.GetFixture("/v1/charges/ch_123", expansions);
var charge = JsonConvert.DeserializeObject(json);
Assert.NotNull(charge);
Assert.IsType(charge);
diff --git a/src/StripeTests/Entities/CountrySpecs/CountrySpecTest.cs b/src/StripeTests/Entities/CountrySpecs/CountrySpecTest.cs
index ad6709df26..e4ab7292b6 100644
--- a/src/StripeTests/Entities/CountrySpecs/CountrySpecTest.cs
+++ b/src/StripeTests/Entities/CountrySpecs/CountrySpecTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class CountrySpecTest : BaseStripeTest
{
+ public CountrySpecTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/country_specs/US");
+ string json = this.GetFixture("/v1/country_specs/US");
var countrySpec = JsonConvert.DeserializeObject(json);
Assert.NotNull(countrySpec);
Assert.IsType(countrySpec);
diff --git a/src/StripeTests/Entities/Coupons/CouponTest.cs b/src/StripeTests/Entities/Coupons/CouponTest.cs
index e975f55655..d60eb4cd25 100644
--- a/src/StripeTests/Entities/Coupons/CouponTest.cs
+++ b/src/StripeTests/Entities/Coupons/CouponTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class CouponTest : BaseStripeTest
{
+ public CouponTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/coupons/co_123");
+ string json = this.GetFixture("/v1/coupons/co_123");
var coupon = JsonConvert.DeserializeObject(json);
Assert.NotNull(coupon);
Assert.IsType(coupon);
diff --git a/src/StripeTests/Entities/Customers/CustomerTest.cs b/src/StripeTests/Entities/Customers/CustomerTest.cs
index 29399acc26..ecbc3c1811 100644
--- a/src/StripeTests/Entities/Customers/CustomerTest.cs
+++ b/src/StripeTests/Entities/Customers/CustomerTest.cs
@@ -7,10 +7,15 @@ namespace StripeTests
public class CustomerTest : BaseStripeTest
{
+ public CustomerTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/customers/cus_123");
+ string json = this.GetFixture("/v1/customers/cus_123");
var customer = JsonConvert.DeserializeObject(json);
Assert.NotNull(customer);
Assert.IsType(customer);
diff --git a/src/StripeTests/Entities/Discounts/DiscountTest.cs b/src/StripeTests/Entities/Discounts/DiscountTest.cs
index e200a7965b..dbc04c35f4 100644
--- a/src/StripeTests/Entities/Discounts/DiscountTest.cs
+++ b/src/StripeTests/Entities/Discounts/DiscountTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests
public class DiscountTest : BaseStripeTest
{
+ public DiscountTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Services/Discounts/DisputeTest.cs b/src/StripeTests/Entities/Disputes/DisputeTest.cs
similarity index 78%
rename from src/StripeTests/Services/Discounts/DisputeTest.cs
rename to src/StripeTests/Entities/Disputes/DisputeTest.cs
index 106e4e96e2..20dda8610c 100644
--- a/src/StripeTests/Services/Discounts/DisputeTest.cs
+++ b/src/StripeTests/Entities/Disputes/DisputeTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class DisputeTest : BaseStripeTest
{
+ public DisputeTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/disputes/dp_123");
+ string json = this.GetFixture("/v1/disputes/dp_123");
var dispute = JsonConvert.DeserializeObject(json);
Assert.NotNull(dispute);
Assert.IsType(dispute);
@@ -25,7 +30,7 @@ public void DeserializeWithExpansions()
"charge",
};
- string json = GetFixture("/v1/disputes/dp_123", expansions);
+ string json = this.GetFixture("/v1/disputes/dp_123", expansions);
var dispute = JsonConvert.DeserializeObject(json);
Assert.NotNull(dispute);
Assert.IsType(dispute);
diff --git a/src/StripeTests/Entities/EphemeralKeys/EphemeralKeyTest.cs b/src/StripeTests/Entities/EphemeralKeys/EphemeralKeyTest.cs
index 5c89239ab2..6710ace0f3 100644
--- a/src/StripeTests/Entities/EphemeralKeys/EphemeralKeyTest.cs
+++ b/src/StripeTests/Entities/EphemeralKeys/EphemeralKeyTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests
public class EphemeralKeyTest : BaseStripeTest
{
+ public EphemeralKeyTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Entities/Events/EventTest.cs b/src/StripeTests/Entities/Events/EventTest.cs
index a30dd9548c..3c9e0ffad1 100644
--- a/src/StripeTests/Entities/Events/EventTest.cs
+++ b/src/StripeTests/Entities/Events/EventTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests
public class EventTest : BaseStripeTest
{
+ public EventTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Entities/ExchangeRates/ExchangeRateTest.cs b/src/StripeTests/Entities/ExchangeRates/ExchangeRateTest.cs
index 3ae3456261..0099ebd5d1 100644
--- a/src/StripeTests/Entities/ExchangeRates/ExchangeRateTest.cs
+++ b/src/StripeTests/Entities/ExchangeRates/ExchangeRateTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class ExchangeRateTest : BaseStripeTest
{
+ public ExchangeRateTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/exchange_rates/usd");
+ string json = this.GetFixture("/v1/exchange_rates/usd");
var exchangeRate = JsonConvert.DeserializeObject(json);
Assert.NotNull(exchangeRate);
Assert.IsType(exchangeRate);
diff --git a/src/StripeTests/Entities/ExternalAccounts/ExternalAccountTest.cs b/src/StripeTests/Entities/ExternalAccounts/ExternalAccountTest.cs
index 347e53359f..441c0b8c57 100644
--- a/src/StripeTests/Entities/ExternalAccounts/ExternalAccountTest.cs
+++ b/src/StripeTests/Entities/ExternalAccounts/ExternalAccountTest.cs
@@ -5,10 +5,15 @@ namespace StripeTests
public class ExternalAccountTest : BaseStripeTest
{
+ public ExternalAccountTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/accounts/acct_123/external_accounts/ba_123");
+ string json = this.GetFixture("/v1/accounts/acct_123/external_accounts/ba_123");
var externalAccount = Mapper.MapFromJson(json);
Assert.NotNull(externalAccount);
Assert.IsType(externalAccount);
@@ -23,7 +28,7 @@ public void DeserializeWithExpansions()
"account",
};
- string json = GetFixture("/v1/accounts/acct_123/external_accounts/ba_123", expansions);
+ string json = this.GetFixture("/v1/accounts/acct_123/external_accounts/ba_123", expansions);
var externalAccount = Mapper.MapFromJson(json);
Assert.NotNull(externalAccount);
Assert.IsType(externalAccount);
diff --git a/src/StripeTests/Entities/FileLinks/FileLinkTest.cs b/src/StripeTests/Entities/FileLinks/FileLinkTest.cs
index df40f43f82..d4665c72fc 100644
--- a/src/StripeTests/Entities/FileLinks/FileLinkTest.cs
+++ b/src/StripeTests/Entities/FileLinks/FileLinkTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class FileLinkTest : BaseStripeTest
{
+ public FileLinkTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/file_links/link_123");
+ string json = this.GetFixture("/v1/file_links/link_123");
var fileLink = JsonConvert.DeserializeObject(json);
Assert.NotNull(fileLink);
Assert.IsType(fileLink);
@@ -25,7 +30,7 @@ public void DeserializeWithExpansions()
"file",
};
- string json = GetFixture("/v1/file_links/link_123", expansions);
+ string json = this.GetFixture("/v1/file_links/link_123", expansions);
var fileLink = JsonConvert.DeserializeObject(json);
Assert.NotNull(fileLink);
Assert.IsType(fileLink);
diff --git a/src/StripeTests/Entities/Files/FileTest.cs b/src/StripeTests/Entities/Files/FileTest.cs
index ea30ce4885..39557705a0 100644
--- a/src/StripeTests/Entities/Files/FileTest.cs
+++ b/src/StripeTests/Entities/Files/FileTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class FileTest : BaseStripeTest
{
+ public FileTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/files/file_123");
+ string json = this.GetFixture("/v1/files/file_123");
var file = JsonConvert.DeserializeObject(json);
Assert.NotNull(file);
Assert.IsType(file);
diff --git a/src/StripeTests/Entities/InvoiceItems/InvoiceItemTest.cs b/src/StripeTests/Entities/InvoiceItems/InvoiceItemTest.cs
index 0a2c66e54c..3e8e6d0696 100644
--- a/src/StripeTests/Entities/InvoiceItems/InvoiceItemTest.cs
+++ b/src/StripeTests/Entities/InvoiceItems/InvoiceItemTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class InvoiceItemTest : BaseStripeTest
{
+ public InvoiceItemTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/invoiceitems/ii_123");
+ string json = this.GetFixture("/v1/invoiceitems/ii_123");
var invoiceItem = JsonConvert.DeserializeObject(json);
Assert.NotNull(invoiceItem);
Assert.IsType(invoiceItem);
@@ -27,7 +32,7 @@ public void DeserializeWithExpansions()
"subscription",
};
- string json = GetFixture("/v1/invoiceitems/ii_123", expansions);
+ string json = this.GetFixture("/v1/invoiceitems/ii_123", expansions);
var invoiceItem = JsonConvert.DeserializeObject(json);
Assert.NotNull(invoiceItem);
Assert.IsType(invoiceItem);
diff --git a/src/StripeTests/Entities/Invoices/InvoiceLineItemTest.cs b/src/StripeTests/Entities/Invoices/InvoiceLineItemTest.cs
index eeec5519d7..d711a1f0ee 100644
--- a/src/StripeTests/Entities/Invoices/InvoiceLineItemTest.cs
+++ b/src/StripeTests/Entities/Invoices/InvoiceLineItemTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class InvoiceLineItemTest : BaseStripeTest
{
+ public InvoiceLineItemTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/invoices/in_123/lines");
+ string json = this.GetFixture("/v1/invoices/in_123/lines");
var lineItems = JsonConvert.DeserializeObject>(json);
Assert.NotNull(lineItems);
diff --git a/src/StripeTests/Entities/Invoices/InvoiceTest.cs b/src/StripeTests/Entities/Invoices/InvoiceTest.cs
index 724e271322..f33f3af7e2 100644
--- a/src/StripeTests/Entities/Invoices/InvoiceTest.cs
+++ b/src/StripeTests/Entities/Invoices/InvoiceTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class InvoiceTest : BaseStripeTest
{
+ public InvoiceTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/invoices/in_123");
+ string json = this.GetFixture("/v1/invoices/in_123");
var invoice = JsonConvert.DeserializeObject(json);
Assert.NotNull(invoice);
Assert.IsType(invoice);
@@ -27,7 +32,7 @@ public void DeserializeWithExpansions()
"subscription",
};
- string json = GetFixture("/v1/invoices/in_123", expansions);
+ string json = this.GetFixture("/v1/invoices/in_123", expansions);
var invoice = JsonConvert.DeserializeObject(json);
Assert.NotNull(invoice);
Assert.IsType(invoice);
diff --git a/src/StripeTests/Entities/Issuing/Authorizations/AuthorizationTest.cs b/src/StripeTests/Entities/Issuing/Authorizations/AuthorizationTest.cs
index 568bcf0107..98a401e670 100644
--- a/src/StripeTests/Entities/Issuing/Authorizations/AuthorizationTest.cs
+++ b/src/StripeTests/Entities/Issuing/Authorizations/AuthorizationTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Issuing
public class AuthorizationTest : BaseStripeTest
{
+ public AuthorizationTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/issuing/authorizations/iauth_123");
+ string json = this.GetFixture("/v1/issuing/authorizations/iauth_123");
var authorization = JsonConvert.DeserializeObject(json);
Assert.NotNull(authorization);
Assert.IsType(authorization);
@@ -28,7 +33,7 @@ public void DeserializeWithExpansions()
"cardholder",
};
- string json = GetFixture("/v1/issuing/authorizations/iauth_123", expansions);
+ string json = this.GetFixture("/v1/issuing/authorizations/iauth_123", expansions);
var authorization = JsonConvert.DeserializeObject(json);
Assert.NotNull(authorization);
Assert.IsType(authorization);
diff --git a/src/StripeTests/Entities/Issuing/Cardholders/CardholderTest.cs b/src/StripeTests/Entities/Issuing/Cardholders/CardholderTest.cs
index 7ff020e3ff..79c55eeec9 100644
--- a/src/StripeTests/Entities/Issuing/Cardholders/CardholderTest.cs
+++ b/src/StripeTests/Entities/Issuing/Cardholders/CardholderTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Issuing
public class CardholderTest : BaseStripeTest
{
+ public CardholderTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/issuing/cardholders/ich_123");
+ string json = this.GetFixture("/v1/issuing/cardholders/ich_123");
var cardholder = JsonConvert.DeserializeObject(json);
Assert.NotNull(cardholder);
Assert.IsType(cardholder);
diff --git a/src/StripeTests/Entities/Issuing/Cards/CardDetailsTest.cs b/src/StripeTests/Entities/Issuing/Cards/CardDetailsTest.cs
index 48e353c1dc..2df6a0df4a 100644
--- a/src/StripeTests/Entities/Issuing/Cards/CardDetailsTest.cs
+++ b/src/StripeTests/Entities/Issuing/Cards/CardDetailsTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests.Issuing
public class CardDetailsTest : BaseStripeTest
{
+ public CardDetailsTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Entities/Issuing/Cards/CardTest.cs b/src/StripeTests/Entities/Issuing/Cards/CardTest.cs
index 86e3a0a42e..dd9432a772 100644
--- a/src/StripeTests/Entities/Issuing/Cards/CardTest.cs
+++ b/src/StripeTests/Entities/Issuing/Cards/CardTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Issuing
public class CardTest : BaseStripeTest
{
+ public CardTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/issuing/cards/ic_123");
+ string json = this.GetFixture("/v1/issuing/cards/ic_123");
var card = JsonConvert.DeserializeObject(json);
Assert.NotNull(card);
Assert.IsType(card);
diff --git a/src/StripeTests/Entities/Issuing/Disputes/DisputeTest.cs b/src/StripeTests/Entities/Issuing/Disputes/DisputeTest.cs
index 1f7901a3e0..12c0bbcd69 100644
--- a/src/StripeTests/Entities/Issuing/Disputes/DisputeTest.cs
+++ b/src/StripeTests/Entities/Issuing/Disputes/DisputeTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Issuing
public class DisputeTest : BaseStripeTest
{
+ public DisputeTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/issuing/disputes/idp_123");
+ string json = this.GetFixture("/v1/issuing/disputes/idp_123");
var dispute = JsonConvert.DeserializeObject(json);
Assert.NotNull(dispute);
Assert.IsType(dispute);
diff --git a/src/StripeTests/Entities/Issuing/Transactions/TransactionTest.cs b/src/StripeTests/Entities/Issuing/Transactions/TransactionTest.cs
index 5a48c1dd6c..e206347c00 100644
--- a/src/StripeTests/Entities/Issuing/Transactions/TransactionTest.cs
+++ b/src/StripeTests/Entities/Issuing/Transactions/TransactionTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Issuing
public class TransactionTest : BaseStripeTest
{
+ public TransactionTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/issuing/transactions/ipi_123");
+ string json = this.GetFixture("/v1/issuing/transactions/ipi_123");
var transaction = JsonConvert.DeserializeObject(json);
Assert.NotNull(transaction);
Assert.IsType(transaction);
diff --git a/src/StripeTests/Entities/LoginLinks/LoginLinkTest.cs b/src/StripeTests/Entities/LoginLinks/LoginLinkTest.cs
index 451dde174b..7de9f6ecef 100644
--- a/src/StripeTests/Entities/LoginLinks/LoginLinkTest.cs
+++ b/src/StripeTests/Entities/LoginLinks/LoginLinkTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests
public class LoginLinkTest : BaseStripeTest
{
+ public LoginLinkTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Entities/Orders/OrderTest.cs b/src/StripeTests/Entities/Orders/OrderTest.cs
index cf42da48db..f729bc7e55 100644
--- a/src/StripeTests/Entities/Orders/OrderTest.cs
+++ b/src/StripeTests/Entities/Orders/OrderTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class OrderTest : BaseStripeTest
{
+ public OrderTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/orders/or_123");
+ string json = this.GetFixture("/v1/orders/or_123");
var order = JsonConvert.DeserializeObject(json);
Assert.NotNull(order);
Assert.IsType(order);
@@ -26,7 +31,7 @@ public void DeserializeWithExpansions()
"customer",
};
- string json = GetFixture("/v1/orders/or_123", expansions);
+ string json = this.GetFixture("/v1/orders/or_123", expansions);
var order = JsonConvert.DeserializeObject(json);
Assert.NotNull(order);
Assert.IsType(order);
diff --git a/src/StripeTests/Entities/PaymentIntents/PaymentIntentTest.cs b/src/StripeTests/Entities/PaymentIntents/PaymentIntentTest.cs
index aee6535eb2..788bfb96fc 100644
--- a/src/StripeTests/Entities/PaymentIntents/PaymentIntentTest.cs
+++ b/src/StripeTests/Entities/PaymentIntents/PaymentIntentTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class PaymentIntentTest : BaseStripeTest
{
+ public PaymentIntentTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/payment_intents/pi_123");
+ string json = this.GetFixture("/v1/payment_intents/pi_123");
var intent = JsonConvert.DeserializeObject(json);
Assert.NotNull(intent);
Assert.IsType(intent);
@@ -29,7 +34,7 @@ public void DeserializeWithExpansions()
"transfer_data.destination",
};
- string json = GetFixture("/v1/payment_intents/pi_123", expansions);
+ string json = this.GetFixture("/v1/payment_intents/pi_123", expansions);
var intent = JsonConvert.DeserializeObject(json);
Assert.NotNull(intent);
Assert.IsType(intent);
diff --git a/src/StripeTests/Entities/Payouts/PayoutTest.cs b/src/StripeTests/Entities/Payouts/PayoutTest.cs
index 993728a901..eadc8a5ff0 100644
--- a/src/StripeTests/Entities/Payouts/PayoutTest.cs
+++ b/src/StripeTests/Entities/Payouts/PayoutTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class PayoutTest : BaseStripeTest
{
+ public PayoutTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/payouts/po_123");
+ string json = this.GetFixture("/v1/payouts/po_123");
var payout = JsonConvert.DeserializeObject(json);
Assert.NotNull(payout);
Assert.IsType(payout);
@@ -27,7 +32,7 @@ public void DeserializeWithExpansions()
"failure_balance_transaction",
};
- string json = GetFixture("/v1/payouts/po_123", expansions);
+ string json = this.GetFixture("/v1/payouts/po_123", expansions);
var payout = JsonConvert.DeserializeObject(json);
Assert.NotNull(payout);
Assert.IsType(payout);
diff --git a/src/StripeTests/Entities/Persons/PersonTest.cs b/src/StripeTests/Entities/Persons/PersonTest.cs
index 14320773d3..92be69afc6 100644
--- a/src/StripeTests/Entities/Persons/PersonTest.cs
+++ b/src/StripeTests/Entities/Persons/PersonTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class PersonTest : BaseStripeTest
{
+ public PersonTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/accounts/acct_123/persons/person_123");
+ string json = this.GetFixture("/v1/accounts/acct_123/persons/person_123");
var person = JsonConvert.DeserializeObject(json);
Assert.NotNull(person);
Assert.IsType(person);
diff --git a/src/StripeTests/Entities/Plans/PlanTest.cs b/src/StripeTests/Entities/Plans/PlanTest.cs
index 1492c2a491..812f8e54de 100644
--- a/src/StripeTests/Entities/Plans/PlanTest.cs
+++ b/src/StripeTests/Entities/Plans/PlanTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class PlanTest : BaseStripeTest
{
+ public PlanTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/plans/plan_123");
+ string json = this.GetFixture("/v1/plans/plan_123");
var plan = JsonConvert.DeserializeObject(json);
Assert.NotNull(plan);
Assert.IsType(plan);
@@ -25,7 +30,7 @@ public void DeserializeWithExpansions()
"product",
};
- string json = GetFixture("/v1/plans/plan_123", expansions);
+ string json = this.GetFixture("/v1/plans/plan_123", expansions);
var plan = JsonConvert.DeserializeObject(json);
Assert.NotNull(plan);
Assert.IsType(plan);
diff --git a/src/StripeTests/Entities/Products/ProductTest.cs b/src/StripeTests/Entities/Products/ProductTest.cs
index 269ff42919..0c4c5d543e 100644
--- a/src/StripeTests/Entities/Products/ProductTest.cs
+++ b/src/StripeTests/Entities/Products/ProductTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class ProductTest : BaseStripeTest
{
+ public ProductTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/products/prod_123");
+ string json = this.GetFixture("/v1/products/prod_123");
var product = JsonConvert.DeserializeObject(json);
Assert.NotNull(product);
Assert.IsType(product);
diff --git a/src/StripeTests/Entities/Radar/ValueListItems/ValueListItemTest.cs b/src/StripeTests/Entities/Radar/ValueListItems/ValueListItemTest.cs
index 7e20d91ad4..86e5b4a2f6 100644
--- a/src/StripeTests/Entities/Radar/ValueListItems/ValueListItemTest.cs
+++ b/src/StripeTests/Entities/Radar/ValueListItems/ValueListItemTest.cs
@@ -11,10 +11,15 @@ namespace StripeTests.Radar
public class ValueListItemTest : BaseStripeTest
{
+ public ValueListItemTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/radar/value_list_items/rsli_123");
+ string json = this.GetFixture("/v1/radar/value_list_items/rsli_123");
var valueListItem = Mapper.MapFromJson(json);
Assert.NotNull(valueListItem);
Assert.IsType(valueListItem);
diff --git a/src/StripeTests/Entities/Radar/ValueLists/ValueListTest.cs b/src/StripeTests/Entities/Radar/ValueLists/ValueListTest.cs
index f940912fa4..a6701a0e9f 100644
--- a/src/StripeTests/Entities/Radar/ValueLists/ValueListTest.cs
+++ b/src/StripeTests/Entities/Radar/ValueLists/ValueListTest.cs
@@ -11,10 +11,15 @@ namespace StripeTests.Radar
public class ValueListTest : BaseStripeTest
{
+ public ValueListTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/radar/value_lists/rsl_123");
+ string json = this.GetFixture("/v1/radar/value_lists/rsl_123");
var valueList = Mapper.MapFromJson(json);
Assert.NotNull(valueList);
Assert.IsType(valueList);
diff --git a/src/StripeTests/Entities/Refunds/RefundTest.cs b/src/StripeTests/Entities/Refunds/RefundTest.cs
index d1472d8ac1..c7d99f9d3d 100644
--- a/src/StripeTests/Entities/Refunds/RefundTest.cs
+++ b/src/StripeTests/Entities/Refunds/RefundTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class RefundTest : BaseStripeTest
{
+ public RefundTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/refunds/re_123");
+ string json = this.GetFixture("/v1/refunds/re_123");
var refund = JsonConvert.DeserializeObject(json);
Assert.NotNull(refund);
Assert.IsType(refund);
@@ -29,7 +34,7 @@ public void DeserializeWithExpansions()
"transfer_reversal",
};
- string json = GetFixture("/v1/refunds/re_123", expansions);
+ string json = this.GetFixture("/v1/refunds/re_123", expansions);
var refund = JsonConvert.DeserializeObject(json);
Assert.NotNull(refund);
Assert.IsType(refund);
diff --git a/src/StripeTests/Entities/Reporting/ReportRuns/ReportRunTest.cs b/src/StripeTests/Entities/Reporting/ReportRuns/ReportRunTest.cs
index db39db25ff..466419cf24 100644
--- a/src/StripeTests/Entities/Reporting/ReportRuns/ReportRunTest.cs
+++ b/src/StripeTests/Entities/Reporting/ReportRuns/ReportRunTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Reporting
public class ReportRunTest : BaseStripeTest
{
+ public ReportRunTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/reporting/report_runs/frr_123");
+ string json = this.GetFixture("/v1/reporting/report_runs/frr_123");
var reportRun = JsonConvert.DeserializeObject(json);
Assert.NotNull(reportRun);
Assert.IsType(reportRun);
diff --git a/src/StripeTests/Entities/Reporting/ReportTypes/ReportTypeTest.cs b/src/StripeTests/Entities/Reporting/ReportTypes/ReportTypeTest.cs
index 7d98b3914d..2f62c84abe 100644
--- a/src/StripeTests/Entities/Reporting/ReportTypes/ReportTypeTest.cs
+++ b/src/StripeTests/Entities/Reporting/ReportTypes/ReportTypeTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Reporting
public class ReportTypeTest : BaseStripeTest
{
+ public ReportTypeTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/reporting/report_types/activity.summary.1");
+ string json = this.GetFixture("/v1/reporting/report_types/activity.summary.1");
var reportType = JsonConvert.DeserializeObject(json);
Assert.NotNull(reportType);
Assert.IsType(reportType);
diff --git a/src/StripeTests/Entities/Reviews/ReviewTest.cs b/src/StripeTests/Entities/Reviews/ReviewTest.cs
index 3ebb64ef91..c45b675202 100644
--- a/src/StripeTests/Entities/Reviews/ReviewTest.cs
+++ b/src/StripeTests/Entities/Reviews/ReviewTest.cs
@@ -5,10 +5,15 @@ namespace StripeTests
public class ReviewTest : BaseStripeTest
{
+ public ReviewTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/reviews/prv_123");
+ string json = this.GetFixture("/v1/reviews/prv_123");
var review = Mapper.MapFromJson(json);
Assert.NotNull(review);
Assert.IsType(review);
@@ -25,7 +30,7 @@ public void DeserializeWithExpansions()
"payment_intent",
};
- string json = GetFixture("/v1/reviews/prv_123", expansions);
+ string json = this.GetFixture("/v1/reviews/prv_123", expansions);
var review = Mapper.MapFromJson(json);
Assert.NotNull(review);
Assert.IsType(review);
diff --git a/src/StripeTests/Entities/Sigma/ScheduledQueryRunTest.cs b/src/StripeTests/Entities/Sigma/ScheduledQueryRunTest.cs
index 5b7dc6958c..cdce2e5c2a 100644
--- a/src/StripeTests/Entities/Sigma/ScheduledQueryRunTest.cs
+++ b/src/StripeTests/Entities/Sigma/ScheduledQueryRunTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Sigma
public class ScheduledQueryRunTest : BaseStripeTest
{
+ public ScheduledQueryRunTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/sigma/scheduled_query_runs/sqr_123");
+ string json = this.GetFixture("/v1/sigma/scheduled_query_runs/sqr_123");
var run = JsonConvert.DeserializeObject(json);
Assert.NotNull(run);
Assert.IsType(run);
diff --git a/src/StripeTests/Entities/Skus/SkuTest.cs b/src/StripeTests/Entities/Skus/SkuTest.cs
index c47f3bcc9e..f694b3d81b 100644
--- a/src/StripeTests/Entities/Skus/SkuTest.cs
+++ b/src/StripeTests/Entities/Skus/SkuTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class SkuTest : BaseStripeTest
{
+ public SkuTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/skus/sku_123");
+ string json = this.GetFixture("/v1/skus/sku_123");
var sku = JsonConvert.DeserializeObject(json);
Assert.NotNull(sku);
Assert.IsType(sku);
@@ -25,7 +30,7 @@ public void DeserializeWithExpansions()
"product",
};
- string json = GetFixture("/v1/skus/sku_123", expansions);
+ string json = this.GetFixture("/v1/skus/sku_123", expansions);
var sku = JsonConvert.DeserializeObject(json);
Assert.NotNull(sku);
Assert.IsType(sku);
diff --git a/src/StripeTests/Entities/SourceMandateNotifications/SourceMandateNotificationTest.cs b/src/StripeTests/Entities/SourceMandateNotifications/SourceMandateNotificationTest.cs
index e21e49d69e..02c854db92 100644
--- a/src/StripeTests/Entities/SourceMandateNotifications/SourceMandateNotificationTest.cs
+++ b/src/StripeTests/Entities/SourceMandateNotifications/SourceMandateNotificationTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests
public class SourceMandateNotificationTest : BaseStripeTest
{
+ public SourceMandateNotificationTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Entities/Sources/SourceTest.cs b/src/StripeTests/Entities/Sources/SourceTest.cs
index 664f859159..ae4c50a4de 100644
--- a/src/StripeTests/Entities/Sources/SourceTest.cs
+++ b/src/StripeTests/Entities/Sources/SourceTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class SourceTest : BaseStripeTest
{
+ public SourceTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/sources/src_123");
+ string json = this.GetFixture("/v1/sources/src_123");
var source = JsonConvert.DeserializeObject(json);
Assert.NotNull(source);
Assert.IsType(source);
diff --git a/src/StripeTests/Entities/SubscriptionItems/SubscriptionItemTest.cs b/src/StripeTests/Entities/SubscriptionItems/SubscriptionItemTest.cs
index 761cc413bc..ebdc4e237b 100644
--- a/src/StripeTests/Entities/SubscriptionItems/SubscriptionItemTest.cs
+++ b/src/StripeTests/Entities/SubscriptionItems/SubscriptionItemTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class SubscriptionItemTest : BaseStripeTest
{
+ public SubscriptionItemTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/subscription_items/si_123");
+ string json = this.GetFixture("/v1/subscription_items/si_123");
var subscriptionItem = JsonConvert.DeserializeObject(json);
Assert.NotNull(subscriptionItem);
Assert.IsType(subscriptionItem);
diff --git a/src/StripeTests/Entities/Subscriptions/SubscriptionTest.cs b/src/StripeTests/Entities/Subscriptions/SubscriptionTest.cs
index 1cf88995ab..a347d28893 100644
--- a/src/StripeTests/Entities/Subscriptions/SubscriptionTest.cs
+++ b/src/StripeTests/Entities/Subscriptions/SubscriptionTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class SubscriptionTest : BaseStripeTest
{
+ public SubscriptionTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/subscriptions/sub_123");
+ string json = this.GetFixture("/v1/subscriptions/sub_123");
var subscription = JsonConvert.DeserializeObject(json);
Assert.NotNull(subscription);
Assert.IsType(subscription);
@@ -25,7 +30,7 @@ public void DeserializeWithExpansions()
"customer",
};
- string json = GetFixture("/v1/subscriptions/sub_123", expansions);
+ string json = this.GetFixture("/v1/subscriptions/sub_123", expansions);
var subscription = JsonConvert.DeserializeObject(json);
Assert.NotNull(subscription);
Assert.IsType(subscription);
diff --git a/src/StripeTests/Entities/Terminal/ConnectionTokens/ConnectionTokenTest.cs b/src/StripeTests/Entities/Terminal/ConnectionTokens/ConnectionTokenTest.cs
index 653c2f00e3..f1acfef278 100644
--- a/src/StripeTests/Entities/Terminal/ConnectionTokens/ConnectionTokenTest.cs
+++ b/src/StripeTests/Entities/Terminal/ConnectionTokens/ConnectionTokenTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests.Terminal
public class ConnectionTokenTest : BaseStripeTest
{
+ public ConnectionTokenTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Entities/Terminal/Locations/LocationTest.cs b/src/StripeTests/Entities/Terminal/Locations/LocationTest.cs
index a97e91d350..1261987a60 100644
--- a/src/StripeTests/Entities/Terminal/Locations/LocationTest.cs
+++ b/src/StripeTests/Entities/Terminal/Locations/LocationTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Terminal
public class LocationTest : BaseStripeTest
{
+ public LocationTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/terminal/locations/loc_123");
+ string json = this.GetFixture("/v1/terminal/locations/loc_123");
var location = JsonConvert.DeserializeObject(json);
Assert.NotNull(location);
Assert.IsType(location);
diff --git a/src/StripeTests/Entities/Terminal/Readers/ReaderTest.cs b/src/StripeTests/Entities/Terminal/Readers/ReaderTest.cs
index 10b206f75f..2e15d93f0b 100644
--- a/src/StripeTests/Entities/Terminal/Readers/ReaderTest.cs
+++ b/src/StripeTests/Entities/Terminal/Readers/ReaderTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests.Terminal
public class ReaderTest : BaseStripeTest
{
+ public ReaderTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/terminal/readers/ds_123");
+ string json = this.GetFixture("/v1/terminal/readers/ds_123");
var reader = JsonConvert.DeserializeObject(json);
Assert.NotNull(reader);
Assert.IsType(reader);
diff --git a/src/StripeTests/Entities/ThreeDSecure/ThreeDSecureTest.cs b/src/StripeTests/Entities/ThreeDSecure/ThreeDSecureTest.cs
index 58b5f9e50c..3457f95615 100644
--- a/src/StripeTests/Entities/ThreeDSecure/ThreeDSecureTest.cs
+++ b/src/StripeTests/Entities/ThreeDSecure/ThreeDSecureTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class ThreeDSecureTest : BaseStripeTest
{
+ public ThreeDSecureTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/3d_secure/tdsrc_123");
+ string json = this.GetFixture("/v1/3d_secure/tdsrc_123");
var resource = JsonConvert.DeserializeObject(json);
Assert.NotNull(resource);
Assert.IsType(resource);
diff --git a/src/StripeTests/Entities/Tokens/TokenTest.cs b/src/StripeTests/Entities/Tokens/TokenTest.cs
index 1c3860d0b4..767aff853c 100644
--- a/src/StripeTests/Entities/Tokens/TokenTest.cs
+++ b/src/StripeTests/Entities/Tokens/TokenTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class TokenTest : BaseStripeTest
{
+ public TokenTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/tokens/tok_123");
+ string json = this.GetFixture("/v1/tokens/tok_123");
var token = JsonConvert.DeserializeObject(json);
Assert.NotNull(token);
Assert.IsType(token);
diff --git a/src/StripeTests/Entities/Topups/TopupTest.cs b/src/StripeTests/Entities/Topups/TopupTest.cs
index 24cc14d385..6590cbb923 100644
--- a/src/StripeTests/Entities/Topups/TopupTest.cs
+++ b/src/StripeTests/Entities/Topups/TopupTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class TopupTest : BaseStripeTest
{
+ public TopupTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/topups/tu_123");
+ string json = this.GetFixture("/v1/topups/tu_123");
var topup = JsonConvert.DeserializeObject(json);
Assert.NotNull(topup);
Assert.IsType(topup);
@@ -26,7 +31,7 @@ public void DeserializeWithExpansions()
"source",
};
- string json = GetFixture("/v1/topups/tu_123", expansions);
+ string json = this.GetFixture("/v1/topups/tu_123", expansions);
var topup = JsonConvert.DeserializeObject(json);
Assert.NotNull(topup);
Assert.IsType(topup);
diff --git a/src/StripeTests/Entities/TransferReversals/TransferReversalTest.cs b/src/StripeTests/Entities/TransferReversals/TransferReversalTest.cs
index 4818a01482..b0f4bd8831 100644
--- a/src/StripeTests/Entities/TransferReversals/TransferReversalTest.cs
+++ b/src/StripeTests/Entities/TransferReversals/TransferReversalTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class TransferReversalTest : BaseStripeTest
{
+ public TransferReversalTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/transfers/tr_123/reversals/trr_123");
+ string json = this.GetFixture("/v1/transfers/tr_123/reversals/trr_123");
var transferReversal = JsonConvert.DeserializeObject(json);
Assert.NotNull(transferReversal);
Assert.IsType(transferReversal);
@@ -26,7 +31,7 @@ public void DeserializeWithExpansions()
"transfer",
};
- string json = GetFixture("/v1/transfers/tr_123/reversals/trr_123", expansions);
+ string json = this.GetFixture("/v1/transfers/tr_123/reversals/trr_123", expansions);
var transferReversal = JsonConvert.DeserializeObject(json);
Assert.NotNull(transferReversal);
Assert.IsType(transferReversal);
diff --git a/src/StripeTests/Entities/Transfers/TransferTest.cs b/src/StripeTests/Entities/Transfers/TransferTest.cs
index ef0b21cee2..2ba4ec4449 100644
--- a/src/StripeTests/Entities/Transfers/TransferTest.cs
+++ b/src/StripeTests/Entities/Transfers/TransferTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class TransferTest : BaseStripeTest
{
+ public TransferTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/transfers/tr_123");
+ string json = this.GetFixture("/v1/transfers/tr_123");
var transfer = JsonConvert.DeserializeObject(json);
Assert.NotNull(transfer);
Assert.IsType(transfer);
@@ -28,7 +33,7 @@ public void DeserializeWithExpansions()
"source_transaction",
};
- string json = GetFixture("/v1/transfers/tr_123", expansions);
+ string json = this.GetFixture("/v1/transfers/tr_123", expansions);
var transfer = JsonConvert.DeserializeObject(json);
Assert.NotNull(transfer);
Assert.IsType(transfer);
diff --git a/src/StripeTests/Entities/UsageRecordSummaries/UsageRecordSummaryTest.cs b/src/StripeTests/Entities/UsageRecordSummaries/UsageRecordSummaryTest.cs
index d7bff0217f..ebeb0400a1 100644
--- a/src/StripeTests/Entities/UsageRecordSummaries/UsageRecordSummaryTest.cs
+++ b/src/StripeTests/Entities/UsageRecordSummaries/UsageRecordSummaryTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class UsageRecordSummaryTest : BaseStripeTest
{
+ public UsageRecordSummaryTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/subscription_items/si_123/usage_record_summaries");
+ string json = this.GetFixture("/v1/subscription_items/si_123/usage_record_summaries");
var summaries = JsonConvert.DeserializeObject>(json);
Assert.NotNull(summaries);
diff --git a/src/StripeTests/Entities/UsageRecords/UsageRecordTest.cs b/src/StripeTests/Entities/UsageRecords/UsageRecordTest.cs
index 16f8a5cb45..20e69f9023 100644
--- a/src/StripeTests/Entities/UsageRecords/UsageRecordTest.cs
+++ b/src/StripeTests/Entities/UsageRecords/UsageRecordTest.cs
@@ -6,6 +6,11 @@ namespace StripeTests
public class UsageRecordTest : BaseStripeTest
{
+ public UsageRecordTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
diff --git a/src/StripeTests/Entities/WebhookEndpoints/WebhookEndpointTest.cs b/src/StripeTests/Entities/WebhookEndpoints/WebhookEndpointTest.cs
index 1387018dc8..15401c2e8a 100644
--- a/src/StripeTests/Entities/WebhookEndpoints/WebhookEndpointTest.cs
+++ b/src/StripeTests/Entities/WebhookEndpoints/WebhookEndpointTest.cs
@@ -6,10 +6,15 @@ namespace StripeTests
public class WebhookEndpointTest : BaseStripeTest
{
+ public WebhookEndpointTest(StripeMockFixture stripeMockFixture)
+ : base(stripeMockFixture)
+ {
+ }
+
[Fact]
public void Deserialize()
{
- string json = GetFixture("/v1/webhook_endpoints/we_123");
+ string json = this.GetFixture("/v1/webhook_endpoints/we_123");
var endpoint = JsonConvert.DeserializeObject(json);
Assert.NotNull(endpoint);
Assert.IsType(endpoint);
diff --git a/src/StripeTests/Infrastructure/StripeExceptionTest.cs b/src/StripeTests/Infrastructure/StripeExceptionTest.cs
index c25c62695a..8c6ce6aed5 100644
--- a/src/StripeTests/Infrastructure/StripeExceptionTest.cs
+++ b/src/StripeTests/Infrastructure/StripeExceptionTest.cs
@@ -1,19 +1,16 @@
namespace StripeTests
{
- using System.Linq;
- using System.Net.Http;
- using Newtonsoft.Json.Linq;
+ using System.Threading.Tasks;
using Stripe;
- using Stripe.Infrastructure;
using Xunit;
public class StripeExceptionTest : BaseStripeTest
{
[Fact]
- public void SetsStripeResponse()
+ public async Task SetsStripeResponse()
{
- var exception = Assert.Throws(() =>
- new CouponService().Create(new CouponCreateOptions()));
+ var exception = await Assert.ThrowsAsync(async () =>
+ await new CouponService().CreateAsync(new CouponCreateOptions()));
Assert.NotNull(exception);
Assert.NotNull(exception.StripeError);
diff --git a/src/StripeTests/MockHttpClientFixture.cs b/src/StripeTests/MockHttpClientFixture.cs
new file mode 100644
index 0000000000..37a6c04d39
--- /dev/null
+++ b/src/StripeTests/MockHttpClientFixture.cs
@@ -0,0 +1,54 @@
+namespace StripeTests
+{
+ using System;
+ using System.Net.Http;
+ using System.Threading;
+ using Moq;
+ using Moq.Protected;
+ using Stripe;
+
+ public class MockHttpClientFixture : IDisposable
+ {
+ private Mock mockHandler;
+
+ private HttpMessageHandler origHandler;
+
+ public MockHttpClientFixture()
+ {
+ this.mockHandler = new Mock
+ {
+ CallBase = true
+ };
+
+ this.origHandler = StripeConfiguration.HttpMessageHandler;
+ StripeConfiguration.HttpMessageHandler = this.mockHandler.Object;
+ }
+
+ public void Dispose()
+ {
+ StripeConfiguration.HttpMessageHandler = this.origHandler;
+ }
+
+ ///
+ /// Resets all invocations recorded for the mock client.
+ ///
+ public void Reset()
+ {
+ this.mockHandler.Invocations.Clear();
+ }
+
+ ///
+ /// Asserts that a single HTTP request was made with the specified method and path.
+ ///
+ public void AssertRequest(HttpMethod method, string path)
+ {
+ this.mockHandler.Protected().Verify(
+ "SendAsync",
+ Times.Once(),
+ ItExpr.Is(m =>
+ m.Method == method &&
+ m.RequestUri.AbsolutePath == path),
+ ItExpr.IsAny());
+ }
+ }
+}
diff --git a/src/StripeTests/Services/Accounts/AccountCreateOptionsTest.cs b/src/StripeTests/Services/Accounts/AccountCreateOptionsTest.cs
index deaa64b5e9..3356d7b41f 100644
--- a/src/StripeTests/Services/Accounts/AccountCreateOptionsTest.cs
+++ b/src/StripeTests/Services/Accounts/AccountCreateOptionsTest.cs
@@ -12,7 +12,8 @@ public class AccountCreateOptionsTest : BaseStripeTest
{
private readonly AccountService service;
- public AccountCreateOptionsTest()
+ public AccountCreateOptionsTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new AccountService();
}
diff --git a/src/StripeTests/Services/Accounts/AccountServiceTest.cs b/src/StripeTests/Services/Accounts/AccountServiceTest.cs
index 2d13910685..15e20e0cda 100644
--- a/src/StripeTests/Services/Accounts/AccountServiceTest.cs
+++ b/src/StripeTests/Services/Accounts/AccountServiceTest.cs
@@ -17,7 +17,8 @@ public class AccountServiceTest : BaseStripeTest
private readonly AccountListOptions listOptions;
private readonly AccountRejectOptions rejectOptions;
- public AccountServiceTest()
+ public AccountServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new AccountService();
diff --git a/src/StripeTests/Services/ApplePayDomains/ApplePayDomainServiceTest.cs b/src/StripeTests/Services/ApplePayDomains/ApplePayDomainServiceTest.cs
index 9aa16458b8..cb3106680f 100644
--- a/src/StripeTests/Services/ApplePayDomains/ApplePayDomainServiceTest.cs
+++ b/src/StripeTests/Services/ApplePayDomains/ApplePayDomainServiceTest.cs
@@ -15,7 +15,8 @@ public class ApplePayDomainServiceTest : BaseStripeTest
private readonly ApplePayDomainCreateOptions createOptions;
private readonly ApplePayDomainListOptions listOptions;
- public ApplePayDomainServiceTest()
+ public ApplePayDomainServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ApplePayDomainService();
diff --git a/src/StripeTests/Services/ApplicationFeeRefunds/ApplicationFeeRefundServiceTest.cs b/src/StripeTests/Services/ApplicationFeeRefunds/ApplicationFeeRefundServiceTest.cs
index 1e1155e10e..6d9cb518b9 100644
--- a/src/StripeTests/Services/ApplicationFeeRefunds/ApplicationFeeRefundServiceTest.cs
+++ b/src/StripeTests/Services/ApplicationFeeRefunds/ApplicationFeeRefundServiceTest.cs
@@ -17,7 +17,8 @@ public class ApplicationFeeRefundServiceTest : BaseStripeTest
private readonly ApplicationFeeRefundUpdateOptions updateOptions;
private readonly ApplicationFeeRefundListOptions listOptions;
- public ApplicationFeeRefundServiceTest()
+ public ApplicationFeeRefundServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ApplicationFeeRefundService();
diff --git a/src/StripeTests/Services/ApplicationFees/ApplicationFeeServiceTest.cs b/src/StripeTests/Services/ApplicationFees/ApplicationFeeServiceTest.cs
index b31b67bfda..d7ff693fb7 100644
--- a/src/StripeTests/Services/ApplicationFees/ApplicationFeeServiceTest.cs
+++ b/src/StripeTests/Services/ApplicationFees/ApplicationFeeServiceTest.cs
@@ -14,7 +14,8 @@ public class ApplicationFeeServiceTest : BaseStripeTest
private readonly ApplicationFeeService service;
private readonly ApplicationFeeListOptions listOptions;
- public ApplicationFeeServiceTest()
+ public ApplicationFeeServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ApplicationFeeService();
diff --git a/src/StripeTests/Services/Balance/BalanceServiceTest.cs b/src/StripeTests/Services/Balance/BalanceServiceTest.cs
index e0d05b98c3..ea5f0b9174 100644
--- a/src/StripeTests/Services/Balance/BalanceServiceTest.cs
+++ b/src/StripeTests/Services/Balance/BalanceServiceTest.cs
@@ -11,7 +11,8 @@ public class BalanceServiceTest : BaseStripeTest
{
private readonly BalanceService service;
- public BalanceServiceTest()
+ public BalanceServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new BalanceService();
}
diff --git a/src/StripeTests/Services/BalanceTransactions/BalanceTransactionServiceTest.cs b/src/StripeTests/Services/BalanceTransactions/BalanceTransactionServiceTest.cs
index b076362504..617e2c7c24 100644
--- a/src/StripeTests/Services/BalanceTransactions/BalanceTransactionServiceTest.cs
+++ b/src/StripeTests/Services/BalanceTransactions/BalanceTransactionServiceTest.cs
@@ -14,7 +14,8 @@ public class BalanceTransactionServiceTest : BaseStripeTest
private readonly BalanceTransactionService service;
private readonly BalanceTransactionListOptions listOptions;
- public BalanceTransactionServiceTest()
+ public BalanceTransactionServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new BalanceTransactionService();
diff --git a/src/StripeTests/Services/BankAccounts/BankAccountListOptionsTest.cs b/src/StripeTests/Services/BankAccounts/BankAccountListOptionsTest.cs
index 4e26bd285f..df76ff9a02 100644
--- a/src/StripeTests/Services/BankAccounts/BankAccountListOptionsTest.cs
+++ b/src/StripeTests/Services/BankAccounts/BankAccountListOptionsTest.cs
@@ -12,7 +12,8 @@ public class BankAccountListOptionsTest : BaseStripeTest
{
private readonly BankAccountService service;
- public BankAccountListOptionsTest()
+ public BankAccountListOptionsTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new BankAccountService();
}
diff --git a/src/StripeTests/Services/BankAccounts/BankAccountServiceTest.cs b/src/StripeTests/Services/BankAccounts/BankAccountServiceTest.cs
index 515dbefcec..1d68417e3d 100644
--- a/src/StripeTests/Services/BankAccounts/BankAccountServiceTest.cs
+++ b/src/StripeTests/Services/BankAccounts/BankAccountServiceTest.cs
@@ -18,7 +18,8 @@ public class BankAccountServiceTest : BaseStripeTest
private readonly BankAccountListOptions listOptions;
private readonly BankAccountVerifyOptions verifyOptions;
- public BankAccountServiceTest()
+ public BankAccountServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new BankAccountService();
diff --git a/src/StripeTests/Services/Cards/CardListOptionsTest.cs b/src/StripeTests/Services/Cards/CardListOptionsTest.cs
index fdb070fe6d..6660e9a9df 100644
--- a/src/StripeTests/Services/Cards/CardListOptionsTest.cs
+++ b/src/StripeTests/Services/Cards/CardListOptionsTest.cs
@@ -12,7 +12,8 @@ public class CardListOptionsTest : BaseStripeTest
{
private readonly CardService service;
- public CardListOptionsTest()
+ public CardListOptionsTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CardService();
}
diff --git a/src/StripeTests/Services/Cards/CardServiceTest.cs b/src/StripeTests/Services/Cards/CardServiceTest.cs
index 2265ff5c45..8735a26ebe 100644
--- a/src/StripeTests/Services/Cards/CardServiceTest.cs
+++ b/src/StripeTests/Services/Cards/CardServiceTest.cs
@@ -21,7 +21,8 @@ public class CardServiceTest : BaseStripeTest
private readonly CardUpdateOptions updateOptions;
private readonly CardListOptions listOptions;
- public CardServiceTest()
+ public CardServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CardService();
diff --git a/src/StripeTests/Services/Charges/ChargeServiceTest.cs b/src/StripeTests/Services/Charges/ChargeServiceTest.cs
index f5f45a89b8..5c4a42c8bf 100644
--- a/src/StripeTests/Services/Charges/ChargeServiceTest.cs
+++ b/src/StripeTests/Services/Charges/ChargeServiceTest.cs
@@ -17,7 +17,8 @@ public class ChargeServiceTest : BaseStripeTest
private readonly ChargeUpdateOptions updateOptions;
private readonly ChargeListOptions listOptions;
- public ChargeServiceTest()
+ public ChargeServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ChargeService();
diff --git a/src/StripeTests/Services/CountrySpecs/CountrySpecServiceTest.cs b/src/StripeTests/Services/CountrySpecs/CountrySpecServiceTest.cs
index 9f2673cefe..013903064a 100644
--- a/src/StripeTests/Services/CountrySpecs/CountrySpecServiceTest.cs
+++ b/src/StripeTests/Services/CountrySpecs/CountrySpecServiceTest.cs
@@ -14,7 +14,8 @@ public class CountrySpecServiceTest : BaseStripeTest
private readonly CountrySpecService service;
private readonly CountrySpecListOptions listOptions;
- public CountrySpecServiceTest()
+ public CountrySpecServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CountrySpecService();
diff --git a/src/StripeTests/Services/Coupons/CouponCreateOptionsTest.cs b/src/StripeTests/Services/Coupons/CouponCreateOptionsTest.cs
index 200678ba38..099efd36fb 100644
--- a/src/StripeTests/Services/Coupons/CouponCreateOptionsTest.cs
+++ b/src/StripeTests/Services/Coupons/CouponCreateOptionsTest.cs
@@ -12,7 +12,8 @@ public class CouponCreateOptionsTest : BaseStripeTest
{
private readonly CouponService service;
- public CouponCreateOptionsTest()
+ public CouponCreateOptionsTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CouponService();
}
diff --git a/src/StripeTests/Services/Coupons/CouponServiceTest.cs b/src/StripeTests/Services/Coupons/CouponServiceTest.cs
index 28c752f159..f7668ae440 100644
--- a/src/StripeTests/Services/Coupons/CouponServiceTest.cs
+++ b/src/StripeTests/Services/Coupons/CouponServiceTest.cs
@@ -16,7 +16,8 @@ public class CouponServiceTest : BaseStripeTest
private readonly CouponUpdateOptions updateOptions;
private readonly CouponListOptions listOptions;
- public CouponServiceTest()
+ public CouponServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CouponService();
diff --git a/src/StripeTests/Services/Customers/CustomerServiceTest.cs b/src/StripeTests/Services/Customers/CustomerServiceTest.cs
index eb36d3f196..14cc5a0a19 100644
--- a/src/StripeTests/Services/Customers/CustomerServiceTest.cs
+++ b/src/StripeTests/Services/Customers/CustomerServiceTest.cs
@@ -16,7 +16,8 @@ public class CustomerServiceTest : BaseStripeTest
private readonly CustomerUpdateOptions updateOptions;
private readonly CustomerListOptions listOptions;
- public CustomerServiceTest()
+ public CustomerServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CustomerService();
diff --git a/src/StripeTests/Services/Discounts/DiscountServiceTest.cs b/src/StripeTests/Services/Discounts/DiscountServiceTest.cs
index dc63fd9bea..f5877f5c2a 100644
--- a/src/StripeTests/Services/Discounts/DiscountServiceTest.cs
+++ b/src/StripeTests/Services/Discounts/DiscountServiceTest.cs
@@ -11,7 +11,8 @@ public class DiscountServiceTest : BaseStripeTest
{
private readonly DiscountService service;
- public DiscountServiceTest()
+ public DiscountServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new DiscountService();
}
diff --git a/src/StripeTests/Services/Disputes/DisputeServiceTest.cs b/src/StripeTests/Services/Disputes/DisputeServiceTest.cs
index ffd5f11406..8ba3b177c2 100644
--- a/src/StripeTests/Services/Disputes/DisputeServiceTest.cs
+++ b/src/StripeTests/Services/Disputes/DisputeServiceTest.cs
@@ -15,7 +15,8 @@ public class DisputeServiceTest : BaseStripeTest
private readonly DisputeUpdateOptions updateOptions;
private readonly DisputeListOptions listOptions;
- public DisputeServiceTest()
+ public DisputeServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new DisputeService();
diff --git a/src/StripeTests/Services/EphemeralKeys/EphemeralKeyServiceTest.cs b/src/StripeTests/Services/EphemeralKeys/EphemeralKeyServiceTest.cs
index 2647a85e58..269aa4a631 100644
--- a/src/StripeTests/Services/EphemeralKeys/EphemeralKeyServiceTest.cs
+++ b/src/StripeTests/Services/EphemeralKeys/EphemeralKeyServiceTest.cs
@@ -14,7 +14,8 @@ public class EphemeralKeyServiceTest : BaseStripeTest
private readonly EphemeralKeyService service;
private readonly EphemeralKeyCreateOptions createOptions;
- public EphemeralKeyServiceTest()
+ public EphemeralKeyServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new EphemeralKeyService();
diff --git a/src/StripeTests/Services/Events/EventServiceTest.cs b/src/StripeTests/Services/Events/EventServiceTest.cs
index a364e117ed..c6621fb950 100644
--- a/src/StripeTests/Services/Events/EventServiceTest.cs
+++ b/src/StripeTests/Services/Events/EventServiceTest.cs
@@ -14,7 +14,8 @@ public class EventServiceTest : BaseStripeTest
private readonly EventService service;
private readonly EventListOptions listOptions;
- public EventServiceTest()
+ public EventServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new EventService();
diff --git a/src/StripeTests/Services/Events/EventUtilityTest.cs b/src/StripeTests/Services/Events/EventUtilityTest.cs
index c1fc67d662..dec7bb4048 100644
--- a/src/StripeTests/Services/Events/EventUtilityTest.cs
+++ b/src/StripeTests/Services/Events/EventUtilityTest.cs
@@ -10,7 +10,8 @@ public class EventUtilityTest : BaseStripeTest
private readonly string json;
private readonly string secret;
- public EventUtilityTest()
+ public EventUtilityTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.eventTimestamp = 1533204620;
this.secret = "webhook_secret";
diff --git a/src/StripeTests/Services/ExchangeRates/ExchangeRateServiceTest.cs b/src/StripeTests/Services/ExchangeRates/ExchangeRateServiceTest.cs
index 2a032934a3..5157e5f311 100644
--- a/src/StripeTests/Services/ExchangeRates/ExchangeRateServiceTest.cs
+++ b/src/StripeTests/Services/ExchangeRates/ExchangeRateServiceTest.cs
@@ -12,7 +12,8 @@ public class ExchangeRateServiceTest : BaseStripeTest
private readonly ExchangeRateService service;
private readonly ExchangeRateListOptions listOptions;
- public ExchangeRateServiceTest()
+ public ExchangeRateServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ExchangeRateService();
diff --git a/src/StripeTests/Services/ExternalAccounts/ExternalAccountServiceTest.cs b/src/StripeTests/Services/ExternalAccounts/ExternalAccountServiceTest.cs
index e820354f85..3b25d2355f 100644
--- a/src/StripeTests/Services/ExternalAccounts/ExternalAccountServiceTest.cs
+++ b/src/StripeTests/Services/ExternalAccounts/ExternalAccountServiceTest.cs
@@ -17,7 +17,8 @@ public class ExternalAccountServiceTest : BaseStripeTest
private readonly ExternalAccountUpdateOptions updateOptions;
private readonly ExternalAccountListOptions listOptions;
- public ExternalAccountServiceTest()
+ public ExternalAccountServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ExternalAccountService();
diff --git a/src/StripeTests/Services/FileLinks/FileLinkServiceTest.cs b/src/StripeTests/Services/FileLinks/FileLinkServiceTest.cs
index 4e05c15db0..718a1735d8 100644
--- a/src/StripeTests/Services/FileLinks/FileLinkServiceTest.cs
+++ b/src/StripeTests/Services/FileLinks/FileLinkServiceTest.cs
@@ -16,7 +16,8 @@ public class FileLinkServiceTest : BaseStripeTest
private readonly FileLinkUpdateOptions updateOptions;
private readonly FileLinkListOptions listOptions;
- public FileLinkServiceTest()
+ public FileLinkServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new FileLinkService();
diff --git a/src/StripeTests/Services/Files/FileServiceTest.cs b/src/StripeTests/Services/Files/FileServiceTest.cs
index 4fb41e7115..7dc970e8ad 100644
--- a/src/StripeTests/Services/Files/FileServiceTest.cs
+++ b/src/StripeTests/Services/Files/FileServiceTest.cs
@@ -19,7 +19,8 @@ public class FileServiceTest : BaseStripeTest
private readonly FileCreateOptions createOptions;
private readonly FileListOptions listOptions;
- public FileServiceTest()
+ public FileServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new FileService();
diff --git a/src/StripeTests/Services/InvoiceItems/InvoiceItemServiceTest.cs b/src/StripeTests/Services/InvoiceItems/InvoiceItemServiceTest.cs
index ebb229dc0e..9c231004fd 100644
--- a/src/StripeTests/Services/InvoiceItems/InvoiceItemServiceTest.cs
+++ b/src/StripeTests/Services/InvoiceItems/InvoiceItemServiceTest.cs
@@ -16,7 +16,8 @@ public class InvoiceItemServiceTest : BaseStripeTest
private readonly InvoiceItemUpdateOptions updateOptions;
private readonly InvoiceItemListOptions listOptions;
- public InvoiceItemServiceTest()
+ public InvoiceItemServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new InvoiceItemService();
diff --git a/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs b/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs
index 572f073f8d..61d24ac0eb 100644
--- a/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs
+++ b/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs
@@ -24,7 +24,8 @@ public class InvoiceServiceTest : BaseStripeTest
private readonly InvoiceSendOptions sendOptions;
private readonly InvoiceVoidOptions voidOptions;
- public InvoiceServiceTest()
+ public InvoiceServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new InvoiceService();
diff --git a/src/StripeTests/Services/Issuing/Authorizations/AuthorizationServiceTest.cs b/src/StripeTests/Services/Issuing/Authorizations/AuthorizationServiceTest.cs
index 1702f27e68..caed232e4a 100644
--- a/src/StripeTests/Services/Issuing/Authorizations/AuthorizationServiceTest.cs
+++ b/src/StripeTests/Services/Issuing/Authorizations/AuthorizationServiceTest.cs
@@ -15,7 +15,8 @@ public class AuthorizationServiceTest : BaseStripeTest
private readonly AuthorizationUpdateOptions updateOptions;
private readonly AuthorizationListOptions listOptions;
- public AuthorizationServiceTest()
+ public AuthorizationServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new AuthorizationService();
diff --git a/src/StripeTests/Services/Issuing/Cardholders/CardholderServiceTest.cs b/src/StripeTests/Services/Issuing/Cardholders/CardholderServiceTest.cs
index f98790cf3d..73200e7c73 100644
--- a/src/StripeTests/Services/Issuing/Cardholders/CardholderServiceTest.cs
+++ b/src/StripeTests/Services/Issuing/Cardholders/CardholderServiceTest.cs
@@ -17,7 +17,8 @@ public class CardholderServiceTest : BaseStripeTest
private readonly CardholderUpdateOptions updateOptions;
private readonly CardholderListOptions listOptions;
- public CardholderServiceTest()
+ public CardholderServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CardholderService();
diff --git a/src/StripeTests/Services/Issuing/Cards/IssuingCardServiceTest.cs b/src/StripeTests/Services/Issuing/Cards/IssuingCardServiceTest.cs
index 760136c234..488a60fdf2 100644
--- a/src/StripeTests/Services/Issuing/Cards/IssuingCardServiceTest.cs
+++ b/src/StripeTests/Services/Issuing/Cards/IssuingCardServiceTest.cs
@@ -16,7 +16,8 @@ public class IssuingCardServiceTest : BaseStripeTest
private readonly CardUpdateOptions updateOptions;
private readonly CardListOptions listOptions;
- public IssuingCardServiceTest()
+ public IssuingCardServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new CardService();
diff --git a/src/StripeTests/Services/Issuing/Disputes/IssuingDisputeServiceTest.cs b/src/StripeTests/Services/Issuing/Disputes/IssuingDisputeServiceTest.cs
index a3aca92dcd..e9d8a6003a 100644
--- a/src/StripeTests/Services/Issuing/Disputes/IssuingDisputeServiceTest.cs
+++ b/src/StripeTests/Services/Issuing/Disputes/IssuingDisputeServiceTest.cs
@@ -16,7 +16,8 @@ public class IssuingDisputeServiceTest : BaseStripeTest
private readonly DisputeUpdateOptions updateOptions;
private readonly DisputeListOptions listOptions;
- public IssuingDisputeServiceTest()
+ public IssuingDisputeServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new DisputeService();
diff --git a/src/StripeTests/Services/Issuing/Transactions/TransactionServiceTest.cs b/src/StripeTests/Services/Issuing/Transactions/TransactionServiceTest.cs
index 8cdd6aab30..29b7cb66e3 100644
--- a/src/StripeTests/Services/Issuing/Transactions/TransactionServiceTest.cs
+++ b/src/StripeTests/Services/Issuing/Transactions/TransactionServiceTest.cs
@@ -15,7 +15,8 @@ public class TransactionServiceTest : BaseStripeTest
private readonly TransactionUpdateOptions updateOptions;
private readonly TransactionListOptions listOptions;
- public TransactionServiceTest()
+ public TransactionServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new TransactionService();
diff --git a/src/StripeTests/Services/LoginLinks/LoginLinkServiceTest.cs b/src/StripeTests/Services/LoginLinks/LoginLinkServiceTest.cs
index b1fa2de81c..ef69233cc4 100644
--- a/src/StripeTests/Services/LoginLinks/LoginLinkServiceTest.cs
+++ b/src/StripeTests/Services/LoginLinks/LoginLinkServiceTest.cs
@@ -14,7 +14,8 @@ public class LoginLinkServiceTest : BaseStripeTest
private readonly LoginLinkService service;
private readonly LoginLinkCreateOptions createOptions;
- public LoginLinkServiceTest()
+ public LoginLinkServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new LoginLinkService();
diff --git a/src/StripeTests/Services/Orders/OrderServiceTest.cs b/src/StripeTests/Services/Orders/OrderServiceTest.cs
index 7173cabc40..48f2d2005d 100644
--- a/src/StripeTests/Services/Orders/OrderServiceTest.cs
+++ b/src/StripeTests/Services/Orders/OrderServiceTest.cs
@@ -17,7 +17,8 @@ public class OrderServiceTest : BaseStripeTest
private readonly OrderPayOptions payOptions;
private readonly OrderListOptions listOptions;
- public OrderServiceTest()
+ public OrderServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new OrderService();
diff --git a/src/StripeTests/Services/PaymentIntents/PaymentIntentServiceTest.cs b/src/StripeTests/Services/PaymentIntents/PaymentIntentServiceTest.cs
index 57c15c1b61..042be21e2d 100644
--- a/src/StripeTests/Services/PaymentIntents/PaymentIntentServiceTest.cs
+++ b/src/StripeTests/Services/PaymentIntents/PaymentIntentServiceTest.cs
@@ -19,7 +19,8 @@ public class PaymentIntentServiceTest : BaseStripeTest
private readonly PaymentIntentListOptions listOptions;
private readonly PaymentIntentUpdateOptions updateOptions;
- public PaymentIntentServiceTest()
+ public PaymentIntentServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new PaymentIntentService();
diff --git a/src/StripeTests/Services/Payouts/PayoutServiceTest.cs b/src/StripeTests/Services/Payouts/PayoutServiceTest.cs
index c1757bb456..a73f81321a 100644
--- a/src/StripeTests/Services/Payouts/PayoutServiceTest.cs
+++ b/src/StripeTests/Services/Payouts/PayoutServiceTest.cs
@@ -16,7 +16,8 @@ public class PayoutServiceTest : BaseStripeTest
private readonly PayoutUpdateOptions updateOptions;
private readonly PayoutListOptions listOptions;
- public PayoutServiceTest()
+ public PayoutServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new PayoutService();
diff --git a/src/StripeTests/Services/Persons/PersonServiceTest.cs b/src/StripeTests/Services/Persons/PersonServiceTest.cs
index 8eaabcbb53..d468e12c72 100644
--- a/src/StripeTests/Services/Persons/PersonServiceTest.cs
+++ b/src/StripeTests/Services/Persons/PersonServiceTest.cs
@@ -17,7 +17,8 @@ public class PersonServiceTest : BaseStripeTest
private readonly PersonUpdateOptions updateOptions;
private readonly PersonListOptions listOptions;
- public PersonServiceTest()
+ public PersonServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new PersonService();
diff --git a/src/StripeTests/Services/Plans/PlanCreateOptionsTest.cs b/src/StripeTests/Services/Plans/PlanCreateOptionsTest.cs
index dd2044f2c2..1b3ae77cfd 100644
--- a/src/StripeTests/Services/Plans/PlanCreateOptionsTest.cs
+++ b/src/StripeTests/Services/Plans/PlanCreateOptionsTest.cs
@@ -12,7 +12,8 @@ public class PlanCreateOptionsTest : BaseStripeTest
{
private readonly PlanService service;
- public PlanCreateOptionsTest()
+ public PlanCreateOptionsTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new PlanService();
}
diff --git a/src/StripeTests/Services/Plans/PlanServiceTest.cs b/src/StripeTests/Services/Plans/PlanServiceTest.cs
index e3b1942ca7..c2596a0b0e 100644
--- a/src/StripeTests/Services/Plans/PlanServiceTest.cs
+++ b/src/StripeTests/Services/Plans/PlanServiceTest.cs
@@ -16,7 +16,8 @@ public class PlanServiceTest : BaseStripeTest
private readonly PlanUpdateOptions updateOptions;
private readonly PlanListOptions listOptions;
- public PlanServiceTest()
+ public PlanServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new PlanService();
diff --git a/src/StripeTests/Services/Products/ProductServiceTest.cs b/src/StripeTests/Services/Products/ProductServiceTest.cs
index 28a8d5dadd..9b41b7267a 100644
--- a/src/StripeTests/Services/Products/ProductServiceTest.cs
+++ b/src/StripeTests/Services/Products/ProductServiceTest.cs
@@ -16,7 +16,8 @@ public class ProductServiceTest : BaseStripeTest
private readonly ProductUpdateOptions updateOptions;
private readonly ProductListOptions listOptions;
- public ProductServiceTest()
+ public ProductServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ProductService();
diff --git a/src/StripeTests/Services/Radar/ValueListItems/ValueListItemServiceTest.cs b/src/StripeTests/Services/Radar/ValueListItems/ValueListItemServiceTest.cs
index 1d15ce98ce..b82c700bfe 100644
--- a/src/StripeTests/Services/Radar/ValueListItems/ValueListItemServiceTest.cs
+++ b/src/StripeTests/Services/Radar/ValueListItems/ValueListItemServiceTest.cs
@@ -16,7 +16,8 @@ public class ValueListItemServiceTest : BaseStripeTest
private readonly ValueListItemCreateOptions createOptions;
private readonly ValueListItemListOptions listOptions;
- public ValueListItemServiceTest()
+ public ValueListItemServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ValueListItemService();
diff --git a/src/StripeTests/Services/Radar/ValueLists/ValueListServiceTest.cs b/src/StripeTests/Services/Radar/ValueLists/ValueListServiceTest.cs
index 23ab64db5b..97b9fab673 100644
--- a/src/StripeTests/Services/Radar/ValueLists/ValueListServiceTest.cs
+++ b/src/StripeTests/Services/Radar/ValueLists/ValueListServiceTest.cs
@@ -17,7 +17,8 @@ public class ValueListServiceTest : BaseStripeTest
private readonly ValueListUpdateOptions updateOptions;
private readonly ValueListListOptions listOptions;
- public ValueListServiceTest()
+ public ValueListServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ValueListService();
diff --git a/src/StripeTests/Services/Refunds/RefundServiceTest.cs b/src/StripeTests/Services/Refunds/RefundServiceTest.cs
index 5f59412b36..e93ffaaade 100644
--- a/src/StripeTests/Services/Refunds/RefundServiceTest.cs
+++ b/src/StripeTests/Services/Refunds/RefundServiceTest.cs
@@ -16,7 +16,8 @@ public class RefundServiceTest : BaseStripeTest
private readonly RefundUpdateOptions updateOptions;
private readonly RefundListOptions listOptions;
- public RefundServiceTest()
+ public RefundServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new RefundService();
diff --git a/src/StripeTests/Services/Reporting/ReportRuns/ReportRunServiceTest.cs b/src/StripeTests/Services/Reporting/ReportRuns/ReportRunServiceTest.cs
index 386e831bbd..c3deefa426 100644
--- a/src/StripeTests/Services/Reporting/ReportRuns/ReportRunServiceTest.cs
+++ b/src/StripeTests/Services/Reporting/ReportRuns/ReportRunServiceTest.cs
@@ -16,7 +16,8 @@ public class ReportRunServiceTest : BaseStripeTest
private readonly ReportRunCreateOptions createOptions;
private readonly ReportRunListOptions listOptions;
- public ReportRunServiceTest()
+ public ReportRunServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ReportRunService();
diff --git a/src/StripeTests/Services/Reporting/ReportTypes/ReportTypeServiceTest.cs b/src/StripeTests/Services/Reporting/ReportTypes/ReportTypeServiceTest.cs
index 33615dd76d..e6a6083ff3 100644
--- a/src/StripeTests/Services/Reporting/ReportTypes/ReportTypeServiceTest.cs
+++ b/src/StripeTests/Services/Reporting/ReportTypes/ReportTypeServiceTest.cs
@@ -15,7 +15,8 @@ public class ReportTypeServiceTest : BaseStripeTest
private readonly ReportTypeService service;
private readonly ReportTypeListOptions listOptions;
- public ReportTypeServiceTest()
+ public ReportTypeServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ReportTypeService();
diff --git a/src/StripeTests/Services/Reviews/ReviewServiceTest.cs b/src/StripeTests/Services/Reviews/ReviewServiceTest.cs
index c9082fe166..87df51d3bb 100644
--- a/src/StripeTests/Services/Reviews/ReviewServiceTest.cs
+++ b/src/StripeTests/Services/Reviews/ReviewServiceTest.cs
@@ -16,7 +16,8 @@ public class ReviewServiceTest : BaseStripeTest
private readonly ReviewApproveOptions approveOptions;
private readonly ReviewListOptions listOptions;
- public ReviewServiceTest()
+ public ReviewServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ReviewService();
diff --git a/src/StripeTests/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunServiceTest.cs b/src/StripeTests/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunServiceTest.cs
index 6da237552c..dfecda2fbe 100644
--- a/src/StripeTests/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunServiceTest.cs
+++ b/src/StripeTests/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunServiceTest.cs
@@ -14,7 +14,8 @@ public class ScheduledQueryRunServiceTest : BaseStripeTest
private readonly ScheduledQueryRunService service;
private readonly ScheduledQueryRunListOptions listOptions;
- public ScheduledQueryRunServiceTest()
+ public ScheduledQueryRunServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ScheduledQueryRunService();
diff --git a/src/StripeTests/Services/Skus/SkuServiceTest.cs b/src/StripeTests/Services/Skus/SkuServiceTest.cs
index f79d419d6a..6e993a7d28 100644
--- a/src/StripeTests/Services/Skus/SkuServiceTest.cs
+++ b/src/StripeTests/Services/Skus/SkuServiceTest.cs
@@ -16,7 +16,8 @@ public class SkuServiceTest : BaseStripeTest
private readonly SkuUpdateOptions updateOptions;
private readonly SkuListOptions listOptions;
- public SkuServiceTest()
+ public SkuServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new SkuService();
diff --git a/src/StripeTests/Services/SourceTransactions/SourceTransactionServiceTest.cs b/src/StripeTests/Services/SourceTransactions/SourceTransactionServiceTest.cs
index 151f24803e..8d83031d7f 100644
--- a/src/StripeTests/Services/SourceTransactions/SourceTransactionServiceTest.cs
+++ b/src/StripeTests/Services/SourceTransactions/SourceTransactionServiceTest.cs
@@ -15,7 +15,8 @@ public class SourceTransactionServiceTest : BaseStripeTest
private readonly SourceTransactionService service;
private readonly SourceTransactionsListOptions listOptions;
- public SourceTransactionServiceTest()
+ public SourceTransactionServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new SourceTransactionService();
diff --git a/src/StripeTests/Services/Sources/SourceServiceTest.cs b/src/StripeTests/Services/Sources/SourceServiceTest.cs
index eceaee5876..30521859fc 100644
--- a/src/StripeTests/Services/Sources/SourceServiceTest.cs
+++ b/src/StripeTests/Services/Sources/SourceServiceTest.cs
@@ -20,7 +20,8 @@ public class SourceServiceTest : BaseStripeTest
private readonly SourceUpdateOptions updateOptions;
private readonly SourceVerifyOptions verifyOptions;
- public SourceServiceTest()
+ public SourceServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new SourceService();
diff --git a/src/StripeTests/Services/SubscriptionItems/SubscriptionItemServiceTest.cs b/src/StripeTests/Services/SubscriptionItems/SubscriptionItemServiceTest.cs
index 7bd226a5f5..7726dfd764 100644
--- a/src/StripeTests/Services/SubscriptionItems/SubscriptionItemServiceTest.cs
+++ b/src/StripeTests/Services/SubscriptionItems/SubscriptionItemServiceTest.cs
@@ -16,7 +16,8 @@ public class SubscriptionItemServiceTest : BaseStripeTest
private readonly SubscriptionItemUpdateOptions updateOptions;
private readonly SubscriptionItemListOptions listOptions;
- public SubscriptionItemServiceTest()
+ public SubscriptionItemServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new SubscriptionItemService();
diff --git a/src/StripeTests/Services/Subscriptions/SubscriptionCreateOptionsTest.cs b/src/StripeTests/Services/Subscriptions/SubscriptionCreateOptionsTest.cs
index 903b85a2eb..6d3ebf2766 100644
--- a/src/StripeTests/Services/Subscriptions/SubscriptionCreateOptionsTest.cs
+++ b/src/StripeTests/Services/Subscriptions/SubscriptionCreateOptionsTest.cs
@@ -12,7 +12,8 @@ public class SubscriptionCreateOptionsTest : BaseStripeTest
{
private readonly SubscriptionService service;
- public SubscriptionCreateOptionsTest()
+ public SubscriptionCreateOptionsTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new SubscriptionService();
}
diff --git a/src/StripeTests/Services/Subscriptions/SubscriptionServiceTest.cs b/src/StripeTests/Services/Subscriptions/SubscriptionServiceTest.cs
index ad6d2354c4..02cc763232 100644
--- a/src/StripeTests/Services/Subscriptions/SubscriptionServiceTest.cs
+++ b/src/StripeTests/Services/Subscriptions/SubscriptionServiceTest.cs
@@ -17,7 +17,8 @@ public class SubscriptionServiceTest : BaseStripeTest
private readonly SubscriptionUpdateOptions updateOptions;
private readonly SubscriptionListOptions listOptions;
- public SubscriptionServiceTest()
+ public SubscriptionServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new SubscriptionService();
diff --git a/src/StripeTests/Services/Terminal/ConnectionTokens/ConnectionTokenServiceTest.cs b/src/StripeTests/Services/Terminal/ConnectionTokens/ConnectionTokenServiceTest.cs
index f403930f5a..ceb7a2623a 100644
--- a/src/StripeTests/Services/Terminal/ConnectionTokens/ConnectionTokenServiceTest.cs
+++ b/src/StripeTests/Services/Terminal/ConnectionTokens/ConnectionTokenServiceTest.cs
@@ -13,7 +13,8 @@ public class ConnectionTokenServiceTest : BaseStripeTest
private readonly ConnectionTokenService service;
private readonly ConnectionTokenCreateOptions createOptions;
- public ConnectionTokenServiceTest()
+ public ConnectionTokenServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ConnectionTokenService();
diff --git a/src/StripeTests/Services/Terminal/Locations/LocationServiceTest.cs b/src/StripeTests/Services/Terminal/Locations/LocationServiceTest.cs
index 6c9e281ac6..1cabe2c578 100644
--- a/src/StripeTests/Services/Terminal/Locations/LocationServiceTest.cs
+++ b/src/StripeTests/Services/Terminal/Locations/LocationServiceTest.cs
@@ -18,7 +18,8 @@ public class LocationServiceTest : BaseStripeTest
private readonly LocationListOptions listOptions;
private readonly LocationUpdateOptions updateOptions;
- public LocationServiceTest()
+ public LocationServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new LocationService();
diff --git a/src/StripeTests/Services/Terminal/Readers/ReaderServiceTest.cs b/src/StripeTests/Services/Terminal/Readers/ReaderServiceTest.cs
index 8b7dd06629..0f9612126e 100644
--- a/src/StripeTests/Services/Terminal/Readers/ReaderServiceTest.cs
+++ b/src/StripeTests/Services/Terminal/Readers/ReaderServiceTest.cs
@@ -17,7 +17,8 @@ public class ReaderServiceTest : BaseStripeTest
private readonly ReaderListOptions listOptions;
private readonly ReaderUpdateOptions updateOptions;
- public ReaderServiceTest()
+ public ReaderServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ReaderService();
diff --git a/src/StripeTests/Services/ThreeDSecure/ThreeDSecureServiceTest.cs b/src/StripeTests/Services/ThreeDSecure/ThreeDSecureServiceTest.cs
index 8de2f9b30c..920942a569 100644
--- a/src/StripeTests/Services/ThreeDSecure/ThreeDSecureServiceTest.cs
+++ b/src/StripeTests/Services/ThreeDSecure/ThreeDSecureServiceTest.cs
@@ -12,7 +12,8 @@ public class ThreeDSecureServiceTest : BaseStripeTest
private readonly ThreeDSecureService service;
private readonly ThreeDSecureCreateOptions createOptions;
- public ThreeDSecureServiceTest()
+ public ThreeDSecureServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new ThreeDSecureService();
diff --git a/src/StripeTests/Services/Tokens/TokenServiceTest.cs b/src/StripeTests/Services/Tokens/TokenServiceTest.cs
index e3d7299768..237fac5dcf 100644
--- a/src/StripeTests/Services/Tokens/TokenServiceTest.cs
+++ b/src/StripeTests/Services/Tokens/TokenServiceTest.cs
@@ -15,7 +15,8 @@ public class TokenServiceTest : BaseStripeTest
private readonly TokenService service;
private readonly TokenCreateOptions createOptions;
- public TokenServiceTest()
+ public TokenServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new TokenService();
diff --git a/src/StripeTests/Services/Topups/TopupServiceTest.cs b/src/StripeTests/Services/Topups/TopupServiceTest.cs
index 91c95ae945..1c8d108eaf 100644
--- a/src/StripeTests/Services/Topups/TopupServiceTest.cs
+++ b/src/StripeTests/Services/Topups/TopupServiceTest.cs
@@ -16,7 +16,8 @@ public class TopupServiceTest : BaseStripeTest
private readonly TopupUpdateOptions updateOptions;
private readonly TopupListOptions listOptions;
- public TopupServiceTest()
+ public TopupServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new TopupService();
diff --git a/src/StripeTests/Services/TransferReversals/TransferReversalServiceTest.cs b/src/StripeTests/Services/TransferReversals/TransferReversalServiceTest.cs
index 0dd17e7410..3092615eb4 100644
--- a/src/StripeTests/Services/TransferReversals/TransferReversalServiceTest.cs
+++ b/src/StripeTests/Services/TransferReversals/TransferReversalServiceTest.cs
@@ -17,7 +17,8 @@ public class TransferReversalServiceTest : BaseStripeTest
private readonly TransferReversalUpdateOptions updateOptions;
private readonly TransferReversalListOptions listOptions;
- public TransferReversalServiceTest()
+ public TransferReversalServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new TransferReversalService();
diff --git a/src/StripeTests/Services/Transfers/TransferServiceTest.cs b/src/StripeTests/Services/Transfers/TransferServiceTest.cs
index 4ad37f7c55..aca7ea96a4 100644
--- a/src/StripeTests/Services/Transfers/TransferServiceTest.cs
+++ b/src/StripeTests/Services/Transfers/TransferServiceTest.cs
@@ -16,7 +16,8 @@ public class TransferServiceTest : BaseStripeTest
private readonly TransferUpdateOptions updateOptions;
private readonly TransferListOptions listOptions;
- public TransferServiceTest()
+ public TransferServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new TransferService();
diff --git a/src/StripeTests/Services/UsageRecordSummaries/UsageRecordSummaryServiceTest.cs b/src/StripeTests/Services/UsageRecordSummaries/UsageRecordSummaryServiceTest.cs
index 003c25bf5a..7cdc4a850e 100644
--- a/src/StripeTests/Services/UsageRecordSummaries/UsageRecordSummaryServiceTest.cs
+++ b/src/StripeTests/Services/UsageRecordSummaries/UsageRecordSummaryServiceTest.cs
@@ -13,7 +13,8 @@ public class UsageRecordSummaryServiceTest : BaseStripeTest
private readonly UsageRecordSummaryService service;
private readonly UsageRecordSummaryListOptions listOptions;
- public UsageRecordSummaryServiceTest()
+ public UsageRecordSummaryServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new UsageRecordSummaryService();
diff --git a/src/StripeTests/Services/UsageRecords/UsageRecordServiceTest.cs b/src/StripeTests/Services/UsageRecords/UsageRecordServiceTest.cs
index 9c6c6d4f85..c8126a4910 100644
--- a/src/StripeTests/Services/UsageRecords/UsageRecordServiceTest.cs
+++ b/src/StripeTests/Services/UsageRecords/UsageRecordServiceTest.cs
@@ -13,7 +13,8 @@ public class UsageRecordServiceTest : BaseStripeTest
private readonly UsageRecordService service;
private readonly UsageRecordCreateOptions createOptions;
- public UsageRecordServiceTest()
+ public UsageRecordServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new UsageRecordService();
diff --git a/src/StripeTests/Services/WebhookEndpoints/WebhookEndpointServiceTest.cs b/src/StripeTests/Services/WebhookEndpoints/WebhookEndpointServiceTest.cs
index ff68ec3190..4373024868 100644
--- a/src/StripeTests/Services/WebhookEndpoints/WebhookEndpointServiceTest.cs
+++ b/src/StripeTests/Services/WebhookEndpoints/WebhookEndpointServiceTest.cs
@@ -16,7 +16,8 @@ public class WebhookEndpointServiceTest : BaseStripeTest
private readonly WebhookEndpointUpdateOptions updateOptions;
private readonly WebhookEndpointListOptions listOptions;
- public WebhookEndpointServiceTest()
+ public WebhookEndpointServiceTest(MockHttpClientFixture mockHttpClientFixture)
+ : base(mockHttpClientFixture)
{
this.service = new WebhookEndpointService();
diff --git a/src/StripeTests/StripeMockFixture.cs b/src/StripeTests/StripeMockFixture.cs
new file mode 100644
index 0000000000..c5b8b75db2
--- /dev/null
+++ b/src/StripeTests/StripeMockFixture.cs
@@ -0,0 +1,138 @@
+namespace StripeTests
+{
+ using System;
+ using System.Linq;
+ using System.Net;
+ using System.Net.Http;
+ using Stripe;
+
+ public class StripeMockFixture : IDisposable
+ {
+ /// Minimum required version of stripe-mock
+ ///
+ /// If you bump this, don't forget to bump `STRIPE_MOCK_VERSION` in `appveyor.yml` as well.
+ ///
+ private const string MockMinimumVersion = "0.39.0";
+
+ private string origApiBase;
+ private string origFilesBase;
+ private string origApiKey;
+
+ private string port;
+
+ public StripeMockFixture()
+ {
+ this.port = Environment.GetEnvironmentVariable("STRIPE_MOCK_PORT") ?? "12111";
+ this.EnsureStripeMockMinimumVersion();
+
+ this.origApiBase = StripeConfiguration.GetApiBase();
+ this.origFilesBase = StripeConfiguration.GetFilesBase();
+ this.origApiKey = StripeConfiguration.GetApiKey();
+
+ StripeConfiguration.SetApiBase($"http://localhost:{this.port}/v1");
+ StripeConfiguration.SetFilesBase($"http://localhost:{this.port}/v1");
+ StripeConfiguration.SetApiKey("sk_test_123");
+ }
+
+ public void Dispose()
+ {
+ StripeConfiguration.SetApiBase(this.origApiBase);
+ StripeConfiguration.SetFilesBase(this.origFilesBase);
+ StripeConfiguration.SetApiKey(this.origApiKey);
+ }
+
+ ///
+ /// Gets fixture data with expansions specified. Expansions are specified the same way as
+ /// they are in the normal API like customer
or data.customer
.
+ /// Use the special *
character to specify that all fields should be
+ /// expanded.
+ ///
+ /// API path to use to get a fixture for stripe-mock
+ /// Set of expansions that should be applied
+ /// Fixture data encoded as JSON
+ public string GetFixture(string path, string[] expansions = null)
+ {
+ string url = $"http://localhost:{this.port}{path}";
+
+ if (expansions != null)
+ {
+ string query = string.Join("&", expansions.Select(x => $"expand[]={x}").ToArray());
+ url += $"?{query}";
+ }
+
+ using (HttpClient client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization
+ = new System.Net.Http.Headers.AuthenticationHeaderValue(
+ "Bearer",
+ "sk_test_123");
+
+ HttpResponseMessage response;
+
+ try
+ {
+ response = client.GetAsync(url).Result;
+ }
+ catch (Exception)
+ {
+ throw new StripeTestException(
+ $"Couldn't reach stripe-mock at `localhost:{this.port}`. "
+ + "Is it running? Please see README for setup instructions.");
+ }
+
+ if (response.StatusCode != HttpStatusCode.OK)
+ {
+ throw new StripeTestException(
+ $"stripe-mock returned status code: {response.StatusCode}.");
+ }
+
+ return response.Content.ReadAsStringAsync().Result;
+ }
+ }
+
+ ///
+ /// Compares two version strings.
+ ///
+ /// A version string (e.g. "1.2.3").
+ /// Another version string.
+ /// -1 if a > b, 1 if a < b, 0 if a == b
+ private static int CompareVersions(string a, string b)
+ {
+ var version1 = new Version(a);
+ var version2 = new Version(b);
+ return version2.CompareTo(version1);
+ }
+
+ private void EnsureStripeMockMinimumVersion()
+ {
+ string url = $"http://localhost:{this.port}";
+
+ using (HttpClient client = new HttpClient())
+ {
+ HttpResponseMessage response;
+
+ try
+ {
+ response = client.GetAsync(url).Result;
+ }
+ catch (Exception)
+ {
+ throw new StripeTestException(
+ $"Couldn't reach stripe-mock at `localhost:{this.port}`. "
+ + "Is it running? Please see README for setup instructions.");
+ }
+
+ string version = response.Headers.GetValues("Stripe-Mock-Version").FirstOrDefault();
+
+ if (!version.Equals("master") &&
+ (CompareVersions(version, MockMinimumVersion) > 0))
+ {
+ throw new StripeTestException(
+ $"Your version of stripe-mock ({version}) is too old. The minimum "
+ + $"version to run this test suite is {MockMinimumVersion}. Please see its "
+ + "repository for upgrade instructions.");
+ }
+ }
+ }
+ }
+}
diff --git a/src/StripeTests/StripeMockTestCollection.cs b/src/StripeTests/StripeMockTestCollection.cs
new file mode 100644
index 0000000000..868f9f2a35
--- /dev/null
+++ b/src/StripeTests/StripeMockTestCollection.cs
@@ -0,0 +1,13 @@
+namespace StripeTests
+{
+ using Xunit;
+
+ [CollectionDefinition("stripe-mock tests")]
+ public class StripeMockTestCollection :
+ ICollectionFixture,
+ ICollectionFixture
+ {
+ // This class has no code, and is never created. Its purpose is simply to be the place to
+ // apply [CollectionDefinition] and all the ICollectionFixture<> interfaces.
+ }
+}
diff --git a/src/StripeTests/StripeTestException.cs b/src/StripeTests/StripeTestException.cs
new file mode 100644
index 0000000000..b740ca6161
--- /dev/null
+++ b/src/StripeTests/StripeTestException.cs
@@ -0,0 +1,20 @@
+namespace StripeTests
+{
+ using System;
+
+ ///
+ /// Represents errors that are related to tests themselves rather than the
+ /// features under test.
+ ///
+ public class StripeTestException : Exception
+ {
+ public StripeTestException()
+ {
+ }
+
+ public StripeTestException(string message)
+ : base(message)
+ {
+ }
+ }
+}
diff --git a/src/StripeTests/StripeTests.csproj b/src/StripeTests/StripeTests.csproj
index dc1485cee0..46585db76d 100644
--- a/src/StripeTests/StripeTests.csproj
+++ b/src/StripeTests/StripeTests.csproj
@@ -16,16 +16,15 @@
-
+
-
-
+
runtime; build; native; contentfiles; analyzers
all
-
-
+
+
diff --git a/src/StripeTests/Wholesome/AllStripeObjectClassesPresentInDictionary.cs b/src/StripeTests/Wholesome/AllStripeObjectClassesPresentInDictionary.cs
index ae20377c65..90b320de3e 100644
--- a/src/StripeTests/Wholesome/AllStripeObjectClassesPresentInDictionary.cs
+++ b/src/StripeTests/Wholesome/AllStripeObjectClassesPresentInDictionary.cs
@@ -1,3 +1,4 @@
+#if NETCOREAPP
namespace StripeTests
{
using System;
@@ -8,8 +9,7 @@ namespace StripeTests
using Stripe.Infrastructure;
using Xunit;
-#if NETCOREAPP
- public class AllStripeObjectClassesPresentInDictionary
+ public class AllStripeObjectClassesPresentInDictionary : WholesomeTest
{
// Checks that all Stripe object classes (i.e. model classes that implement IHasObject)
// have an entry in the Stripe.Util.ObjectsToTypes dictionary.
@@ -19,11 +19,7 @@ public void Check()
List results = new List();
// Get all classes that implement IHasObject
- var type = typeof(IHasObject);
- var assembly = type.GetTypeInfo().Assembly;
- var modelClasses = assembly.DefinedTypes
- .Where(t => t.IsClass && t.ImplementedInterfaces.Contains(type))
- .Select(t => t.AsType());
+ var modelClasses = GetClassesWithInterface(typeof(IHasObject));
foreach (Type modelClass in modelClasses)
{
@@ -59,5 +55,5 @@ public void Check()
}
}
}
-#endif
}
+#endif
diff --git a/src/StripeTests/Wholesome/DontSerializeNullDeletedAttrs.cs b/src/StripeTests/Wholesome/DontSerializeNullDeletedAttrs.cs
index 827d79c6b6..bfb9e87166 100644
--- a/src/StripeTests/Wholesome/DontSerializeNullDeletedAttrs.cs
+++ b/src/StripeTests/Wholesome/DontSerializeNullDeletedAttrs.cs
@@ -9,7 +9,7 @@ namespace StripeTests
using Stripe;
using Xunit;
- public class DontSerializeNullDeletedAttrs
+ public class DontSerializeNullDeletedAttrs : WholesomeTest
{
private const string AssertionMessage =
"Found at least one invalid Deleted property. Make sure that the property " +
@@ -21,11 +21,7 @@ public void Check()
List results = new List();
// Get all StripeEntity subclasses
- var type = typeof(StripeEntity);
- var assembly = type.GetTypeInfo().Assembly;
- var entityClasses = assembly.DefinedTypes
- .Where(t => t.IsClass && t.IsSubclassOf(type))
- .Select(t => t.AsType());
+ var entityClasses = GetSubclassesOf(typeof(StripeEntity));
foreach (Type entityClass in entityClasses)
{
diff --git a/src/StripeTests/Wholesome/NullableValueTypes.cs b/src/StripeTests/Wholesome/NullableValueTypes.cs
index e29f290493..db693234b9 100644
--- a/src/StripeTests/Wholesome/NullableValueTypes.cs
+++ b/src/StripeTests/Wholesome/NullableValueTypes.cs
@@ -1,30 +1,23 @@
+#if NETCOREAPP
namespace StripeTests
{
using System;
- using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
-
- using Microsoft.Extensions.DependencyModel;
using Newtonsoft.Json;
using Stripe;
using Xunit;
-#if NETCOREAPP
- public class NullableValueTypes
+ public class NullableValueTypes : WholesomeTest
{
[Fact]
- public void EnsureAllValueTypesAreNullable()
+ public void Check()
{
List results = new List();
// Get all classes that implement INestedOptions
- var type = typeof(INestedOptions);
- var assembly = type.GetTypeInfo().Assembly;
- var optionsClasses = assembly.DefinedTypes
- .Where(t => t.IsClass && t.ImplementedInterfaces.Contains(type))
- .Select(t => t.AsType());
+ var optionsClasses = GetClassesWithInterface(typeof(INestedOptions));
foreach (Type optionsClass in optionsClasses)
{
@@ -73,5 +66,5 @@ public void EnsureAllValueTypesAreNullable()
}
}
}
-#endif
}
+#endif
diff --git a/src/StripeTests/Wholesome/README.md b/src/StripeTests/Wholesome/README.md
new file mode 100644
index 0000000000..c3530c7a5c
--- /dev/null
+++ b/src/StripeTests/Wholesome/README.md
@@ -0,0 +1,10 @@
+## Wholesome tests
+
+Unlike regular tests that check the behavior of the library, wholesome tests
+contain checks on the state of the Stripe.net codebase and are there to
+prevent programming errors and enforce consistency. They rely heavily on
+reflection.
+
+For example, `AllStripeObjectClassesPresentInDictionary` ensure that when a
+model class is added for a new API resource, developers don't forget to add
+the new type in `StripeTypeRegistry`.
diff --git a/src/StripeTests/Wholesome/WholesomeTest.cs b/src/StripeTests/Wholesome/WholesomeTest.cs
new file mode 100644
index 0000000000..6230a93e5b
--- /dev/null
+++ b/src/StripeTests/Wholesome/WholesomeTest.cs
@@ -0,0 +1,36 @@
+#if NETCOREAPP
+namespace StripeTests
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Reflection;
+ using Xunit;
+
+ [Collection("Wholesome tests")]
+ public class WholesomeTest
+ {
+ ///
+ /// Returns the list of classes that are subclasses of the provided type.
+ ///
+ protected static IEnumerable GetSubclassesOf(Type parentClass)
+ {
+ var assembly = parentClass.GetTypeInfo().Assembly;
+ return assembly.DefinedTypes
+ .Where(t => t.IsClass && t.IsSubclassOf(parentClass))
+ .Select(t => t.AsType());
+ }
+
+ ///
+ /// Returns the list of classes that implement the provided interface.
+ ///
+ protected static IEnumerable GetClassesWithInterface(Type implementedInterface)
+ {
+ var assembly = implementedInterface.GetTypeInfo().Assembly;
+ return assembly.DefinedTypes
+ .Where(t => t.IsClass && t.ImplementedInterfaces.Contains(implementedInterface))
+ .Select(t => t.AsType());
+ }
+ }
+}
+#endif
diff --git a/src/StripeTests/xunit.runner.json b/src/StripeTests/xunit.runner.json
index 780e791358..06ce4e4623 100644
--- a/src/StripeTests/xunit.runner.json
+++ b/src/StripeTests/xunit.runner.json
@@ -1,4 +1,5 @@
{
"appDomain": "denied",
- "parallelizeTestCollections": false
+ "diagnosticMessages": true,
+ "longRunningTestSeconds": 10
}