Pass a `CurrencyConversionManager` to `BraintreeManager`
This commit is contained in:
parent
3266c2cd8f
commit
516c481e94
|
@ -523,15 +523,6 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
|||
ScheduledExecutorService subscriptionProcessorRetryExecutor = environment.lifecycle()
|
||||
.scheduledExecutorService(name(getClass(), "subscriptionProcessorRetry-%d")).threads(1).build();
|
||||
|
||||
StripeManager stripeManager = new StripeManager(config.getStripe().apiKey().value(), subscriptionProcessorExecutor,
|
||||
config.getStripe().idempotencyKeyGenerator().value(), config.getStripe().boostDescription(), config.getStripe().supportedCurrenciesByPaymentMethod());
|
||||
BraintreeManager braintreeManager = new BraintreeManager(config.getBraintree().merchantId(),
|
||||
config.getBraintree().publicKey(), config.getBraintree().privateKey().value(),
|
||||
config.getBraintree().environment(),
|
||||
config.getBraintree().supportedCurrenciesByPaymentMethod(), config.getBraintree().merchantAccounts(),
|
||||
config.getBraintree().graphqlUrl(), config.getBraintree().circuitBreaker(), subscriptionProcessorExecutor,
|
||||
subscriptionProcessorRetryExecutor);
|
||||
|
||||
ExternalServiceCredentialsGenerator directoryV2CredentialsGenerator = DirectoryV2Controller.credentialsGenerator(
|
||||
config.getDirectoryV2Configuration().getDirectoryV2ClientConfiguration());
|
||||
ExternalServiceCredentialsGenerator storageCredentialsGenerator = SecureStorageController.credentialsGenerator(
|
||||
|
@ -661,6 +652,15 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
|||
() -> dynamicConfigurationManager.getConfiguration().getVirtualThreads().allowedPinEvents(),
|
||||
config.getVirtualThreadConfiguration().pinEventThreshold());
|
||||
|
||||
StripeManager stripeManager = new StripeManager(config.getStripe().apiKey().value(), subscriptionProcessorExecutor,
|
||||
config.getStripe().idempotencyKeyGenerator().value(), config.getStripe().boostDescription(), config.getStripe().supportedCurrenciesByPaymentMethod());
|
||||
BraintreeManager braintreeManager = new BraintreeManager(config.getBraintree().merchantId(),
|
||||
config.getBraintree().publicKey(), config.getBraintree().privateKey().value(),
|
||||
config.getBraintree().environment(),
|
||||
config.getBraintree().supportedCurrenciesByPaymentMethod(), config.getBraintree().merchantAccounts(),
|
||||
config.getBraintree().graphqlUrl(), currencyManager, config.getBraintree().circuitBreaker(), subscriptionProcessorExecutor,
|
||||
subscriptionProcessorRetryExecutor);
|
||||
|
||||
environment.lifecycle().manage(apnSender);
|
||||
environment.lifecycle().manage(apnPushNotificationScheduler);
|
||||
environment.lifecycle().manage(provisioningManager);
|
||||
|
|
|
@ -42,6 +42,7 @@ import javax.ws.rs.core.Response;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.whispersystems.textsecuregcm.configuration.CircuitBreakerConfiguration;
|
||||
import org.whispersystems.textsecuregcm.currency.CurrencyConversionManager;
|
||||
import org.whispersystems.textsecuregcm.http.FaultTolerantHttpClient;
|
||||
import org.whispersystems.textsecuregcm.util.SystemMapper;
|
||||
import org.whispersystems.textsecuregcm.util.ua.ClientPlatform;
|
||||
|
@ -55,6 +56,7 @@ public class BraintreeManager implements SubscriptionProcessorManager {
|
|||
private static final String PAYPAL_PAYMENT_ALREADY_COMPLETED_PROCESSOR_CODE = "2094";
|
||||
private final BraintreeGateway braintreeGateway;
|
||||
private final BraintreeGraphqlClient braintreeGraphqlClient;
|
||||
private final CurrencyConversionManager currencyConversionManager;
|
||||
private final Executor executor;
|
||||
private final Map<PaymentMethod, Set<String>> supportedCurrenciesByPaymentMethod;
|
||||
private final Map<String, String> currenciesToMerchantAccounts;
|
||||
|
@ -65,6 +67,7 @@ public class BraintreeManager implements SubscriptionProcessorManager {
|
|||
final Map<PaymentMethod, Set<String>> supportedCurrenciesByPaymentMethod,
|
||||
final Map<String, String> currenciesToMerchantAccounts,
|
||||
final String graphqlUri,
|
||||
final CurrencyConversionManager currencyConversionManager,
|
||||
final CircuitBreakerConfiguration circuitBreakerConfiguration,
|
||||
final Executor executor,
|
||||
final ScheduledExecutorService retryExecutor) {
|
||||
|
@ -83,6 +86,7 @@ public class BraintreeManager implements SubscriptionProcessorManager {
|
|||
// https://developer.paypal.com/braintree/docs/reference/general/best-practices/java#timeouts
|
||||
.withRequestTimeout(Duration.ofSeconds(70))
|
||||
.build(), graphqlUri, braintreePublicKey, braintreePrivateKey),
|
||||
currencyConversionManager,
|
||||
executor);
|
||||
}
|
||||
|
||||
|
@ -90,11 +94,12 @@ public class BraintreeManager implements SubscriptionProcessorManager {
|
|||
BraintreeManager(final BraintreeGateway braintreeGateway,
|
||||
final Map<PaymentMethod, Set<String>> supportedCurrenciesByPaymentMethod,
|
||||
final Map<String, String> currenciesToMerchantAccounts, final BraintreeGraphqlClient braintreeGraphqlClient,
|
||||
final Executor executor) {
|
||||
final CurrencyConversionManager currencyConversionManager, final Executor executor) {
|
||||
this.braintreeGateway = braintreeGateway;
|
||||
this.supportedCurrenciesByPaymentMethod = supportedCurrenciesByPaymentMethod;
|
||||
this.currenciesToMerchantAccounts = currenciesToMerchantAccounts;
|
||||
this.braintreeGraphqlClient = braintreeGraphqlClient;
|
||||
this.currencyConversionManager = currencyConversionManager;
|
||||
this.executor = executor;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import java.util.Set;
|
|||
import java.util.concurrent.Executors;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.whispersystems.textsecuregcm.currency.CurrencyConversionManager;
|
||||
|
||||
class BraintreeManagerTest {
|
||||
|
||||
|
@ -32,6 +33,7 @@ class BraintreeManagerTest {
|
|||
Map.of(PaymentMethod.CARD, Set.of("usd")),
|
||||
Map.of("usd", "usdMerchant"),
|
||||
mock(BraintreeGraphqlClient.class),
|
||||
mock(CurrencyConversionManager.class),
|
||||
Executors.newSingleThreadExecutor());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue