Skip to content

Commit feac01c

Browse files
committed
fix(ICP): changes when username/password are set
1 parent 1787225 commit feac01c

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ deploy: off
3131

3232
matrix:
3333
fast_finish: true
34+

test/unit/test_watson_service.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,16 @@ def test_when_apikey_is_username():
150150

151151
@responses.activate
152152
def test_for_icp():
153-
service1 = AnyServiceV1('2017-07-07', api_key='icp-xxxx')
153+
service1 = AnyServiceV1('2017-07-07', api_key='icp-xxxx', url='service_url')
154154
assert service1.token_manager is None
155155
assert service1.iam_apikey is None
156156
assert service1.username is not None
157157
assert service1.password is not None
158+
assert service1.url is 'service_url'
159+
160+
service2 = AnyServiceV1('2017-07-07', username='apikey', password='icp-xxx', url='service_url')
161+
assert service2.token_manager is None
162+
assert service2.iam_apikey is None
163+
assert service2.username is not None
164+
assert service2.password is not None
165+
assert service2.url is 'service_url'

watson_developer_cloud/watson_service.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -241,12 +241,9 @@ def __init__(self, vcap_services_name, url, username=None, password=None,
241241
self.user_agent_header = {'user-agent': user_agent_string}
242242

243243
if api_key is not None:
244-
if api_key.startswith(ICP_PREFIX):
245-
self.set_username_and_password(APIKEY, api_key)
246-
else:
247-
self.set_api_key(api_key)
244+
self.set_api_key(api_key)
248245
elif username is not None and password is not None:
249-
if username is APIKEY:
246+
if username is APIKEY and not password.startswith(ICP_PREFIX):
250247
self.set_token_manager(password, iam_access_token, iam_url)
251248
else:
252249
self.set_username_and_password(username, password)
@@ -295,6 +292,7 @@ def set_api_key(self, api_key):
295292
api_key = None
296293
if api_key.startswith(ICP_PREFIX):
297294
self.set_username_and_password(APIKEY, api_key)
295+
return
298296

299297
self.api_key = api_key
300298

0 commit comments

Comments
 (0)