diff --git a/.bumpversion.cfg b/.bumpversion.cfg index f630c91..e6ebc7f 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,7 +1,16 @@ [bumpversion] -current_version = 0.2.3 -parse = (?P\d+)\.(?P.*)\.(?P.*) -serialize = {major}.{minor}.{patch} +current_version = 0.2.4-dev0 +parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P[a-z]+)(?P\d+))? +serialize = + {major}.{minor}.{patch}-{release}{build} + {major}.{minor}.{patch} + +[bumpversion:part:release] +optional_value = prod +first_value = dev +values = + dev + prod [bumpversion:file:setup.py] diff --git a/docs/source/conf.py b/docs/source/conf.py index d5f0e82..3e73c7b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -55,7 +55,7 @@ # The short X.Y version. version = '0.2' # The full version, including alpha/beta/rc tags. -release = '0.2.3' +release = '0.2.4-dev0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/mocurly/__init__.py b/mocurly/__init__.py index 0eb3d1f..39e3804 100644 --- a/mocurly/__init__.py +++ b/mocurly/__init__.py @@ -3,4 +3,4 @@ from .errors import * from .backend import * -__version__ = '0.2.3' +__version__ = '0.2.4-dev0' diff --git a/mocurly/core.py b/mocurly/core.py index 09fbc98..d10d494 100644 --- a/mocurly/core.py +++ b/mocurly/core.py @@ -3,16 +3,16 @@ Exposes the main mocurly class which is the gateway into setting up the mocurly context. """ -import recurly -import re -import ssl import functools -from six.moves.urllib.parse import urlparse, parse_qs, unquote +import re + +import recurly from httpretty import HTTPretty +from six.moves.urllib.parse import parse_qs, unquote, urlparse -from .utils import deserialize -from .errors import ResponseError from .backend import clear_backends +from .errors import ResponseError +from .utils import deserialize class mocurly(object): @@ -260,11 +260,12 @@ def __init__(self, mocurly_instance): def __call__(self, func): def wrapped(request, uri, headers, **kwargs): + error_response_body = 'The read operation timed out' # If we want to timeout the request, timeout, but only if we aren't # going to allow the POST if (self.mocurly_instance.should_timeout(request) and not self.mocurly_instance.should_timeout_successful_post(request)): - raise ssl.SSLError('The read operation timed out') + return 502, headers, error_response_body try: return_val = func(request, uri, headers, **kwargs) @@ -275,7 +276,7 @@ def wrapped(request, uri, headers, **kwargs): return exc.status_code, headers, exc.response_body if self.mocurly_instance.should_timeout_successful_post(request): - raise ssl.SSLError('The read operation timed out') + return 502, headers, error_response_body return return_val return wrapped diff --git a/requirements.txt b/requirements.txt index e287d31..1dcfae8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -httpretty>=0.8,<=0.8.10 -recurly>=2.2.23 +httpretty>=0.9.4 +recurly>=2.9.0,<3.0.0 jinja2 six pytz diff --git a/requirements_dev.txt b/requirements_dev.txt index ea49909..278f29e 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,3 +1,4 @@ tox sphinx bumpversion +iso8601 diff --git a/setup.py b/setup.py index 5d99bd2..53ed9ba 100644 --- a/setup.py +++ b/setup.py @@ -6,13 +6,13 @@ name='mocurly', packages=find_packages(exclude=("tests", "tests.*")), package_data={'mocurly': ['templates/*.xml']}, - version='0.2.3', + version='0.2.4-dev0', description='A library that allows your python tests to easily mock out the recurly library', long_description=open('README.rst').read(), author='Yoriyasu Yano', author_email='yoriy@captricity.com', url='https://github.com/Captricity/mocurly', - download_url='https://github.com/Captricity/mocurly/tarball/v0.2.3', + download_url='https://github.com/Captricity/mocurly/tarball/v0.2.4-dev0', keywords = ['testing'], install_requires=install_requires, test_suite='tests' diff --git a/tests/test_core.py b/tests/test_core.py index efe0f4b..c18a2f6 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -1,10 +1,11 @@ import unittest -import ssl -import recurly -recurly.API_KEY = 'blah' import mocurly import mocurly.backend +import recurly + +recurly.API_KEY = 'blah' + class TestCore(unittest.TestCase): def setUp(self): @@ -58,7 +59,7 @@ def test_timeout(self): mocurly_.start_timeout() self.assertFalse(mocurly.backend.accounts_backend.has_object(self.base_account_data['account_code'])) - self.assertRaises(ssl.SSLError, recurly.Account(**self.base_account_data).save) + self.assertRaises(recurly.errors.BadGatewayError, recurly.Account(**self.base_account_data).save) self.assertFalse(mocurly.backend.accounts_backend.has_object(self.base_account_data['account_code'])) mocurly_.stop_timeout() @@ -76,7 +77,7 @@ def test_timeout_successful_post(self): mocurly_.start_timeout_successful_post() self.assertFalse(mocurly.backend.accounts_backend.has_object(self.base_account_data['account_code'])) - self.assertRaises(ssl.SSLError, recurly.Account(**self.base_account_data).save) + self.assertRaises(recurly.errors.BadGatewayError, recurly.Account(**self.base_account_data).save) self.assertTrue(mocurly.backend.accounts_backend.has_object(self.base_account_data['account_code'])) mocurly_.stop_timeout_successful_post() @@ -101,7 +102,7 @@ def timeout_filter(request): self.assertFalse(mocurly.backend.accounts_backend.has_object(self.base_account_data['account_code'])) recurly.Account(**self.base_account_data).save() self.assertTrue(mocurly.backend.accounts_backend.has_object(self.base_account_data['account_code'])) - self.assertRaises(ssl.SSLError, recurly.Account.get, self.base_account_data['account_code']) + self.assertRaises(recurly.errors.BadGatewayError, recurly.Account.get, self.base_account_data['account_code']) mocurly_.stop_timeout() @@ -126,7 +127,7 @@ def timeout_filter(request): self.assertEqual(len(mocurly.backend.transactions_backend.datastore), 0) new_transaction = recurly.Transaction(account=new_account, amount_in_cents=20, currency='USD') - self.assertRaises(ssl.SSLError, new_transaction.save) + self.assertRaises(recurly.errors.BadGatewayError, new_transaction.save) self.assertEqual(len(mocurly.backend.transactions_backend.datastore), 1) mocurly_.stop_timeout_successful_post()