Mercurial > hg > Feedworm
view tests/couchdb/ListDateTimeFieldTests.py @ 205:adf7f617bda9
make the name of the design document configurable via command line switch. When cloning the feedworm db, the design document is no longer the same as the database name
author | dirk |
---|---|
date | Sat, 02 Jun 2012 04:24:49 +0200 |
parents | 460a3062c5e6 |
children | bb3c851b18b1 |
line wrap: on
line source
from backend.couchdb.ListDateTimeField import ListDateTimeField from couchdb import Server from couchdb.http import ResourceNotFound 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 = self._createDatabase(server) 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 server[database.name] def _createDatabase(self, server): databaseName = "feedworm-unit-test" database = None try: database = server[databaseName] except (ResourceNotFound): database = server.create(databaseName) return database if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testName'] unittest.main()