File: test_createable_api_resource.py

package info (click to toggle)
python-stripe 12.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,864 kB
  • sloc: python: 157,573; makefile: 13; sh: 9
file content (44 lines) | stat: -rw-r--r-- 1,337 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import stripe


class TestCreateableAPIResource(object):
    class MyCreatable(stripe.api_resources.abstract.CreateableAPIResource):
        OBJECT_NAME = "mycreatable"

    def test_create(self, http_client_mock):
        http_client_mock.stub_request(
            "post",
            path="/v1/mycreatables",
            rbody='{"object": "charge", "foo": "bar"}',
            rheaders={"request-id": "req_id"},
        )

        res = self.MyCreatable.create()

        http_client_mock.assert_requested(
            "post", path="/v1/mycreatables", post_data=""
        )
        assert isinstance(res, stripe.Charge)
        assert res.foo == "bar"

        assert res.last_response is not None
        assert res.last_response.request_id == "req_id"

    def test_idempotent_create(self, http_client_mock):
        http_client_mock.stub_request(
            "post",
            path="/v1/mycreatables",
            rbody='{"object": "charge", "foo": "bar"}',
            rheaders={"idempotency-key": "foo"},
        )

        res = self.MyCreatable.create(idempotency_key="foo")

        http_client_mock.assert_requested(
            "post",
            path="/v1/mycreatables",
            post_data="",
            idempotency_key="foo",
        )
        assert isinstance(res, stripe.Charge)
        assert res.foo == "bar"