Esempio n. 1
0
    def test_utc_aware_input_returns_unchanged_regardless_of_utc_naive_param(
            self):

        actual1 = make_utc_explicit(self.aware_utc, utc_naive=True)
        actual2 = make_utc_explicit(self.aware_utc, utc_naive=False)

        self.assertEqual(actual1, self.aware_utc)
        self.assertEqual(actual2, self.aware_utc)
Esempio n. 2
0
    def test_returns_tz_aware_datetime(self):

        inputs = [
            self.naive_local, self.aware_local, self.naive_utc, self.aware_utc
        ]

        returned1 = [make_utc_explicit(i, True) for i in inputs]
        returned2 = [make_utc_explicit(i, False) for i in inputs]
        returned = returned1 + returned2

        for i in returned:
            self.assertIsInstance(i, datetime)
            self.assertIsNotNone(i.tzinfo)
Esempio n. 3
0
    def test_offsets_local_tz_aware_to_utc(self):

        local_tz = timezone(timedelta(hours=5))
        aware_local = self.naive_local.replace(tzinfo=local_tz)

        expected = aware_local - timedelta(hours=5)
        expected = expected.replace(tzinfo=timezone.utc)

        actual = make_utc_explicit(aware_local, utc_naive=False)

        self.assertEqual(actual, expected)
Esempio n. 4
0
    def __init__(self, sid, uid, start, stop, now=None, already_utc=False):

        for s in [start, stop]:
            if not isinstance(s, datetime):
                msg = f'argument "{s}" must be of type datetime.datetime'
                raise TypeError(msg)

        make_utc = partial(make_utc_explicit, utc_naive=already_utc)
        self.start, self.stop = map(make_utc, (start, stop))
        self.start_unix, self.stop_unix = map(convert_datetime_to_unix, (start, stop))
        self.sid = sid
        self.uid = uid
        self.cookies = {'sid': sid, 'uid': uid}
        self._setup_requests()
        if not now:
            self.now = datetime.now(timezone.utc)
        else:
            if not now.tzinfo:
                raise AttributeError(f'"now" param ({now}) must be tz-aware datetime')
            self.now = make_utc_explicit(now, utc_naive=False)
Esempio n. 5
0
    def test_input_not_offset_when_utc_naive_true(self):

        actual = make_utc_explicit(self.naive_utc, utc_naive=True)
        expected = self.naive_utc.replace(tzinfo=timezone.utc)
        self.assertEqual(actual, expected)
Esempio n. 6
0
    def test_converts_local_naive_tz_into_utc_aware(self):

        actual = make_utc_explicit(self.naive_local, utc_naive=False)
        self.assertEqual(actual.tzinfo, timezone.utc)