1
- from datetime import datetime
1
+ from datetime import datetime , timezone
2
2
3
3
from sqlalchemy import text
4
4
@@ -35,8 +35,8 @@ def _get_count_and_timestamp(self, user):
35
35
row = result .fetchone ()
36
36
return {
37
37
"count" : row .count ,
38
- "min_listened_at" : row .min_listened_at . replace ( tzinfo = None ) ,
39
- "max_listened_at" : row .max_listened_at . replace ( tzinfo = None )
38
+ "min_listened_at" : row .min_listened_at ,
39
+ "max_listened_at" : row .max_listened_at
40
40
}
41
41
42
42
def test_delete_listens_update_metadata (self ):
@@ -49,35 +49,51 @@ def test_delete_listens_update_metadata(self):
49
49
update_user_listen_data ()
50
50
51
51
metadata_1 = self ._get_count_and_timestamp (user_1 )
52
- self .assertEqual (metadata_1 ["min_listened_at" ], datetime .utcfromtimestamp (1400000000 ))
53
- self .assertEqual (metadata_1 ["max_listened_at" ], datetime .utcfromtimestamp (1400000200 ))
52
+ self .assertEqual (metadata_1 ["min_listened_at" ], datetime .fromtimestamp (1400000000 , timezone . utc ))
53
+ self .assertEqual (metadata_1 ["max_listened_at" ], datetime .fromtimestamp (1400000200 , timezone . utc ))
54
54
self .assertEqual (metadata_1 ["count" ], 5 )
55
55
56
56
metadata_2 = self ._get_count_and_timestamp (user_2 )
57
- self .assertEqual (metadata_2 ["min_listened_at" ], datetime .utcfromtimestamp (1400000000 ))
58
- self .assertEqual (metadata_2 ["max_listened_at" ], datetime .utcfromtimestamp (1400000200 ))
57
+ self .assertEqual (metadata_2 ["min_listened_at" ], datetime .fromtimestamp (1400000000 , timezone . utc ))
58
+ self .assertEqual (metadata_2 ["max_listened_at" ], datetime .fromtimestamp (1400000200 , timezone . utc ))
59
59
self .assertEqual (metadata_2 ["count" ], 5 )
60
60
61
61
# to test the case when the update script has not run since delete, so metadata in listen_user_metadata does
62
62
# account for this listen and deleting should not affect it either.
63
63
self ._create_test_data (user_1 , "timescale_listenstore_test_listens_2.json" )
64
- self .ls .delete_listen (datetime .utcfromtimestamp (1400000500 ), user_1 ["id" ], "4269ddbc-9241-46da-935d-4fa9e0f7f371" )
64
+ self .ls .delete_listen (
65
+ datetime .fromtimestamp (1400000500 , timezone .utc ),
66
+ user_1 ["id" ],
67
+ "4269ddbc-9241-46da-935d-4fa9e0f7f371"
68
+ )
65
69
66
70
# test min_listened_at is updated if that listen is deleted for a user
67
- self .ls .delete_listen (datetime .utcfromtimestamp (1400000000 ), user_1 ["id" ], "4269ddbc-9241-46da-935d-4fa9e0f7f371" )
71
+ self .ls .delete_listen (
72
+ datetime .fromtimestamp (1400000000 , timezone .utc ),
73
+ user_1 ["id" ],
74
+ "4269ddbc-9241-46da-935d-4fa9e0f7f371"
75
+ )
68
76
# test max_listened_at is updated if that listen is deleted for a user
69
- self .ls .delete_listen (datetime .utcfromtimestamp (1400000200 ), user_1 ["id" ], "db072fa7-0c7f-4f55-b90f-a88da531b219" )
77
+ self .ls .delete_listen (
78
+ datetime .fromtimestamp (1400000200 , timezone .utc ),
79
+ user_1 ["id" ],
80
+ "db072fa7-0c7f-4f55-b90f-a88da531b219"
81
+ )
70
82
# test normal listen delete updates correctly
71
- self .ls .delete_listen (datetime .utcfromtimestamp (1400000100 ), user_2 ["id" ], "08ade1eb-800e-4ad8-8184-32941664ac02" )
83
+ self .ls .delete_listen (
84
+ datetime .fromtimestamp (1400000100 , timezone .utc ),
85
+ user_2 ["id" ],
86
+ "08ade1eb-800e-4ad8-8184-32941664ac02"
87
+ )
72
88
73
89
delete_listens ()
74
90
75
91
metadata_1 = self ._get_count_and_timestamp (user_1 )
76
- self .assertEqual (metadata_1 ["min_listened_at" ], datetime .utcfromtimestamp (1400000050 ))
77
- self .assertEqual (metadata_1 ["max_listened_at" ], datetime .utcfromtimestamp (1400000150 ))
92
+ self .assertEqual (metadata_1 ["min_listened_at" ], datetime .fromtimestamp (1400000050 , timezone . utc ))
93
+ self .assertEqual (metadata_1 ["max_listened_at" ], datetime .fromtimestamp (1400000150 , timezone . utc ))
78
94
self .assertEqual (metadata_1 ["count" ], 3 )
79
95
80
96
metadata_2 = self ._get_count_and_timestamp (user_2 )
81
- self .assertEqual (metadata_2 ["min_listened_at" ], datetime .utcfromtimestamp (1400000000 ))
82
- self .assertEqual (metadata_2 ["max_listened_at" ], datetime .utcfromtimestamp (1400000200 ))
97
+ self .assertEqual (metadata_2 ["min_listened_at" ], datetime .fromtimestamp (1400000000 , timezone . utc ))
98
+ self .assertEqual (metadata_2 ["max_listened_at" ], datetime .fromtimestamp (1400000200 , timezone . utc ))
83
99
self .assertEqual (metadata_2 ["count" ], 4 )
0 commit comments