def test_unfake(self):
        # This test will fail when run exactly on 2011/11/11!
        datetime = fake_datetime.fake_datetime()
        try:
            t = datetime.datetime.now()
            self.assertTrue(t.year == 2011 and t.month == 11 and t.day == 11,
                            t)

            t = time.time()
            self.assertEqual(1320998400, int(time.time() / 3600) * 3600)
        finally:
            datetime = fake_datetime.unfake_datetime()

        t = datetime.datetime.now()
        self.assertTrue(t.year != 2011 or t.month != 11 or t.day != 11, t)

        t = time.time()
        self.assertNotEqual(1320998400, int(time.time() / 3600) * 3600)
 def test_helper_module_now_with_no_local_fake(self):
     """Even if the fake is turned off here, the helper should use it."""
     global datetime
     datetime = fake_datetime.unfake_datetime()
     self.assert_is_fake_now(fake_datetime_test_helper.global_now)
     self.assert_is_fake_now(fake_datetime_test_helper.now_fn())
 def tearDown(self):
     global datetime
     datetime = fake_datetime.unfake_datetime()
# Do this first so everyone sees the faked version of datetime.  Also
# to verify that the 'import datetime' below doesn't override our
# fake.
from testutil import fake_datetime
fake_datetime.fake_datetime()

# Verify this gives us the fake datetime.
import datetime
global_now = datetime.datetime.now()

# Now import another module and verify it gets the fake datetime too.
import fake_datetime_test_helper

# Now undo the fake so other tests being run by the test-runner don't
# see the fake datetime.
fake_datetime.unfake_datetime()

import os
import time
try:
    import unittest2 as unittest     # python 2.5
except ImportError:
    import unittest                  # python 2.6+


orig_timezone = None


def setUpModule():
    """All these tests assume we're running in pacific time.  Make it so."""
    global orig_timezone