77
78
self.assertEqual(middleware.limiter.__class__.__name__, "Limiter")
78
79
middleware = RateLimitingMiddleware(APIStub(), service_host='foobar')
79
80
self.assertEqual(middleware.limiter.__class__.__name__, "WSGIAppProxy")
83
class LimiterTest(unittest.TestCase):
85
def testLimiter(self):
87
req = Request.blank('/')
88
self.assertEqual(limited(items, req), items[ :1000])
89
req = Request.blank('/?offset=0')
90
self.assertEqual(limited(items, req), items[ :1000])
91
req = Request.blank('/?offset=3')
92
self.assertEqual(limited(items, req), items[3:1003])
93
req = Request.blank('/?offset=2005')
94
self.assertEqual(limited(items, req), [])
95
req = Request.blank('/?limit=10')
96
self.assertEqual(limited(items, req), items[ :10])
97
req = Request.blank('/?limit=0')
98
self.assertEqual(limited(items, req), items[ :1000])
99
req = Request.blank('/?limit=3000')
100
self.assertEqual(limited(items, req), items[ :1000])
101
req = Request.blank('/?offset=1&limit=3')
102
self.assertEqual(limited(items, req), items[1:4])
103
req = Request.blank('/?offset=3&limit=0')
104
self.assertEqual(limited(items, req), items[3:1003])
105
req = Request.blank('/?offset=3&limit=1500')
106
self.assertEqual(limited(items, req), items[3:1003])
107
req = Request.blank('/?offset=3000&limit=10')
108
self.assertEqual(limited(items, req), [])