Esempio n. 1
0
    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)])
Esempio n. 2
0
    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])
Esempio n. 3
0
    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))
Esempio n. 4
0
    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))
Esempio n. 5
0
    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))
Esempio n. 6
0
    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])
Esempio n. 7
0
    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])