57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
import datetime
|
|
import unittest
|
|
|
|
import mox
|
|
|
|
from stacktach import dbapi
|
|
import utils
|
|
from utils import INSTANCE_ID_1
|
|
|
|
|
|
class StacktachRawParsingTestCase(unittest.TestCase):
|
|
def setUp(self):
|
|
self.mox = mox.Mox()
|
|
|
|
def tearDown(self):
|
|
self.mox.UnsetStubs()
|
|
|
|
def test_get_filter_args(self):
|
|
start_time = datetime.datetime.utcnow()
|
|
start_decimal = utils.decimal_utc(start_time)
|
|
end_time = start_time + datetime.timedelta(days=1)
|
|
end_decimal = utils.decimal_utc(end_time)
|
|
fake_request = self.mox.CreateMockAnything()
|
|
fake_request.GET = {'instance': INSTANCE_ID_1,
|
|
'launched_at_min': str(start_time),
|
|
'launched_at_max': str(end_time)}
|
|
self.mox.ReplayAll()
|
|
|
|
filter_args = dbapi._get_filter_args(fake_request)
|
|
|
|
self.mox.VerifyAll()
|
|
self.assertEquals(filter_args['instance'], INSTANCE_ID_1)
|
|
self.assertEquals(filter_args.get('launched_at__gte'),
|
|
start_decimal)
|
|
self.assertEquals(filter_args.get('launched_at__lte'),
|
|
end_decimal)
|
|
|
|
def test_get_filter_args_bad_min_value(self):
|
|
fake_request = self.mox.CreateMockAnything()
|
|
fake_request.GET = {'launched_at_min': 'obviouslybaddatetime'}
|
|
self.mox.ReplayAll()
|
|
|
|
self.assertRaises(dbapi.BadRequestException, dbapi._get_filter_args,
|
|
fake_request)
|
|
|
|
self.mox.VerifyAll()
|
|
|
|
def test_get_filter_args_bad_max_value(self):
|
|
fake_request = self.mox.CreateMockAnything()
|
|
fake_request.GET = {'launched_at_max': 'obviouslybaddatetime'}
|
|
self.mox.ReplayAll()
|
|
|
|
self.assertRaises(dbapi.BadRequestException, dbapi._get_filter_args,
|
|
fake_request)
|
|
|
|
self.mox.VerifyAll()
|