Example #1
0
 def test_get_absolute_limits_forbidden(self, cinderclient):
     """Tests to make sure we gracefully handle a Forbidden error raised
     from python-cinderclient when getting limits.
     """
     cinderclient.return_value.limits.get.side_effect = (
         cinder_exception.Forbidden(403))
     self.assertRaises(exception.Forbidden, self.api.get_absolute_limits,
                       self.ctx)
Example #2
0
    def test_forbidden_cinder_operation_returns_403(self, mock_cinder):
        """Regression test for bug #1554631.

        When the Cinder client returns a 403 Forbidden on any operation,
        the Nova API should forward on the 403 instead of returning 500.
        """
        cinder_client = mock.Mock()
        mock_cinder.return_value = cinder_client
        exc = cinder_exceptions.Forbidden(403)
        cinder_client.volumes.create.side_effect = exc

        volume = {'display_name': 'vol1', 'size': 3}
        e = self.assertRaises(client.OpenStackApiException,
                              self.api.post_volume, {'volume': volume})
        self.assertEqual(403, e.response.status_code)
Example #3
0
 def test_translate_cinder_exception_cinder_forbidden(self):
     self._do_translate_cinder_exception_test(
         cinder_exception.Forbidden(403, '403'), exception.Forbidden)