31 lines
849 B
Python
31 lines
849 B
Python
"""Test time utils"""
|
|
from datetime import timedelta
|
|
|
|
from django.core.exceptions import ValidationError
|
|
from django.test import TestCase
|
|
|
|
from passbook.channels.out_saml.utils.time import (
|
|
timedelta_from_string,
|
|
timedelta_string_validator,
|
|
)
|
|
|
|
|
|
class TestTimeUtils(TestCase):
|
|
"""Test time-utils"""
|
|
|
|
def test_valid(self):
|
|
"""Test valid expression"""
|
|
expr = "hours=3;minutes=1"
|
|
expected = timedelta(hours=3, minutes=1)
|
|
self.assertEqual(timedelta_from_string(expr), expected)
|
|
|
|
def test_invalid(self):
|
|
"""Test invalid expression"""
|
|
with self.assertRaises(ValueError):
|
|
timedelta_from_string("foo")
|
|
|
|
def test_validation(self):
|
|
"""Test Django model field validator"""
|
|
with self.assertRaises(ValidationError):
|
|
timedelta_string_validator("foo")
|