]>
Commit | Line | Data |
---|---|---|
adb31ebb TL |
1 | import datetime |
2 | ||
3 | import pytest | |
4 | ||
5 | from ceph.utils import datetime_now, datetime_to_str, str_to_datetime | |
6 | ||
7 | ||
8 | def test_datetime_to_str_1(): | |
9 | dt = datetime.datetime.now() | |
10 | assert type(datetime_to_str(dt)) is str | |
11 | ||
12 | ||
13 | def test_datetime_to_str_2(): | |
14 | # note: tz isn't specified in the string, so explicitly store this as UTC | |
15 | dt = datetime.datetime.strptime( | |
16 | '2019-04-24T17:06:53.039991', | |
17 | '%Y-%m-%dT%H:%M:%S.%f' | |
18 | ).replace(tzinfo=datetime.timezone.utc) | |
19 | assert datetime_to_str(dt) == '2019-04-24T17:06:53.039991Z' | |
20 | ||
21 | ||
22 | def test_datetime_to_str_3(): | |
23 | dt = datetime.datetime.strptime('2020-11-02T04:40:12.748172-0800', | |
24 | '%Y-%m-%dT%H:%M:%S.%f%z') | |
25 | assert datetime_to_str(dt) == '2020-11-02T12:40:12.748172Z' | |
26 | ||
27 | ||
28 | def test_str_to_datetime_1(): | |
29 | dt = str_to_datetime('2020-03-03T09:21:43.636153304Z') | |
30 | assert type(dt) is datetime.datetime | |
31 | assert dt.tzinfo is not None | |
32 | ||
33 | ||
34 | def test_str_to_datetime_2(): | |
35 | dt = str_to_datetime('2020-03-03T15:52:30.136257504-0600') | |
36 | assert type(dt) is datetime.datetime | |
37 | assert dt.tzinfo is not None | |
38 | ||
39 | ||
40 | def test_str_to_datetime_3(): | |
41 | dt = str_to_datetime('2020-03-03T15:52:30.136257504') | |
42 | assert type(dt) is datetime.datetime | |
43 | assert dt.tzinfo is not None | |
44 | ||
45 | ||
46 | def test_str_to_datetime_invalid_format_1(): | |
47 | with pytest.raises(ValueError): | |
48 | str_to_datetime('2020-03-03 15:52:30.136257504') | |
49 | ||
50 | ||
51 | def test_str_to_datetime_invalid_format_2(): | |
52 | with pytest.raises(ValueError): | |
53 | str_to_datetime('2020-03-03') | |
54 | ||
55 | ||
56 | def test_datetime_now_1(): | |
57 | dt = str_to_datetime('2020-03-03T09:21:43.636153304Z') | |
58 | dt_now = datetime_now() | |
59 | assert type(dt_now) is datetime.datetime | |
60 | assert dt_now.tzinfo is not None | |
61 | assert dt < dt_now |