From 51495a46eced3182ed735487f0f018da12f6bc1c Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Tue, 11 Oct 2011 21:29:29 -0400 Subject: Remove RateLimitingMiddlewareTest These tests duplicate those in nova.tests.api.openstack.test_limits and would always fail when specifically running the nova.tests.api.openstack test module. Change-Id: I38fcb9a786dadb8476fd5780a3040165f66350df --- nova/tests/api/openstack/__init__.py | 79 ------------------------------------ 1 file changed, 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") -- cgit