2011-12-06 12:11:50 -05:00
|
|
|
|
|
|
|
from novaclient.v1_1 import limits
|
|
|
|
from tests import utils
|
2011-12-09 14:26:06 -05:00
|
|
|
from tests.v1_1 import fakes
|
2011-12-06 12:11:50 -05:00
|
|
|
|
|
|
|
|
|
|
|
cs = fakes.FakeClient()
|
|
|
|
|
|
|
|
|
|
|
|
class LimitsTest(utils.TestCase):
|
|
|
|
|
|
|
|
def test_get_limits(self):
|
|
|
|
obj = cs.limits.get()
|
|
|
|
cs.assert_called('GET', '/limits')
|
|
|
|
self.assertTrue(isinstance(obj, limits.Limits))
|
|
|
|
|
|
|
|
def test_absolute_limits(self):
|
|
|
|
obj = cs.limits.get()
|
|
|
|
|
|
|
|
expected = (
|
|
|
|
limits.AbsoluteLimit("maxTotalRAMSize", 51200),
|
|
|
|
limits.AbsoluteLimit("maxServerMeta", 5),
|
|
|
|
limits.AbsoluteLimit("maxImageMeta", 5),
|
|
|
|
limits.AbsoluteLimit("maxPersonality", 5),
|
2012-12-12 16:55:10 +00:00
|
|
|
limits.AbsoluteLimit("maxPersonalitySize", 10240),
|
|
|
|
)
|
|
|
|
|
|
|
|
abs_limits = list(obj.absolute)
|
|
|
|
self.assertEqual(len(abs_limits), len(expected))
|
|
|
|
|
|
|
|
for limit in abs_limits:
|
|
|
|
self.assertTrue(limit in expected)
|
|
|
|
|
|
|
|
def test_absolute_limits_reserved(self):
|
|
|
|
obj = cs.limits.get(reserved=True)
|
|
|
|
|
|
|
|
expected = (
|
|
|
|
limits.AbsoluteLimit("maxTotalRAMSize", 51200),
|
|
|
|
limits.AbsoluteLimit("maxServerMeta", 5),
|
|
|
|
limits.AbsoluteLimit("maxImageMeta", 5),
|
|
|
|
limits.AbsoluteLimit("maxPersonality", 5),
|
2011-12-06 12:11:50 -05:00
|
|
|
limits.AbsoluteLimit("maxPersonalitySize", 10240),
|
|
|
|
)
|
|
|
|
|
|
|
|
abs_limits = list(obj.absolute)
|
|
|
|
self.assertEqual(len(abs_limits), len(expected))
|
|
|
|
|
|
|
|
for limit in abs_limits:
|
|
|
|
self.assertTrue(limit in expected)
|
|
|
|
|
|
|
|
def test_rate_limits(self):
|
|
|
|
obj = cs.limits.get()
|
|
|
|
|
|
|
|
expected = (
|
|
|
|
limits.RateLimit('POST', '*', '.*', 10, 2, 'MINUTE',
|
2011-12-13 17:35:50 +01:00
|
|
|
'2011-12-15T22:42:45Z'),
|
2011-12-06 12:11:50 -05:00
|
|
|
limits.RateLimit('PUT', '*', '.*', 10, 2, 'MINUTE',
|
2011-12-13 17:35:50 +01:00
|
|
|
'2011-12-15T22:42:45Z'),
|
2011-12-06 12:11:50 -05:00
|
|
|
limits.RateLimit('DELETE', '*', '.*', 100, 100, 'MINUTE',
|
2011-12-13 17:35:50 +01:00
|
|
|
'2011-12-15T22:42:45Z'),
|
2011-12-06 12:11:50 -05:00
|
|
|
limits.RateLimit('POST', '*/servers', '^/servers', 25, 24, 'DAY',
|
2011-12-13 17:35:50 +01:00
|
|
|
'2011-12-15T22:42:45Z'),
|
2011-12-06 12:11:50 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
rate_limits = list(obj.rate)
|
|
|
|
self.assertEqual(len(rate_limits), len(expected))
|
|
|
|
|
|
|
|
for limit in rate_limits:
|
|
|
|
self.assertTrue(limit in expected)
|