~cloudbuilders/nova/os-keypair-integration

« back to all changes in this revision

Viewing changes to nova/tests/api/openstack/__init__.py

  • Committer: Jesse Andrews
  • Date: 2011-08-26 21:57:53 UTC
  • mfrom: (1455.1.45 nova)
  • Revision ID: anotherjesse@gmail.com-20110826215753-0sfp6dubujsl23wa
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
            action = middleware.get_action_name(req)
45
45
            self.assertEqual(action, action_name)
46
46
 
47
 
        verify('PUT', '/servers/4', 'PUT')
48
 
        verify('DELETE', '/servers/4', 'DELETE')
49
 
        verify('POST', '/images/4', 'POST')
50
 
        verify('POST', '/servers/4', 'POST servers')
51
 
        verify('GET', '/foo?a=4&changes-since=never&b=5', 'GET changes-since')
52
 
        verify('GET', '/foo?a=4&monkeys-since=never&b=5', None)
53
 
        verify('GET', '/servers/4', None)
54
 
        verify('HEAD', '/servers/4', None)
 
47
        verify('PUT', '/fake/servers/4', 'PUT')
 
48
        verify('DELETE', '/fake/servers/4', 'DELETE')
 
49
        verify('POST', '/fake/images/4', 'POST')
 
50
        verify('POST', '/fake/servers/4', 'POST servers')
 
51
        verify('GET', '/fake/foo?a=4&changes-since=never&b=5',
 
52
               'GET changes-since')
 
53
        verify('GET', '/fake/foo?a=4&monkeys-since=never&b=5', None)
 
54
        verify('GET', '/fake/servers/4', None)
 
55
        verify('HEAD', '/fake/servers/4', None)
55
56
 
56
57
    def exhaust(self, middleware, method, url, username, times):
57
58
        req = Request.blank(url, dict(REQUEST_METHOD=method),
67
68
 
68
69
    def test_single_action(self):
69
70
        middleware = RateLimitingMiddleware(simple_wsgi)
70
 
        self.exhaust(middleware, 'DELETE', '/servers/4', 'usr1', 100)
71
 
        self.exhaust(middleware, 'DELETE', '/servers/4', 'usr2', 100)
 
71
        self.exhaust(middleware, 'DELETE', '/fake/servers/4', 'usr1', 100)
 
72
        self.exhaust(middleware, 'DELETE', '/fake/servers/4', 'usr2', 100)
72
73
 
73
74
    def test_POST_servers_action_implies_POST_action(self):
74
75
        middleware = RateLimitingMiddleware(simple_wsgi)
75
 
        self.exhaust(middleware, 'POST', '/servers/4', 'usr1', 10)
76
 
        self.exhaust(middleware, 'POST', '/images/4', 'usr2', 10)
 
76
        self.exhaust(middleware, 'POST', '/fake/servers/4', 'usr1', 10)
 
77
        self.exhaust(middleware, 'POST', '/fake/images/4', 'usr2', 10)
77
78
        self.assertTrue(set(middleware.limiter._levels) == \
78
79
                        set(['usr1:POST', 'usr1:POST servers', 'usr2:POST']))
79
80
 
81
82
        middleware = RateLimitingMiddleware(simple_wsgi)
82
83
        # Use up all of our "POST" allowance for the minute, 5 times
83
84
        for i in range(5):
84
 
            self.exhaust(middleware, 'POST', '/servers/4', 'usr1', 10)
 
85
            self.exhaust(middleware, 'POST', '/fake/servers/4', 'usr1', 10)
85
86
            # Reset the 'POST' action counter.
86
87
            del middleware.limiter._levels['usr1:POST']
87
88
        # All 50 daily "POST servers" actions should be all used up
88
 
        self.exhaust(middleware, 'POST', '/servers/4', 'usr1', 0)
 
89
        self.exhaust(middleware, 'POST', '/fake/servers/4', 'usr1', 0)
89
90
 
90
91
    def test_proxy_ctor_works(self):
91
92
        middleware = RateLimitingMiddleware(simple_wsgi)