@@ -135,6 +135,21 @@ mod tests {
135
135
. returning ( ApiToken :: as_returning ( ) )
136
136
. get_result ( & mut conn) ?;
137
137
138
+ // Insert a few tokens that are not set to expire.
139
+ let not_expired_offset = EXPIRY_THRESHOLD + 1 ;
140
+ for i in 0 ..3 {
141
+ let token = PlainToken :: generate ( ) ;
142
+ diesel:: insert_into ( api_tokens:: table)
143
+ . values ( (
144
+ api_tokens:: user_id. eq ( user. id ) ,
145
+ api_tokens:: name. eq ( format ! ( "test_token{i}" ) ) ,
146
+ api_tokens:: token. eq ( token. hashed ( ) ) ,
147
+ api_tokens:: expired_at. eq ( now. nullable ( ) + ( not_expired_offset) . day ( ) ) ,
148
+ ) )
149
+ . returning ( ApiToken :: as_returning ( ) )
150
+ . get_result ( & mut conn) ?;
151
+ }
152
+
138
153
// Check that the token is about to expire.
139
154
check ( & emails, & mut conn) ?;
140
155
@@ -150,6 +165,14 @@ mod tests {
150
165
. first :: < ApiToken > ( & mut conn) ?;
151
166
assert ! ( update_token. expiry_notification_at. is_some( ) ) ;
152
167
168
+ // Check that the token is not about to expire.
169
+ let tokens = api_tokens:: table
170
+ . filter ( api_tokens:: revoked. eq ( false ) )
171
+ . filter ( api_tokens:: expiry_notification_at. is_null ( ) )
172
+ . select ( ApiToken :: as_select ( ) )
173
+ . load :: < ApiToken > ( & mut conn) ?;
174
+ assert_eq ! ( tokens. len( ) , 3 ) ;
175
+
153
176
// Insert a already expired token.
154
177
let token = PlainToken :: generate ( ) ;
155
178
diesel:: insert_into ( api_tokens:: table)
0 commit comments