aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py73
1 files changed, 0 insertions, 73 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
deleted file mode 100644
index 87c8c186..00000000
--- a/tests/test_utils.py
+++ /dev/null
@@ -1,73 +0,0 @@
-from datetime import datetime, timedelta, timezone
-
-from tests import SiteTest
-from pysite.utils.time import is_expired, parse_duration
-
-
-class DurationParsingTests(SiteTest):
- """Tests the `parse_duration` method provided by `pysite.utils.time`."""
-
- SIMPLE_DURATION_STRINGS = (
- ('42s', timedelta(seconds=42)),
- ('12m', timedelta(minutes=12)),
- ('20h', timedelta(hours=20)),
- ('7d', timedelta(days=7)),
- ('2w', timedelta(weeks=2))
- )
- COMBINED_DURATION_STRINGS = (
- ('12m30s', timedelta(minutes=12, seconds=30)),
- ('20h5m', timedelta(hours=20, minutes=5)),
- ('7d10h12s', timedelta(days=7, hours=10, seconds=12))
- )
-
- def test_simple_duration_string_parsing(self):
- for duration_string, added_delta in self.SIMPLE_DURATION_STRINGS:
- timezone_aware_now = datetime.now(timezone.utc)
- self.assertAlmostEqual(
- parse_duration(duration_string).timestamp(),
- (timezone_aware_now + added_delta).timestamp(),
- places=-1 # Being off by < 10 seconds is acceptable
- )
-
- def test_combined_duration_string_parsing(self):
- for duration_string, added_delta in self.COMBINED_DURATION_STRINGS:
- timezone_aware_now = datetime.now(timezone.utc)
- self.assertAlmostEqual(
- parse_duration(duration_string).timestamp(),
- (timezone_aware_now + added_delta).timestamp(),
- places=-1 # Being off by < 10 seconds is acceptable
- )
-
- def test_empty_duration_raises_valueerror(self):
- with self.assertRaises(ValueError):
- parse_duration('')
-
- def test_unknown_char_raises_valueerror(self):
- with self.assertRaises(ValueError):
- parse_duration('12l')
-
- def test_valid_unit_without_digits_raises_valueerror(self):
- with self.assertRaises(ValueError):
- parse_duration('s')
-
-
-class ExpiryTests(SiteTest):
- """Tests the `is_expired` method provided by `pysite.utils.time`."""
-
- EXPIRY_DELTAS = (
- timedelta(seconds=30),
- timedelta(minutes=12),
- timedelta(hours=20),
- timedelta(days=5),
- timedelta(weeks=7)
- )
-
- def test_datetimes_in_the_past_are_expired(self):
- for delta in self.EXPIRY_DELTAS:
- date = datetime.now(timezone.utc) - delta
- self.assertTrue(is_expired(date))
-
- def test_datetimes_in_the_future_are_not_expired(self):
- for delta in self.EXPIRY_DELTAS:
- date = datetime.now(timezone.utc) + delta
- self.assertFalse(is_expired(date))