/// <summary> /// ConfigurationManager에서 아임포트 설정을 반환합니다. /// </summary> /// <returns>아임포트 설정</returns> private static IamportHttpClientOptions GetHttpClientOptions() { var apiKey = ConfigurationManager.AppSettings["iamport:ApiKey"]; var apiSecret = ConfigurationManager.AppSettings["iamport:ApiSecret"]; var iamportId = ConfigurationManager.AppSettings["iamport:IamportId"]; var baseUrl = ConfigurationManager.AppSettings["iamport:BaseUrl"]; var authorizationHeaderName = ConfigurationManager.AppSettings["iamport:AuthorizationHeaderName"]; var options = new IamportHttpClientOptions(); if (!string.IsNullOrEmpty(apiKey)) { options.ApiKey = apiKey; } if (!string.IsNullOrEmpty(apiSecret)) { options.ApiSecret = apiSecret; } if (!string.IsNullOrEmpty(iamportId)) { options.IamportId = iamportId; } if (!string.IsNullOrEmpty(baseUrl)) { options.BaseUrl = baseUrl; } if (!string.IsNullOrEmpty(authorizationHeaderName)) { options.AuthorizationHeaderName = authorizationHeaderName; } return(options); }
public PaymentController( IPaymentsApi paymentsApi, CheckoutRepository checkoutRepository, PaymentRepository paymentRepository, IamportHttpClientOptions clientOptions) { if (paymentsApi == null) { throw new ArgumentNullException(nameof(paymentsApi)); } if (checkoutRepository == null) { throw new ArgumentNullException(nameof(checkoutRepository)); } if (paymentRepository == null) { throw new ArgumentNullException(nameof(paymentRepository)); } if (clientOptions == null) { throw new ArgumentNullException(nameof(clientOptions)); } this.paymentsApi = paymentsApi; this.checkoutRepository = checkoutRepository; this.paymentRepository = paymentRepository; iamportId = clientOptions.IamportId; }
public CheckoutController( CheckoutRepository checkoutRepository, IamportHttpClientOptions clientOptions) { this.checkoutRepository = checkoutRepository ?? throw new ArgumentNullException(nameof(checkoutRepository)); this.clientOptions = clientOptions ?? throw new ArgumentNullException(nameof(clientOptions)); }
public void GuardClause_for_options() { // arrange var options = new IamportHttpClientOptions(); // act/assert Assert.Throws <ArgumentNullException>( () => new IamportHttpClient(options)); }
public DirectPaymentController( IPaymentsApi paymentsApi, ISubscribeApi subscribeApi, CheckoutRepository checkoutRepository, PaymentRepository paymentRepository, IamportHttpClientOptions clientOptions) { this.paymentsApi = paymentsApi ?? throw new ArgumentNullException(nameof(paymentsApi)); this.subscribeApi = subscribeApi ?? throw new ArgumentNullException(nameof(subscribeApi)); this.checkoutRepository = checkoutRepository ?? throw new ArgumentNullException(nameof(checkoutRepository)); this.paymentRepository = paymentRepository ?? throw new ArgumentNullException(nameof(paymentRepository)); if (clientOptions == null) { throw new ArgumentNullException(nameof(clientOptions)); } iamportId = clientOptions.IamportId; }