150
148
'application/json')
151
149
self.assertEqual(retval.body, '{}')
151
def _test_proxy_request_network_4xx(self, status, method, expected):
152
self.handler.network_id = 'network_id'
154
resp = mock.Mock(status=status)
155
with mock.patch('httplib2.Http') as mock_http:
156
mock_http.return_value.request.return_value = (resp, '')
158
retval = self.handler._proxy_request('192.168.1.1',
164
mock_http.assert_has_calls([
166
'http://169.254.169.254/latest/meta-data',
169
'X-Forwarded-For': '192.168.1.1',
170
'X-Neutron-Network-ID': 'network_id'
172
connection_type=ns_proxy.UnixDomainHTTPConnection,
177
self.assertIsInstance(retval, expected)
179
def test_proxy_request_network_400(self):
180
self._test_proxy_request_network_4xx(
181
400, 'GET', webob.exc.HTTPBadRequest)
153
183
def test_proxy_request_network_404(self):
154
self.handler.network_id = 'network_id'
156
resp = mock.Mock(status=404)
157
with mock.patch('httplib2.Http') as mock_http:
158
mock_http.return_value.request.return_value = (resp, '')
160
retval = self.handler._proxy_request('192.168.1.1',
166
mock_http.assert_has_calls([
168
'http://169.254.169.254/latest/meta-data',
171
'X-Forwarded-For': '192.168.1.1',
172
'X-Neutron-Network-ID': 'network_id'
174
connection_type=ns_proxy.UnixDomainHTTPConnection,
179
self.assertIsInstance(retval, webob.exc.HTTPNotFound)
184
self._test_proxy_request_network_4xx(
185
404, 'GET', webob.exc.HTTPNotFound)
181
187
def test_proxy_request_network_409(self):
182
self.handler.network_id = 'network_id'
184
resp = mock.Mock(status=409)
185
with mock.patch('httplib2.Http') as mock_http:
186
mock_http.return_value.request.return_value = (resp, '')
188
retval = self.handler._proxy_request('192.168.1.1',
194
mock_http.assert_has_calls([
196
'http://169.254.169.254/latest/meta-data',
199
'X-Forwarded-For': '192.168.1.1',
200
'X-Neutron-Network-ID': 'network_id'
202
connection_type=ns_proxy.UnixDomainHTTPConnection,
207
self.assertIsInstance(retval, webob.exc.HTTPConflict)
188
self._test_proxy_request_network_4xx(
189
409, 'POST', webob.exc.HTTPConflict)
209
191
def test_proxy_request_network_500(self):
210
192
self.handler.network_id = 'network_id'