Mercurial > hg > Feedworm
view tests/couchdb/ListDateTimeFieldTests.py @ 196:a9ba3e3a9a9a
log the publish date of a feed entry that's stored in the database
author | dirk |
---|---|
date | Tue, 24 Jan 2012 08:25:29 +0100 |
parents | f0afcd1c5656 |
children | 460a3062c5e6 |
line wrap: on
line source
from backend.couchdb.ListDateTimeField import ListDateTimeField from couchdb import Server from couchdb.mapping import Document, TextField from datetime import datetime import unittest class ListDateTimeFieldTests(unittest.TestCase): def testToJsonValid(self): value = datetime(2011, 9, 7, 15, 21, 0) result = ListDateTimeField()._to_json(value) self.assertEqual([2011, 9, 7, 15, 21, 0], result) def testToJsonInvalid(self): value = "this is invalid input" result = ListDateTimeField()._to_json(value) self.assertEqual(value, result) def testToPythonValid(self): value = [2011, 9, 7, 15, 21, 0] result = ListDateTimeField()._to_python(value) expected = datetime(2011, 9, 7, 15, 21, 0) self.assertEqual(expected, result) def testToPythonInvalid(self): value = "this is invalid input" result = ListDateTimeField()._to_python(value) self.assertEqual(value, result) def __testRoundTrip(self): class Dummy(Document): title = TextField() date = ListDateTimeField() server = Server() database = server["hello-world"] dummy = Dummy() dummy.title = "created from unit test" date = datetime.now().replace(microsecond=0) dummy.date = date dummy.store(database) self.assertNotEqual(None, dummy.id) dummy2 = Dummy.load(database, dummy.id) self.assertNotEqual(None, dummy2) self.assertFalse(dummy == dummy2) self.assertEqual(date, dummy2.date) del database[dummy.id] if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testName'] unittest.main()