Commit b254c0e4 authored by Felipe Jin's avatar Felipe Jin Committed by George Kadianakis
Browse files

Fix datetime mock in v3 onionbalance

parent ba472772
Loading
Loading
Loading
Loading
+22 −23
Original line number Original line Diff line number Diff line
@@ -18,34 +18,33 @@ class OutdatedConsensus(unittest.TestCase):
        consensus = DummyConsensus()
        consensus = DummyConsensus()


        consensus.consensus = mock.Mock()
        consensus.consensus = mock.Mock()
        datetime.datetime = mock.Mock()
        with mock.patch("datetime.datetime") as mock_datetime:

            consensus.consensus.valid_after = current_time
            consensus.consensus.valid_after = current_time
            # valid_until is 3 hours in the future
            # valid_until is 3 hours in the future
            consensus.consensus.valid_until = current_time + datetime.timedelta(seconds=3600 * 3)
            consensus.consensus.valid_until = current_time + datetime.timedelta(seconds=3600 * 3)


            # Test some legitimate cases
            # Test some legitimate cases
        datetime.datetime.utcnow.return_value = current_time
            mock_datetime.utcnow.return_value = current_time
            self.assertTrue(consensus.is_live())
            self.assertTrue(consensus.is_live())


        datetime.datetime.utcnow.return_value = current_time + datetime.timedelta(seconds=3600*11)
            mock_datetime.utcnow.return_value = current_time + datetime.timedelta(seconds=3600 * 11)
            self.assertTrue(consensus.is_live())
            self.assertTrue(consensus.is_live())


        datetime.datetime.utcnow.return_value = current_time + datetime.timedelta(seconds=3600*12)
            mock_datetime.utcnow.return_value = current_time + datetime.timedelta(seconds=3600 * 12)
            self.assertTrue(consensus.is_live())
            self.assertTrue(consensus.is_live())


        datetime.datetime.utcnow.return_value = current_time + datetime.timedelta(seconds=3600*24)
            mock_datetime.utcnow.return_value = current_time + datetime.timedelta(seconds=3600 * 24)
            self.assertTrue(consensus.is_live())
            self.assertTrue(consensus.is_live())


        datetime.datetime.utcnow.return_value = current_time - datetime.timedelta(seconds=3600*24)
            mock_datetime.utcnow.return_value = current_time - datetime.timedelta(seconds=3600 * 24)
            self.assertTrue(consensus.is_live())
            self.assertTrue(consensus.is_live())


            # Now test some bad cases. The is_live() function is lenient up to 24
            # Now test some bad cases. The is_live() function is lenient up to 24
            # hours after the valid_until, or 24 hours before the valid_after
            # hours after the valid_until, or 24 hours before the valid_after
        datetime.datetime.utcnow.return_value = consensus.consensus.valid_until + datetime.timedelta(seconds=3600*24+1)
            mock_datetime.utcnow.return_value = consensus.consensus.valid_until + datetime.timedelta(seconds=3600 * 24 + 1)
            self.assertFalse(consensus.is_live())
            self.assertFalse(consensus.is_live())


        datetime.datetime.utcnow.return_value = consensus.consensus.valid_after - datetime.timedelta(seconds=3600*24+1)
            mock_datetime.utcnow.return_value = consensus.consensus.valid_after - datetime.timedelta(seconds=3600 * 24 + 1)
            self.assertFalse(consensus.is_live())
            self.assertFalse(consensus.is_live())


class TestReloadConfig(unittest.TestCase):
class TestReloadConfig(unittest.TestCase):