def test_get_live_data_keeps_one_hour_data(self):
        test_now = datetime.now()
        live_data_handler = RedisTimeCappedSubscriber(
            self.connection,
            'live_data',
            3600,
            pubsub_key=CURRENT_COST_KEY,
            indicator_key='watt')

        redis_toolbox.now = lambda: test_now
        yield from live_data_handler.handle({
            'date': redis_toolbox.now(),
            'watt': 100
        })
        redis_toolbox.now = lambda: test_now + timedelta(seconds=1800)
        yield from live_data_handler.handle({
            'date': redis_toolbox.now(),
            'watt': 200
        })
        redis_toolbox.now = lambda: test_now + timedelta(seconds=3660)
        yield from live_data_handler.handle({
            'date': redis_toolbox.now(),
            'watt': 300
        })

        self.assertEqual(
            2, len((yield from
                    live_data_handler.get_data(since_seconds=3600))))
        self.assertEqual(
            1, len((yield from
                    live_data_handler.get_data(since_seconds=1800))))
    def test_get_live_data_keeps_one_hour_data(self):
        test_now = datetime.now()
        live_data_handler = RedisTimeCappedSubscriber(self.connection, 'live_data', 3600, pubsub_key=CURRENT_COST_KEY, indicator_key='watt')

        redis_toolbox.now = lambda: test_now
        yield from live_data_handler.handle({'date': redis_toolbox.now(), 'watt': 100})
        redis_toolbox.now = lambda: test_now + timedelta(seconds=1800)
        yield from live_data_handler.handle({'date': redis_toolbox.now(), 'watt': 200})
        redis_toolbox.now = lambda: test_now + timedelta(seconds=3660)
        yield from live_data_handler.handle({'date': redis_toolbox.now(), 'watt': 300})

        self.assertEqual(2, len((yield from live_data_handler.get_data(since_seconds=3600))))
        self.assertEqual(1, len((yield from live_data_handler.get_data(since_seconds=1800))))
    def test_get_live_data(self):
        live_data_handler = RedisTimeCappedSubscriber(self.connection, 'live_data', 3600, pubsub_key=CURRENT_COST_KEY, indicator_key='watt').start()
        yield from live_data_handler.handle({'date': redis_toolbox.now(), 'watt': 100})

        data = yield from live_data_handler.get_data()

        self.assertEqual(1, len(data))
        self.assertEqual({'date': redis_toolbox.now(), 'watt': 100}, data[0])
    def test_get_live_data(self):
        live_data_handler = RedisTimeCappedSubscriber(
            self.connection,
            'live_data',
            3600,
            pubsub_key=CURRENT_COST_KEY,
            indicator_key='watt').start()
        yield from live_data_handler.handle({
            'date': redis_toolbox.now(),
            'watt': 100
        })

        data = yield from live_data_handler.get_data()

        self.assertEqual(1, len(data))
        self.assertEqual({'date': redis_toolbox.now(), 'watt': 100}, data[0])