def test_list_refunds(self): resp = unittest.mock.MagicMock( spec=aiohttp.client_reqrep.ClientResponse) resp.status = 200 resp.headers = multidict.CIMultiDict( {'content-type': 'application/json'}) base.mkfuture(resp, self._session.request) refund = json.loads(refund_json) base.mkfuture( { 'object': 'list', 'url': '/v1/refunds', 'has_more': False, 'data': [refund] }, resp.json) expected_headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Stripe-Version': '2017-02-14', } r = base.run_until(self._stripe.list_refunds(k='1', j=2)) args, kwds = self._session.request.call_args self.assertEqual(args[0], 'GET') self.assertEqual(args[1], 'https://api.stripe.com/v1/refunds') self.assertEqual(kwds['params'], {'k': '1', 'j': 2}) self.assertEqual(kwds['auth'].login, 'sekret_key') self.assertEqual(kwds['auth'].password, '') self.assertEqual(kwds['headers'], expected_headers) self.assertEqual(r, [stripe.convert_json_response(refund)])
def test_parse_customer(self): j = json.loads(customer_json) r = stripe.convert_json_response(j) keys = ( 'id', 'account_balance', 'created', 'currency', 'default_source', 'delinquent', 'description', 'discount', 'email', 'livemode', 'invoice_prefix', 'metadata', 'shipping', ) for key in keys: self.assertEqual(j[key], getattr(r, key)) self.assertEqual(r.subscriptions, []) self.assertEqual(len(r.sources), 1) source_keys = ('id', 'address_city', 'address_country', 'address_line1', 'address_line1_check', 'address_line2', 'address_state', 'address_zip', 'address_zip_check', 'brand', 'country', 'customer', 'cvc_check', 'dynamic_last4', 'exp_month', 'exp_year', 'fingerprint', 'funding', 'last4', 'metadata', 'name', 'tokenization_method') for key in source_keys: self.assertEqual(getattr(r.sources[0], key), j['sources']['data'][0][key])
def test_update_refund(self): resp = unittest.mock.MagicMock( spec=aiohttp.client_reqrep.ClientResponse) resp.status = 200 resp.headers = multidict.CIMultiDict( {'content-type': 'application/json'}) base.mkfuture(resp, self._session.request) refund = json.loads(refund_json) base.mkfuture(refund, resp.json) expected_headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Stripe-Version': '2017-02-14', } r = base.run_until( self._stripe.update_refund('re_aabbcc', { 'k': '1', 'j': 2 })) args, kwds = self._session.request.call_args self.assertEqual(args[0], 'POST') self.assertEqual(args[1], 'https://api.stripe.com/v1/refunds/re_aabbcc') self.assertEqual(kwds['params'], { 'metadata[k]': '1', 'metadata[j]': 2 }) self.assertEqual(kwds['auth'].login, 'sekret_key') self.assertEqual(kwds['auth'].password, '') self.assertEqual(kwds['headers'], expected_headers) self.assertEqual(r, stripe.convert_json_response(refund))
def test_retrieve_customer(self): resp = unittest.mock.MagicMock( spec=aiohttp.client_reqrep.ClientResponse) resp.status = 200 resp.headers = multidict.CIMultiDict( {'content-type': 'application/json'}) base.mkfuture(resp, self._session.request) customer = json.loads(customer_json) base.mkfuture(customer, resp.json) expected_headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Stripe-Version': '2017-02-14', } r = base.run_until(self._stripe.retrieve_customer('cus_aabbcc')) args, kwds = self._session.request.call_args self.assertEqual(args[0], 'GET') self.assertEqual(args[1], 'https://api.stripe.com/v1/customers/cus_aabbcc') self.assertEqual(kwds['params'], {}) self.assertEqual(kwds['auth'].login, 'sekret_key') self.assertEqual(kwds['auth'].password, '') self.assertEqual(kwds['headers'], expected_headers) self.assertEqual(r, stripe.convert_json_response(customer))
def test_create_charge(self): resp = unittest.mock.MagicMock( spec=aiohttp.client_reqrep.ClientResponse) resp.status = 200 resp.headers = multidict.CIMultiDict( {'content-type': 'application/json'}) base.mkfuture(resp, self._session.request) charge = json.loads(charge_json) base.mkfuture(charge, resp.json) expected_headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Stripe-Version': '2017-02-14', } r = base.run_until( self._stripe.create_charge(amount=103, currency='usd', k='1', j=2)) args, kwds = self._session.request.call_args self.assertEqual(args[0], 'POST') self.assertEqual(args[1], 'https://api.stripe.com/v1/charges') self.assertEqual(kwds['params'], { 'amount': 103, 'currency': 'usd', 'k': '1', 'j': 2 }) self.assertEqual(kwds['auth'].login, 'sekret_key') self.assertEqual(kwds['auth'].password, '') self.assertEqual(kwds['headers'], expected_headers) self.assertEqual(r, stripe.convert_json_response(charge))
def test_parse_card(self): j = json.loads(card_json) r = stripe.convert_json_response(j) keys = ('id', 'address_city', 'address_country', 'address_line1', 'address_line1_check', 'address_line2', 'address_state', 'address_zip', 'address_zip_check', 'brand', 'country', 'customer', 'cvc_check', 'dynamic_last4', 'exp_month', 'exp_year', 'fingerprint', 'funding', 'last4', 'metadata', 'name', 'tokenization_method') for key in keys: self.assertEqual(getattr(r, key), j[key])
def test_parse_charge(self): j = json.loads(charge_json) r = stripe.convert_json_response(j) keys = ( 'id', 'amount', 'amount_refunded', 'application', 'application_fee', 'balance_transaction', 'captured', 'created', 'currency', 'customer', 'description', 'destination', 'dispute', 'failure_code', 'failure_message', 'fraud_details', 'invoice', 'livemode', 'metadata', 'on_behalf_of', 'order', 'outcome', 'paid', 'receipt_email', 'receipt_number', 'refunded', 'review', 'shipping', 'source_transfer', 'statement_descriptor', 'status', 'transfer_group', ) for key in keys: self.assertEqual(j[key], getattr(r, key)) self.assertEqual(r.refunds, []) source_keys = ('id', 'address_city', 'address_country', 'address_line1', 'address_line1_check', 'address_line2', 'address_state', 'address_zip', 'address_zip_check', 'brand', 'country', 'customer', 'cvc_check', 'dynamic_last4', 'exp_month', 'exp_year', 'fingerprint', 'funding', 'last4', 'metadata', 'name', 'tokenization_method') for key in source_keys: self.assertEqual(getattr(r.source, key), j['source'][key])