kiloeyes/kiloeyes/tests/microservice/test_strategy.py

148 lines
5.7 KiB
Python
Executable File

# Copyright 2013 IBM Corp
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import dateutil.parser as dparser
from oslo_log import log
import time
from kiloeyes.microservice import timed_strategy
from kiloeyes.openstack.common.fixture import config
from kiloeyes import tests
LOG = log.getLogger(__name__)
class TestStrategy(tests.BaseTestCase):
def setUp(self):
super(TestStrategy, self).setUp()
self.CONF = self.useFixture(config.Config()).conf
def test_hour(self):
self.CONF.set_override('time_unit', 'h', group='timed_strategy')
self.strategy = timed_strategy.TimedStrategy()
day = dparser.parse('monkey 2014-07-10 love 12:34:56', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140710120000', self.strategy.get_index())
# test input integer
the_int = int(time.mktime(day.timetuple()))
self.strategy.set_time(the_int)
self.assertEqual('20140710120000', self.strategy.get_index())
# test the str input
self.strategy.set_time('Nov 15, 2014 00:27:05')
self.assertEqual('20141115000000',
self.strategy.get_index())
def test_day(self):
self.CONF.set_override('time_unit', 'd', group='timed_strategy')
self.strategy = timed_strategy.TimedStrategy()
day = dparser.parse('monkey 2014-07-10 love 12:34:56', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140710000000', self.strategy.get_index())
day = dparser.parse('2014-07-10', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140710000000', self.strategy.get_index())
# test input integer
the_int = int(time.mktime(day.timetuple()))
self.strategy.set_time(the_int)
self.assertEqual('20140710000000', self.strategy.get_index())
# test the str input
self.strategy.set_time('Nov 15, 2014')
self.assertEqual('20141115000000',
self.strategy.get_index())
def test_week(self):
self.CONF.set_override('time_unit', 'w', group='timed_strategy')
self.strategy = timed_strategy.TimedStrategy()
day = dparser.parse('2013-10-31', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20131027000000', self.strategy.get_index())
day = dparser.parse('2013-11-1', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20131027000000', self.strategy.get_index())
day = dparser.parse('2013-11-3', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20131103000000', self.strategy.get_index())
day = dparser.parse('2014-09-12', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140907000000', self.strategy.get_index())
day = dparser.parse('monkey 2014-07-10 love 12:34:56', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140706000000', self.strategy.get_index())
# test input integer
the_int = int(time.mktime(day.timetuple()))
self.strategy.set_time(the_int)
self.assertEqual('20140706000000', self.strategy.get_index())
# test the str input
self.strategy.set_time('Nov 15, 2014')
self.assertEqual('20141109000000',
self.strategy.get_index())
def test_month(self):
self.CONF.set_override('time_unit', 'm', group='timed_strategy')
self.strategy = timed_strategy.TimedStrategy()
day = dparser.parse('2014-10-31', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20141001000000', self.strategy.get_index())
day = dparser.parse('2014-11-1', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20141101000000', self.strategy.get_index())
day = dparser.parse('2014-11-15', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20141101000000', self.strategy.get_index())
# test input integer
the_int = int(time.mktime(day.timetuple()))
self.strategy.set_time(the_int)
self.assertEqual('20141101000000', self.strategy.get_index())
# test the str input
self.strategy.set_time('Nov 15, 2014')
self.assertEqual('20141101000000',
self.strategy.get_index())
def test_year(self):
self.CONF.set_override('time_unit', 'y', group='timed_strategy')
self.strategy = timed_strategy.TimedStrategy()
day = dparser.parse('2014-10-31', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140101000000', self.strategy.get_index())
day = dparser.parse('2014-11-1', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140101000000', self.strategy.get_index())
day = dparser.parse('2014-11-15', fuzzy=True)
self.strategy.set_time(day)
self.assertEqual('20140101000000', self.strategy.get_index())
# test input integer
the_int = int(time.mktime(day.timetuple()))
self.strategy.set_time(the_int)
self.assertEqual('20140101000000', self.strategy.get_index())
# test the str input
self.strategy.set_time('Nov 15, 2014')
self.assertEqual('20140101000000',
self.strategy.get_index())