~niedbalski/ubuntu/vivid/neutron/fixes-1447803

« back to all changes in this revision

Viewing changes to neutron/tests/unit/test_metadata_namespace_proxy.py

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-10-03 18:45:23 UTC
  • mfrom: (1.1.15)
  • Revision ID: package-import@ubuntu.com-20141003184523-4mt6dy1q3j8n30c9
Tags: 1:2014.2~rc1-0ubuntu1
* New upstream release candidate:
  - d/p/*: Refreshed.
  - d/control: Add python-requests-mock to BD's.
  - d/control: Align versioned requirements with upstream.
* Transition linuxbridge and openvswitch plugin users to modular
  layer 2 plugin (LP: #1323729):
  - d/control: Mark removed plugin packages as transitional, depend
    on neutron-plugin-ml2, mark oldlibs/extra.
  - d/neutron-plugin-{linuxbridge,openvswitch}.install: Drop.
  - d/control: Depend on neutron-plugin-ml2 for linuxbridge
    agent package.
  - d/neutron-plugin-linuxbridge-agent.upstart: Use ml2 plugin
    configuration files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
12
#    License for the specific language governing permissions and limitations
13
13
#    under the License.
14
 
#
15
 
# @author: Mark McClain, DreamHost
16
14
 
17
15
import socket
18
16
 
150
148
                             'application/json')
151
149
            self.assertEqual(retval.body, '{}')
152
150
 
 
151
    def _test_proxy_request_network_4xx(self, status, method, expected):
 
152
        self.handler.network_id = 'network_id'
 
153
 
 
154
        resp = mock.Mock(status=status)
 
155
        with mock.patch('httplib2.Http') as mock_http:
 
156
            mock_http.return_value.request.return_value = (resp, '')
 
157
 
 
158
            retval = self.handler._proxy_request('192.168.1.1',
 
159
                                                 method,
 
160
                                                 '/latest/meta-data',
 
161
                                                 '',
 
162
                                                 '')
 
163
 
 
164
            mock_http.assert_has_calls([
 
165
                mock.call().request(
 
166
                    'http://169.254.169.254/latest/meta-data',
 
167
                    method=method,
 
168
                    headers={
 
169
                        'X-Forwarded-For': '192.168.1.1',
 
170
                        'X-Neutron-Network-ID': 'network_id'
 
171
                    },
 
172
                    connection_type=ns_proxy.UnixDomainHTTPConnection,
 
173
                    body=''
 
174
                )]
 
175
            )
 
176
 
 
177
            self.assertIsInstance(retval, expected)
 
178
 
 
179
    def test_proxy_request_network_400(self):
 
180
        self._test_proxy_request_network_4xx(
 
181
            400, 'GET', webob.exc.HTTPBadRequest)
 
182
 
153
183
    def test_proxy_request_network_404(self):
154
 
        self.handler.network_id = 'network_id'
155
 
 
156
 
        resp = mock.Mock(status=404)
157
 
        with mock.patch('httplib2.Http') as mock_http:
158
 
            mock_http.return_value.request.return_value = (resp, '')
159
 
 
160
 
            retval = self.handler._proxy_request('192.168.1.1',
161
 
                                                 'GET',
162
 
                                                 '/latest/meta-data',
163
 
                                                 '',
164
 
                                                 '')
165
 
 
166
 
            mock_http.assert_has_calls([
167
 
                mock.call().request(
168
 
                    'http://169.254.169.254/latest/meta-data',
169
 
                    method='GET',
170
 
                    headers={
171
 
                        'X-Forwarded-For': '192.168.1.1',
172
 
                        'X-Neutron-Network-ID': 'network_id'
173
 
                    },
174
 
                    connection_type=ns_proxy.UnixDomainHTTPConnection,
175
 
                    body=''
176
 
                )]
177
 
            )
178
 
 
179
 
            self.assertIsInstance(retval, webob.exc.HTTPNotFound)
 
184
        self._test_proxy_request_network_4xx(
 
185
            404, 'GET', webob.exc.HTTPNotFound)
180
186
 
181
187
    def test_proxy_request_network_409(self):
182
 
        self.handler.network_id = 'network_id'
183
 
 
184
 
        resp = mock.Mock(status=409)
185
 
        with mock.patch('httplib2.Http') as mock_http:
186
 
            mock_http.return_value.request.return_value = (resp, '')
187
 
 
188
 
            retval = self.handler._proxy_request('192.168.1.1',
189
 
                                                 'POST',
190
 
                                                 '/latest/meta-data',
191
 
                                                 '',
192
 
                                                 '')
193
 
 
194
 
            mock_http.assert_has_calls([
195
 
                mock.call().request(
196
 
                    'http://169.254.169.254/latest/meta-data',
197
 
                    method='POST',
198
 
                    headers={
199
 
                        'X-Forwarded-For': '192.168.1.1',
200
 
                        'X-Neutron-Network-ID': 'network_id'
201
 
                    },
202
 
                    connection_type=ns_proxy.UnixDomainHTTPConnection,
203
 
                    body=''
204
 
                )]
205
 
            )
206
 
 
207
 
            self.assertIsInstance(retval, webob.exc.HTTPConflict)
 
188
        self._test_proxy_request_network_4xx(
 
189
            409, 'POST', webob.exc.HTTPConflict)
208
190
 
209
191
    def test_proxy_request_network_500(self):
210
192
        self.handler.network_id = 'network_id'