Skip to content

Commit a34320a

Browse files
michelle-millergermanattanasio
authored andcommitted
Adding generic response for all 4xx
1 parent 4314c7e commit a34320a

4 files changed

Lines changed: 28 additions & 7 deletions

File tree

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ install:
1515
- pip install pylint
1616
- pip install codecov
1717
- pip install git+git://github.com/watson-developer-cloud/python-sdk.git#egg=watson-developer-cloud
18+
- pip show six
1819
script:
1920
- sh pylint.sh
2021
- py.test test --cov=watson_developer_cloud

test/test_conversation_v1.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import json
1616
import responses
1717
import watson_developer_cloud
18+
from watson_developer_cloud import WatsonException
1819

1920
platform_url = 'https://gateway.watsonplatform.net'
2021
service_path = '/conversation/api'
@@ -48,6 +49,24 @@ def test_create_counterexample():
4849
assert responses.calls[0].request.url.startswith(url)
4950
assert counterexample == response
5051

52+
@responses.activate
53+
def test_rate_limit_exceeded():
54+
endpoint = '/v1/workspaces/{0}/counterexamples'.format('boguswid')
55+
url = '{0}{1}'.format(base_url, endpoint)
56+
error_msg = {'Code': '429', 'Error: ': u'Rate Limit exceeded'}
57+
responses.add(
58+
responses.POST,
59+
url,
60+
body='Rate Limit exceeded',
61+
status=429)
62+
service = watson_developer_cloud.ConversationV1(
63+
username='username', password='password', version='2017-02-03')
64+
try:
65+
counterexample = service.create_counterexample(
66+
workspace_id='boguswid', text='I want financial advice today.')
67+
except WatsonException as ex:
68+
assert len(responses.calls) == 1
69+
assert ex.message == error_msg
5170

5271
@responses.activate
5372
def test_delete_counterexample():

watson_developer_cloud/dialog_v1.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ class DialogV1(WatsonDeveloperCloudService):
2929
def __init__(self, url=default_url, **kwargs):
3030
WatsonDeveloperCloudService.__init__(self, 'dialog', url, **kwargs)
3131
print(
32-
'WARNING: The Dialog service was deprecated, existing instances '
33-
'of the service will continue to function'
34-
'until August 9, 2017. See '
35-
'https://www.ibm.com/watson/developercloud/doc/conversation'
36-
'/migration.shtml')
32+
'WARNING: The Dialog service was deprecated. Existing instances '
33+
'of the service stopped functioning on August 9, 2017. '
34+
'Dialog was replaced by the Conversation service. See '
35+
'https://console.bluemix.net/docs/services/conversation'
36+
'/index.html#about')
3737

3838
def get_dialogs(self):
3939
return self.request(method='GET', url='/v1/dialogs', accept_json=True)

watson_developer_cloud/watson_developer_cloud_service.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,10 @@ def _get_error_message(response):
190190
if 'description' in error_json:
191191
error_message += ', Description: ' + error_json['description']
192192
error_message += ', Code: ' + str(response.status_code)
193+
return error_message
193194
except:
194-
pass
195-
return error_message
195+
return {'Error: ': response.text or error_message, 'Code': str(response.status_code)}
196+
196197

197198
def _alchemy_html_request(self, method_name=None, url=None, html=None,
198199
text=None, params=None, method='POST',

0 commit comments

Comments
 (0)