Merge "Raise error when period with negative value"

This commit is contained in:
Jenkins 2013-08-19 10:46:20 +00:00 committed by Gerrit Code Review
commit 58cb2fe1ee
2 changed files with 12 additions and 0 deletions

View File

@ -567,6 +567,11 @@ class MeterController(rest.RestController):
:param period: Returned result will be an array of statistics for a
period long of that number of seconds.
"""
if period and period < 0:
error = _("Period must be positive.")
pecan.response.translatable_error = error
raise wsme.exc.ClientSideError(error)
kwargs = _query_to_kwargs(q, storage.SampleFilter.__init__)
kwargs['meter'] = self._id
f = storage.SampleFilter(**kwargs)

View File

@ -185,6 +185,13 @@ class TestMaxResourceVolume(base.FunctionalTest,
u'2012-09-25T11:30:00',
u'2012-09-25T12:30:00']))
def test_period_with_negative_value(self):
resp = self.get_json(self.PATH, expect_errors=True,
q=[{'field': 'resource_id',
'value': 'resource-id'}],
period=-1)
self.assertEquals(400, resp.status_code)
def test_start_timestamp(self):
data = self.get_json(self.PATH, q=[{'field': 'resource_id',
'value': 'resource-id',