~unity-2d-team/unity-2d/Shell-MultiMonitor

« back to all changes in this revision

Viewing changes to grackle/tests/test_model.py

  • Committer: William Grant
  • Date: 2012-01-23 00:16:32 UTC
  • Revision ID: william.grant@canonical.com-20120123001632-z6dig91md7qu91f6
Date filtering.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
from tempfile import _RandomNameSequence
23
23
import time
24
24
import unittest
 
25
import uuid
25
26
 
26
27
from dateutil.tz import (
27
28
    tzoffset,
85
86
        self.assertEqual(key, archive_messages[0][1])
86
87
 
87
88
        # The key in archive_message is a TimeUUID for the Date field in
88
 
        # the message.
 
89
        # the message. There is no UTC equivalent of time.mktime, so we
 
90
        # must subtract the offset.
89
91
        utctime = time.mktime(datetime.datetime(
90
 
            2000, 1, 1, 0, 2, 34, tzinfo=tzutc()).timetuple())
 
92
            2000, 1, 1, 0, 2, 34, tzinfo=tzutc()).timetuple()) - time.timezone
91
93
        self.assertEqual(
92
94
            utctime,
93
95
            convert_uuid_to_time(archive_messages[0][0]))
162
164
        self.assertMessages([0, 1], messages)
163
165
        prev, messages, next = conn.get_messages(archive, 'date', 2, next)
164
166
        self.assertMessages([2, 3], messages)
165
 
        # XXX: We shouldn't have to reverse the sort order. There should
166
 
        # be a flag to work backwards, but I'm not sure if we can get
167
 
        # that from Cassandra without reversing in Python.
168
 
        prev, messages, next = conn.get_messages(archive, '-date', 2, prev)
169
 
        self.assertMessages([1, 0], messages)
 
167
        prev, messages, next = conn.get_messages(
 
168
            archive, 'date', 2, prev, backward=True)
 
169
        self.assertMessages([0, 1], messages)
 
170
        prev, messages, next = conn.get_messages(
 
171
            archive, 'date', 2, prev, backward=True)
 
172
        self.assertIs(None, prev)
 
173
        self.assertMessages([], messages)
 
174
        self.assertIs(None, next)
 
175
 
 
176
    def test_date_filter(self):
 
177
        conn, archive = self.makeArchive()
 
178
        self.makeMessages(conn, archive, 10)
 
179
        start = datetime.datetime.utcfromtimestamp(250).replace(
 
180
            tzinfo=tzutc())
 
181
        finish = datetime.datetime.utcfromtimestamp(500).replace(
 
182
            tzinfo=tzutc())
 
183
        prev, messages, next = conn.get_messages(
 
184
            archive, 'date', 2, '', start_date=start, finish_date=finish)
 
185
        self.assertMessages([3, 4], messages)
 
186
        prev, messages, next = conn.get_messages(
 
187
            archive, 'date', 2, next, start_date=start, finish_date=finish)
 
188
        self.assertMessages([5], messages)