~ubuntu-branches/ubuntu/utopic/cinder/utopic

« back to all changes in this revision

Viewing changes to cinder/tests/api/middleware/test_faults.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, James Page, Adam Gandelman, Chuck Short
  • Date: 2013-09-08 21:09:46 UTC
  • mfrom: (1.1.18)
  • Revision ID: package-import@ubuntu.com-20130908210946-3dbzq1jy5uji4wad
Tags: 1:2013.2~b3-0ubuntu1
[ James Page ]
* d/control: Switch ceph-common -> python-ceph inline with upstream
  refactoring of Ceph RBD driver, move to Suggests of python-cinder.
  (LP: #1190791). 

[ Adam Gandelman ]
* debian/patches/avoid_paramiko_vers_depends.patch: Dropped, no longer
  required.
* Add minimum requirement python-greenlet (>= 0.3.2).
* Add minimum requirement python-eventlet (>= 0.12.0).
* Add minimum requirement python-paramiko (>= 1.8).

[ Chuck Short ]
* New upstream release.
* debian/patches/skip-sqlachemy-failures.patch: Skip testfailures
  with sqlalchemy 0.8 until they are fixed upstream.
* debian/control: Add python-babel to build-depends.
* debian/control: Add python-novaclient to build-depends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
from xml.dom import minidom
19
19
 
20
 
import webob
21
20
import webob.dec
22
21
import webob.exc
23
22
 
24
23
from cinder.api import common
25
24
from cinder.api.openstack import wsgi
 
25
from cinder.openstack.common import gettextutils
26
26
from cinder.openstack.common import jsonutils
27
27
from cinder import test
28
28
 
94
94
        resp = req.get_response(raiser)
95
95
        self.assertEqual(resp.content_type, "application/xml")
96
96
        self.assertEqual(resp.status_int, 404)
97
 
        self.assertTrue('whut?' in resp.body)
 
97
        self.assertIn('whut?', resp.body)
98
98
 
99
99
    def test_raise_403(self):
100
100
        """Ensure the ability to raise :class:`Fault` in WSGI-ified methods."""
106
106
        resp = req.get_response(raiser)
107
107
        self.assertEqual(resp.content_type, "application/xml")
108
108
        self.assertEqual(resp.status_int, 403)
109
 
        self.assertTrue('resizeNotAllowed' not in resp.body)
110
 
        self.assertTrue('forbidden' in resp.body)
 
109
        self.assertNotIn('resizeNotAllowed', resp.body)
 
110
        self.assertIn('forbidden', resp.body)
 
111
 
 
112
    def test_raise_localized_explanation(self):
 
113
        params = ('blah', )
 
114
        expl = gettextutils.Message("String with params: %s" % params, 'test')
 
115
 
 
116
        def _mock_translation(msg, locale):
 
117
            return "Mensaje traducido"
 
118
 
 
119
        self.stubs.Set(gettextutils,
 
120
                       "get_localized_message", _mock_translation)
 
121
 
 
122
        @webob.dec.wsgify
 
123
        def raiser(req):
 
124
            raise wsgi.Fault(webob.exc.HTTPNotFound(explanation=expl))
 
125
 
 
126
        req = webob.Request.blank('/.xml')
 
127
        resp = req.get_response(raiser)
 
128
        self.assertEqual(resp.content_type, "application/xml")
 
129
        self.assertEqual(resp.status_int, 404)
 
130
        self.assertIn(("Mensaje traducido"), resp.body)
 
131
        self.stubs.UnsetAll()
111
132
 
112
133
    def test_fault_has_status_int(self):
113
134
        """Ensure the status_int is set correctly on faults"""
122
143
        fault = wsgi.Fault(webob.exc.HTTPBadRequest(explanation='scram'))
123
144
        response = request.get_response(fault)
124
145
 
125
 
        self.assertTrue(common.XML_NS_V1 in response.body)
 
146
        self.assertIn(common.XML_NS_V1, response.body)
126
147
        self.assertEqual(response.content_type, "application/xml")
127
148
        self.assertEqual(response.status_int, 400)
128
149