Example #1
0
    def test_array_update(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'legal_entity': {
                'additional_owners': [
                    {'first_name': 'Bob'},
                    {'first_name': 'Jane'}
                ]
            }
        }, 'mykey')

        acct.legal_entity.additional_owners[1].first_name = 'Janet'

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {
                'legal_entity': {
                    'additional_owners': {
                        '0': {},
                        '1': {'first_name': 'Janet'}
                    }
                }
            },
            None
        )
Example #2
0
    def test_replace_nested_object(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'legal_entity': {
                'last_name': 'smith',
            }
        }, 'mykey')

        acct.legal_entity = {
            'first_name': 'bob',
        }

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {
                'legal_entity': {
                    'first_name': 'bob',
                    'last_name': '',
                }
            },
            None
        )
Example #3
0
    def setUp(self):
        super(UpdateableAPIResourceTests, self).setUp()

        self.mock_response({"thats": "it"})

        self.obj = MyUpdateable.construct_from(
            {"id": "myid", "foo": "bar", "baz": "boz", "metadata": {"size": "l", "score": 4, "height": 10}}, "mykey"
        )
Example #4
0
    def test_array_setting(self):
        acct = MyUpdateable.construct_from({"id": "myid", "legal_entity": {}}, "mykey")

        acct.legal_entity.additional_owners = [{"first_name": "Bob"}]

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            "post", "/v1/myupdateables/myid", {"legal_entity": {"additional_owners": [{"first_name": "Bob"}]}}, None
        )
Example #5
0
    def test_array_none(self):
        acct = MyUpdateable.construct_from({"id": "myid", "legal_entity": {"additional_owners": None}}, "mykey")

        acct.foo = "bar"

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            "post", "/v1/myupdateables/myid", {"foo": "bar", "legal_entity": {}}, None
        )
Example #6
0
    def test_hash_noop(self):
        acct = MyUpdateable.construct_from(
            {"id": "myid", "legal_entity": {"address": {"line1": "1 Two Three"}}}, "mykey"
        )

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            "post", "/v1/myupdateables/myid", {"legal_entity": {"address": {}}}, None
        )
Example #7
0
    def test_save_nothing(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'metadata': {
                'key': 'value',
            }
        }, 'mykey')

        self.assertTrue(acct is acct.save())
        self.requestor_mock.request.assert_not_called()
Example #8
0
    def test_replace_nested_object(self):
        acct = MyUpdateable.construct_from({"id": "myid", "legal_entity": {"last_name": "smith"}}, "mykey")

        acct.legal_entity = {"first_name": "bob"}

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            "post", "/v1/myupdateables/myid", {"legal_entity": {"first_name": "bob", "last_name": ""}}, None
        )
Example #9
0
    def test_add_key_to_nested_object(self):
        acct = MyUpdateable.construct_from(
            {"id": "myid", "legal_entity": {"size": "l", "score": 4, "height": 10}}, "mykey"
        )

        acct.legal_entity["first_name"] = "bob"

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            "post", "/v1/myupdateables/myid", {"legal_entity": {"first_name": "bob"}}, None
        )
Example #10
0
    def test_array_noop(self):
        acct = MyUpdateable.construct_from(
            {
                "id": "myid",
                "legal_entity": {"additional_owners": [{"first_name": "Bob"}]},
                "currencies_supported": ["usd", "cad"],
            },
            "mykey",
        )

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            "post", "/v1/myupdateables/myid", {"legal_entity": {"additional_owners": {"0": {}}}}, None
        )
Example #11
0
    def test_save_nothing(self):
        acct = MyUpdateable.construct_from(
            {
                'id': 'myid',
                'metadata': {
                    'key': 'value',
                }
            }, 'mykey')

        self.assertTrue(acct is acct.save())

        # Note: ideally, we'd want the library to NOT issue requests in this
        # case (i.e. the assert should actually be `assert_not_called()`).
        self.requestor_mock.request.assert_called_with(
            'post', '/v1/myupdateables/myid', {'metadata': {}}, None)
Example #12
0
    def test_hash_noop(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'legal_entity': {
                'address': {'line1': '1 Two Three'}
            }
        }, 'mykey')

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {'legal_entity': {'address': {}}},
            None
        )
Example #13
0
    def test_array_update(self):
        acct = MyUpdateable.construct_from(
            {"id": "myid", "legal_entity": {"additional_owners": [{"first_name": "Bob"}, {"first_name": "Jane"}]}},
            "mykey",
        )

        acct.legal_entity.additional_owners[1].first_name = "Janet"

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            "post",
            "/v1/myupdateables/myid",
            {"legal_entity": {"additional_owners": {"0": {}, "1": {"first_name": "Janet"}}}},
            None,
        )
    def setUp(self):
        super(UpdateableAPIResourceTests, self).setUp()

        self.mock_response({'thats': 'it'})

        self.obj = MyUpdateable.construct_from(
            {
                'id': 'myid',
                'foo': 'bar',
                'baz': 'boz',
                'metadata': {
                    'size': 'l',
                    'score': 4,
                    'height': 10
                }
            }, 'mykey')
    def setUp(self):
        super(UpdateableAPIResourceTests, self).setUp()

        self.mock_response({
            'thats': 'it'
        })

        self.obj = MyUpdateable.construct_from({
            'id': 'myid',
            'foo': 'bar',
            'baz': 'boz',
            'metadata': {
                'size': 'l',
                'score': 4,
                'height': 10
            }
        }, 'mykey')
Example #16
0
    def test_array_none(self):
        acct = MyUpdateable.construct_from(
            {
                'id': 'myid',
                'legal_entity': {
                    'additional_owners': None,
                }
            }, 'mykey')

        acct.foo = 'bar'

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post', '/v1/myupdateables/myid', {
                'foo': 'bar',
                'legal_entity': {},
            }, None)
    def test_save_nothing(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'metadata': {
                'key': 'value',
            }
        }, 'mykey')

        self.assertTrue(acct is acct.save())

        # Note: ideally, we'd want the library to NOT issue requests in this
        # case (i.e. the assert should actually be `assert_not_called()`).
        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {'metadata': {}},
            None
        )
Example #18
0
    def test_array_noop(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'legal_entity': {
                'additional_owners': [{'first_name': 'Bob'}]
            },
            'currencies_supported': ['usd', 'cad']
        }, 'mykey')

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {
                'legal_entity': {'additional_owners': {'0': {}}}
            },
            None
        )
Example #19
0
    def test_retrieve_and_update_with_stripe_version(self):
        self.mock_response({
            'id': 'foo',
            'bobble': 'scrobble',
        })

        res = MyUpdateable.retrieve('foo', stripe_version='2017-08-15')

        self.requestor_class_mock.assert_called_with(account=None,
                                                     api_base=None,
                                                     key=None,
                                                     api_version='2017-08-15')

        res.bobble = 'new_scrobble'
        res.save()

        self.requestor_class_mock.assert_called_with(account=None,
                                                     api_base=None,
                                                     key='reskey',
                                                     api_version='2017-08-15')
Example #20
0
    def test_add_key_to_nested_object(self):
        acct = MyUpdateable.construct_from(
            {
                'id': 'myid',
                'legal_entity': {
                    'size': 'l',
                    'score': 4,
                    'height': 10
                }
            }, 'mykey')

        acct.legal_entity['first_name'] = 'bob'

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post', '/v1/myupdateables/myid',
            {'legal_entity': {
                'first_name': 'bob',
            }}, None)
    def test_array_none(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'legal_entity': {
                'additional_owners': None,
            }
        }, 'mykey')

        acct.foo = 'bar'

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {
                'foo': 'bar',
                'legal_entity': {},
            },
            None
        )
Example #22
0
    def test_array_insertion(self):
        acct = MyUpdateable.construct_from(
            {
                'id': 'myid',
                'legal_entity': {
                    'additional_owners': []
                }
            }, 'mykey')

        acct.legal_entity.additional_owners.append({'first_name': 'Bob'})

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post', '/v1/myupdateables/myid', {
                'legal_entity': {
                    'additional_owners': {
                        '0': {
                            'first_name': 'Bob'
                        },
                    }
                }
            }, None)
    def test_add_key_to_nested_object(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'legal_entity': {
                'size': 'l',
                'score': 4,
                'height': 10
            }
        }, 'mykey')

        acct.legal_entity['first_name'] = 'bob'

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {
                'legal_entity': {
                    'first_name': 'bob',
                }
            },
            None
        )
    def test_array_insertion(self):
        acct = MyUpdateable.construct_from({
            'id': 'myid',
            'legal_entity': {
                'additional_owners': []
            }
        }, 'mykey')

        acct.legal_entity.additional_owners.append({'first_name': 'Bob'})

        self.assertTrue(acct is acct.save())

        self.requestor_mock.request.assert_called_with(
            'post',
            '/v1/myupdateables/myid',
            {
                'legal_entity': {
                    'additional_owners': {
                        '0': {'first_name': 'Bob'},
                    }
                }
            },
            None
        )
Example #25
0
    def test_save_nothing(self):
        acct = MyUpdateable.construct_from({"id": "myid", "metadata": {"key": "value"}}, "mykey")

        self.assertTrue(acct is acct.save())
        self.requestor_mock.request.assert_not_called()