Skip to content

Commit 459513e

Browse files
committed
chore(service): Validate that service_url is set in the prepare_request
1 parent 0689985 commit 459513e

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

ibm_cloud_sdk_core/base_service.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ def prepare_request(self, method, url, headers=None,
164164
params=None, data=None, files=None, **kwargs):
165165
request = {'method': method}
166166

167+
# validate the service url is set
168+
if not self.service_url:
169+
raise ValueError('The service_url is required')
167170
request['url'] = self.service_url + url
168171

169172
headers = remove_null_values(headers) if headers else {}

test/test_base_service.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,3 +420,9 @@ def test_json():
420420
service = AnyServiceV1('2018-11-20', authenticator=NoAuthAuthenticator())
421421
req = service.prepare_request('POST', url='', headers={'X-opt-out': True}, data={'hello': 'world'})
422422
assert req.get('data') == "{\"hello\": \"world\"}"
423+
424+
def test_service_url_not_set():
425+
service = BaseService(service_url='', authenticator=NoAuthAuthenticator(), display_name='Watson')
426+
with pytest.raises(ValueError) as err:
427+
service.prepare_request('POST', url='')
428+
assert str(err.value) == 'The service_url is required'

0 commit comments

Comments
 (0)