diff options
| author | Jenkins <jenkins@review.openstack.org> | 2011-10-13 15:47:33 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2011-10-13 15:47:33 +0000 |
| commit | bc16182f5cfd34738c3c70e151bcd4f4ea52779d (patch) | |
| tree | 19b5df2671d6d6a1bd260dcaf01c5c5de759717c | |
| parent | 4eb6fd95f7dc989906d2632a673e7e4c8a47ee1c (diff) | |
| parent | 51495a46eced3182ed735487f0f018da12f6bc1c (diff) | |
| download | nova-bc16182f5cfd34738c3c70e151bcd4f4ea52779d.tar.gz nova-bc16182f5cfd34738c3c70e151bcd4f4ea52779d.tar.xz nova-bc16182f5cfd34738c3c70e151bcd4f4ea52779d.zip | |
Merge "Remove RateLimitingMiddlewareTest"
| -rw-r--r-- | nova/tests/api/openstack/__init__.py | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/nova/tests/api/openstack/__init__.py b/nova/tests/api/openstack/__init__.py index 7d44489a1..00fcfbb00 100644 --- a/nova/tests/api/openstack/__init__.py +++ b/nova/tests/api/openstack/__init__.py @@ -14,82 +14,3 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - -# NOTE(vish): this forces the fixtures from tests/__init.py:setup() to work -from nova.tests import * - -import webob.dec -from nova import test - -from nova import context -from nova.api.openstack.limits import RateLimitingMiddleware -from nova.api.openstack.common import limited -from nova.tests.api.openstack import fakes -from webob import Request - - -@webob.dec.wsgify -def simple_wsgi(req): - return "" - - -class RateLimitingMiddlewareTest(test.TestCase): - - def test_get_action_name(self): - middleware = RateLimitingMiddleware(simple_wsgi) - - def verify(method, url, action_name): - req = Request.blank(url) - req.method = method - action = middleware.get_action_name(req) - self.assertEqual(action, action_name) - - verify('PUT', '/fake/servers/4', 'PUT') - verify('DELETE', '/fake/servers/4', 'DELETE') - verify('POST', '/fake/images/4', 'POST') - verify('POST', '/fake/servers/4', 'POST servers') - verify('GET', '/fake/foo?a=4&changes-since=never&b=5', - 'GET changes-since') - verify('GET', '/fake/foo?a=4&monkeys-since=never&b=5', None) - verify('GET', '/fake/servers/4', None) - verify('HEAD', '/fake/servers/4', None) - - def exhaust(self, middleware, method, url, username, times): - req = Request.blank(url, dict(REQUEST_METHOD=method), - headers={'X-Auth-User': username}) - req.environ['nova.context'] = context.RequestContext(username, - username) - for i in range(times): - resp = req.get_response(middleware) - self.assertEqual(resp.status_int, 200) - resp = req.get_response(middleware) - self.assertEqual(resp.status_int, 413) - self.assertTrue('Retry-After' in resp.headers) - - def test_single_action(self): - middleware = RateLimitingMiddleware(simple_wsgi) - self.exhaust(middleware, 'DELETE', '/fake/servers/4', 'usr1', 100) - self.exhaust(middleware, 'DELETE', '/fake/servers/4', 'usr2', 100) - - def test_POST_servers_action_implies_POST_action(self): - middleware = RateLimitingMiddleware(simple_wsgi) - self.exhaust(middleware, 'POST', '/fake/servers/4', 'usr1', 10) - self.exhaust(middleware, 'POST', '/fake/images/4', 'usr2', 10) - self.assertTrue(set(middleware.limiter._levels) == \ - set(['usr1:POST', 'usr1:POST servers', 'usr2:POST'])) - - def test_POST_servers_action_correctly_ratelimited(self): - middleware = RateLimitingMiddleware(simple_wsgi) - # Use up all of our "POST" allowance for the minute, 5 times - for i in range(5): - self.exhaust(middleware, 'POST', '/fake/servers/4', 'usr1', 10) - # Reset the 'POST' action counter. - del middleware.limiter._levels['usr1:POST'] - # All 50 daily "POST servers" actions should be all used up - self.exhaust(middleware, 'POST', '/fake/servers/4', 'usr1', 0) - - def test_proxy_ctor_works(self): - middleware = RateLimitingMiddleware(simple_wsgi) - self.assertEqual(middleware.limiter.__class__.__name__, "Limiter") - middleware = RateLimitingMiddleware(simple_wsgi, service_host='foobar') - self.assertEqual(middleware.limiter.__class__.__name__, "WSGIAppProxy") |
