@@ -59,45 +59,76 @@ defmodule EpochtalkServerWeb.SessionTest do
5959 test "deletes an expired user session when logging in" , % { conn: conn , user: user } do
6060 remember_me = false
6161 # create session that should be deleted
62- { :ok , authed_user_to_delete , _token , authed_conn_to_delete } = Session . create ( user , remember_me , conn )
62+ { :ok , authed_user_to_delete , _token , authed_conn_to_delete } =
63+ Session . create ( user , remember_me , conn )
64+
6365 session_id_to_delete = authed_conn_to_delete . private . guardian_default_claims [ "jti" ]
6466 # create session that shouldn't be deleted
65- { :ok , authed_user_to_persist , _token , authed_conn_to_persist } = Session . create ( user , remember_me , conn )
67+ { :ok , authed_user_to_persist , _token , authed_conn_to_persist } =
68+ Session . create ( user , remember_me , conn )
69+
6670 session_id_to_persist = authed_conn_to_persist . private . guardian_default_claims [ "jti" ]
6771 # check that all sessions are active
6872 { :ok , resource_to_delete } = Session . get_resource ( user . id , session_id_to_delete )
69- % { id: session_user_id_to_delete , username: session_user_username_to_delete } = resource_to_delete
73+
74+ % { id: session_user_id_to_delete , username: session_user_username_to_delete } =
75+ resource_to_delete
76+
7077 assert session_user_id_to_delete == user . id
7178 assert session_user_username_to_delete == user . username
7279 { :ok , resource_to_persist } = Session . get_resource ( user . id , session_id_to_persist )
73- % { id: session_user_id_to_persist , username: session_user_username_to_persist } = resource_to_persist
80+
81+ % { id: session_user_id_to_persist , username: session_user_username_to_persist } =
82+ resource_to_persist
83+
7484 assert session_user_id_to_persist == user . id
7585 assert session_user_username_to_persist == user . username
7686 # change expiration of session to delete to UTC 0
7787 expiration_utc = 0
78- Redix . command ( :redix , [ "ZADD" , "user:#{ user . id } :sessions" , expiration_utc , session_id_to_delete ] )
88+
89+ Redix . command ( :redix , [
90+ "ZADD" ,
91+ "user:#{ user . id } :sessions" ,
92+ expiration_utc ,
93+ session_id_to_delete
94+ ] )
95+
7996 # create a new session (should delete expired sessions)
8097 { :ok , new_authed_user , _token , new_authed_conn } = Session . create ( user , remember_me , conn )
8198 new_session_id = new_authed_conn . private . guardian_default_claims [ "jti" ]
8299 # check that active sessions are still active
83100 { :ok , resource_to_persist } = Session . get_resource ( user . id , session_id_to_persist )
84- % { id: session_user_id_to_persist , username: session_user_username_to_persist } = resource_to_persist
101+
102+ % { id: session_user_id_to_persist , username: session_user_username_to_persist } =
103+ resource_to_persist
104+
85105 assert session_user_id_to_persist == user . id
86106 assert session_user_username_to_persist == user . username
87- authenticate_persisted_conn = get ( authed_conn_to_persist , Routes . user_path ( authed_conn_to_persist , :authenticate ) )
107+
108+ authenticate_persisted_conn =
109+ get ( authed_conn_to_persist , Routes . user_path ( authed_conn_to_persist , :authenticate ) )
110+
88111 assert user . id == json_response ( authenticate_persisted_conn , 200 ) [ "id" ]
89112 { :ok , new_resource } = Session . get_resource ( user . id , new_session_id )
90113 % { id: new_session_user_id , username: new_session_user_username } = new_resource
91114 assert new_session_user_id == user . id
92115 assert new_session_user_username == user . username
93- new_authenticate_conn = get ( new_authed_conn , Routes . user_path ( new_authed_conn , :authenticate ) )
116+
117+ new_authenticate_conn =
118+ get ( new_authed_conn , Routes . user_path ( new_authed_conn , :authenticate ) )
119+
94120 assert user . id == json_response ( new_authenticate_conn , 200 ) [ "id" ]
95121 # check that expired session is not active
96122 unauthed_resource = Session . get_resource ( user . id , session_id_to_delete )
123+
97124 assert unauthed_resource ==
98125 { :error , "No session for user_id #{ user . id } with id #{ session_id_to_delete } " }
99- authenticate_deleted_conn = get ( authed_conn_to_delete , Routes . user_path ( authed_conn_to_delete , :authenticate ) )
100- assert % { "error" => "Unauthorized" , "message" => "No resource found" } = json_response ( authenticate_deleted_conn , 401 )
126+
127+ authenticate_deleted_conn =
128+ get ( authed_conn_to_delete , Routes . user_path ( authed_conn_to_delete , :authenticate ) )
129+
130+ assert % { "error" => "Unauthorized" , "message" => "No resource found" } =
131+ json_response ( authenticate_deleted_conn , 401 )
101132 end
102133 end
103134
0 commit comments