mirror of
https://github.com/actix/actix-extras.git
synced 2025-06-26 10:27:42 +02:00
fix: bad interaction between session state changes and renewal (#265)
This commit is contained in:
@ -68,3 +68,43 @@ async fn session_entries() {
|
||||
map.contains_key("test_str");
|
||||
map.contains_key("test_num");
|
||||
}
|
||||
#[actix_web::test]
|
||||
async fn insert_session_after_renew() {
|
||||
let session = test::TestRequest::default().to_srv_request().get_session();
|
||||
|
||||
session.insert("test_val", "val").unwrap();
|
||||
assert_eq!(session.status(), SessionStatus::Changed);
|
||||
|
||||
session.renew();
|
||||
assert_eq!(session.status(), SessionStatus::Renewed);
|
||||
|
||||
session.insert("test_val1", "val1").unwrap();
|
||||
assert_eq!(session.status(), SessionStatus::Renewed);
|
||||
}
|
||||
#[actix_web::test]
|
||||
async fn remove_session_after_renew() {
|
||||
let session = test::TestRequest::default().to_srv_request().get_session();
|
||||
|
||||
session.insert("test_val", "val").unwrap();
|
||||
session.remove("test_val").unwrap();
|
||||
assert_eq!(session.status(), SessionStatus::Changed);
|
||||
|
||||
session.renew();
|
||||
session.insert("test_val", "val").unwrap();
|
||||
session.remove("test_val").unwrap();
|
||||
assert_eq!(session.status(), SessionStatus::Renewed);
|
||||
}
|
||||
|
||||
#[actix_web::test]
|
||||
async fn clear_session_after_renew() {
|
||||
let session = test::TestRequest::default().to_srv_request().get_session();
|
||||
|
||||
session.clear();
|
||||
assert_eq!(session.status(), SessionStatus::Changed);
|
||||
|
||||
session.renew();
|
||||
assert_eq!(session.status(), SessionStatus::Renewed);
|
||||
|
||||
session.clear();
|
||||
assert_eq!(session.status(), SessionStatus::Renewed);
|
||||
}
|
||||
|
Reference in New Issue
Block a user