mirror of
https://github.com/gooba42/adventureland.git
synced 2026-10-24 06:01:26 -05:00
python3 compatibility + webapp to flask refactoring
This commit is contained in:
+123
@@ -0,0 +1,123 @@
|
||||
import libraries.stripe
|
||||
from libraries.stripe.test.helper import StripeApiTestCase
|
||||
|
||||
|
||||
class ListObjectTests(StripeApiTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(ListObjectTests, self).setUp()
|
||||
|
||||
self.lo = libraries.stripe.resource.ListObject.construct_from({
|
||||
'id': 'me',
|
||||
'url': '/my/path',
|
||||
'data': ['foo'],
|
||||
}, 'mykey')
|
||||
|
||||
self.mock_response([{
|
||||
'object': 'charge',
|
||||
'foo': 'bar',
|
||||
}])
|
||||
|
||||
def assertResponse(self, res):
|
||||
self.assertTrue(isinstance(res[0], libraries.stripe.Charge))
|
||||
self.assertEqual('bar', res[0].foo)
|
||||
|
||||
def test_for_loop(self):
|
||||
seen = []
|
||||
|
||||
for item in self.lo:
|
||||
seen.append(item)
|
||||
|
||||
self.assertEqual(['foo'], seen)
|
||||
|
||||
def test_list(self):
|
||||
res = self.lo.list(myparam='you')
|
||||
|
||||
self.requestor_mock.request.assert_called_with(
|
||||
'get', '/my/path', {'myparam': 'you'}, None)
|
||||
|
||||
self.assertResponse(res)
|
||||
|
||||
def test_create(self):
|
||||
res = self.lo.create(myparam='eter')
|
||||
|
||||
self.requestor_mock.request.assert_called_with(
|
||||
'post', '/my/path', {'myparam': 'eter'}, None)
|
||||
|
||||
self.assertResponse(res)
|
||||
|
||||
def test_retrieve(self):
|
||||
res = self.lo.retrieve('myid', myparam='cow')
|
||||
|
||||
self.requestor_mock.request.assert_called_with(
|
||||
'get', '/my/path/myid', {'myparam': 'cow'}, None)
|
||||
|
||||
self.assertResponse(res)
|
||||
|
||||
|
||||
class AutoPagingTests(StripeApiTestCase):
|
||||
|
||||
@staticmethod
|
||||
def pageable_model_response(ids, has_more):
|
||||
return {
|
||||
'object': 'list',
|
||||
'url': '/v1/pageablemodels',
|
||||
'data': [{'id': id, 'object': 'pageablemodel'} for id in ids],
|
||||
'has_more': has_more,
|
||||
}
|
||||
|
||||
def test_iter_one_page(self):
|
||||
lo = libraries.stripe.resource.ListObject.construct_from(
|
||||
self.pageable_model_response(['pm_123', 'pm_124'], False),
|
||||
'mykey'
|
||||
)
|
||||
|
||||
self.requestor_mock.request.assert_not_called()
|
||||
|
||||
seen = [item['id'] for item in lo.auto_paging_iter()]
|
||||
|
||||
self.assertEqual(['pm_123', 'pm_124'], seen)
|
||||
|
||||
def test_iter_two_pages(self):
|
||||
lo = libraries.stripe.resource.ListObject.construct_from(
|
||||
self.pageable_model_response(['pm_123', 'pm_124'], True),
|
||||
'mykey'
|
||||
)
|
||||
lo._retrieve_params = {'foo': 'bar'}
|
||||
|
||||
self.mock_response(
|
||||
self.pageable_model_response(['pm_125', 'pm_126'], False)
|
||||
)
|
||||
|
||||
seen = [item['id'] for item in lo.auto_paging_iter()]
|
||||
|
||||
self.requestor_mock.request.assert_called_with(
|
||||
'get',
|
||||
'/v1/pageablemodels',
|
||||
{
|
||||
'starting_after': 'pm_124',
|
||||
'foo': 'bar'
|
||||
},
|
||||
None
|
||||
)
|
||||
|
||||
self.assertEqual(['pm_123', 'pm_124', 'pm_125', 'pm_126'], seen)
|
||||
|
||||
def test_class_method_two_pages(self):
|
||||
self.mock_response({
|
||||
'object': 'list',
|
||||
'data': [{'id': 'ch_001'}],
|
||||
'url': '/v1/charges',
|
||||
'has_more': False,
|
||||
})
|
||||
|
||||
seen = [item['id'] for item in libraries.stripe.Charge.auto_paging_iter(
|
||||
limit=25,
|
||||
foo='bar'
|
||||
)]
|
||||
|
||||
self.requestor_mock.request.assert_called_with(
|
||||
'get', '/v1/charges', {'limit': 25, 'foo': 'bar'}
|
||||
)
|
||||
|
||||
self.assertEqual(['ch_001'], seen)
|
||||
Reference in New Issue
Block a user