Merge "Add X-Region-Name parameter in HTTP request"
This commit is contained in:
@@ -53,6 +53,7 @@ class HTTPClient(object):
|
||||
self.auth_token = kwargs.get('token')
|
||||
self.username = kwargs.get('username')
|
||||
self.password = kwargs.get('password')
|
||||
self.region_name = kwargs.get('region_name')
|
||||
self.connection_params = self.get_connection_params(endpoint, **kwargs)
|
||||
|
||||
@staticmethod
|
||||
@@ -135,6 +136,8 @@ class HTTPClient(object):
|
||||
kwargs['headers'].update(self.credentials_headers())
|
||||
if self.auth_url:
|
||||
kwargs['headers'].setdefault('X-Auth-Url', self.auth_url)
|
||||
if self.region_name:
|
||||
kwargs['headers'].setdefault('X-Region-Name', self.region_name)
|
||||
|
||||
self.log_curl_request(method, url, kwargs)
|
||||
conn = self.get_connection()
|
||||
|
@@ -100,6 +100,30 @@ class HttpClientTest(testtools.TestCase):
|
||||
self.assertEqual(resp.status, 200)
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_region_name(self):
|
||||
# Record a 200
|
||||
fake200 = fakes.FakeHTTPResponse(
|
||||
200, 'OK',
|
||||
{'content-type': 'application/octet-stream'},
|
||||
'')
|
||||
|
||||
# Specify region name
|
||||
mock_conn = http.httplib.HTTPConnection('example.com', 8004,
|
||||
timeout=600.0)
|
||||
mock_conn.request('GET', '/',
|
||||
headers={'Content-Type': 'application/octet-stream',
|
||||
'X-Region-Name': 'RegionOne',
|
||||
'User-Agent': 'python-heatclient'})
|
||||
mock_conn.getresponse().AndReturn(fake200)
|
||||
|
||||
# Replay, create client, assert
|
||||
self.m.ReplayAll()
|
||||
client = http.HTTPClient('http://example.com:8004')
|
||||
client.region_name = 'RegionOne'
|
||||
resp, body = client.raw_request('GET', '')
|
||||
self.assertEqual(resp.status, 200)
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_http_json_request(self):
|
||||
# Record a 200
|
||||
mock_conn = http.httplib.HTTPConnection('example.com', 8004,
|
||||
|
Reference in New Issue
Block a user