Skip to content

Commit d95f8b5

Browse files
committed
Implement Hound.SessionServer.all_sessions function
1 parent 06d2907 commit d95f8b5

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/hound/session_server.ex

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ defmodule Hound.SessionServer do
4949
end
5050

5151

52+
def all_sessions do
53+
:ets.foldl(fn {_pid, _ref, _session_id, sessions}, acc -> acc ++ Map.values(sessions) end, [], @name)
54+
end
55+
56+
5257
def destroy_sessions_for_pid(pid) do
5358
GenServer.call(@name, {:destroy_sessions, pid}, 60000)
5459
end

test/hound_test.exs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@ defmodule HoundTest do
1919
assert is_binary(Hound.current_session_id)
2020
end
2121

22+
test "should return all sessions" do
23+
assert Hound.SessionServer.all_sessions |> Enum.member?(Hound.current_session_id)
24+
end
2225

23-
test "Should destroy all sessions for current process" do
26+
test "should destroy all sessions for current process" do
2427
Hound.end_session
2528
assert Hound.SessionServer.all_sessions_for_pid(self()) == %{}
2629
end

0 commit comments

Comments
 (0)