def test_parseTimestamp(self):

        ts1 = "1990-12-01T12:34:56Z"
        ts2 = "2010-01-31T01:02:03Z"

        dt1 = qmsg_processor._parseTimestamp(ts1)
        dt2 = qmsg_processor._parseTimestamp(ts2)

        self.assertEqual(datetime.datetime(1990, 12, 1, 12, 34, 56), dt1)
        self.assertEqual(datetime.datetime(2010, 1, 31, 01, 02, 03), dt2)

        self.assertEqual(ts1, qmsg_processor._formatTimestamp(dt1))
        self.assertEqual(ts2, qmsg_processor._formatTimestamp(dt2))

        self.assertRaises(ValueError, qmsg_processor._parseTimestamp, "")
        self.assertRaises(Exception, qmsg_processor._parseTimestamp, 1)
        self.assertRaises(ValueError, qmsg_processor._parseTimestamp, "abcdefghijklmno")
def _makeMeta(uri, date, etag, last_modified):
    """ Utility to build meta """

    ts = qmsg_processor._parseTimestamp(date)   # do a roundtrip to verify the format
    date = qmsg_processor._formatTimestamp(ts)

    meta = {}
    if uri:           meta['uri'          ] = uri
    if date:          meta['date'         ] = date
    if etag:          meta['etag'         ] = etag
    if last_modified: meta['last-modified'] = last_modified
    return meta