Skip to content

Commit 5a3c2db

Browse files
committed
test: add information getter test cases
Signed-off-by: Matteo Cafasso <[email protected]>
1 parent 91927ca commit 5a3c2db

File tree

1 file changed

+31
-11
lines changed

1 file changed

+31
-11
lines changed

test/cache_test.exs

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,15 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
1515
setup do
1616
cache = :test_cache
1717
cache_ttl = :test_cache_ttl
18+
cache_simple = :cache_simple
1819

1920
on_exit fn ->
2021
Mnesia.delete_table(cache)
2122
Mnesia.delete_table(cache_ttl)
23+
Mnesia.delete_table(cache_simple)
2224
end
2325

26+
cache_simple_options = [persistence: :memory]
2427
cache_options = [size: 1, ttl: nil, persistence: :memory]
2528
cache_ttl_options = [size: 1, ttl: Timer.seconds(1), persistence: :memory]
2629

@@ -32,18 +35,24 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
3235
start: {MessageCache,
3336
:start_link,
3437
[cache_ttl, cache_ttl_options]}})
38+
start_supervised!(%{id: cache_simple,
39+
start: {MessageCache,
40+
:start_link,
41+
[cache_simple, cache_simple_options]}})
3542

36-
%{cache: cache, cache_ttl: cache_ttl}
43+
%{cache: cache, cache_ttl: cache_ttl, cache_simple: cache_simple}
3744
end
3845

39-
test "basic insertion and lookup", %{cache: cache, cache_ttl: _} do
46+
test "basic insertion and lookup",
47+
%{cache: cache, cache_ttl: _, cache_simple: _} do
4048
assert MessageCache.member?(cache, "foo") == false
4149

4250
MessageCache.put(cache, "foo")
4351
assert MessageCache.member?(cache, "foo") == true
4452
end
4553

46-
test "TTL at insertion", %{cache: cache, cache_ttl: _} do
54+
test "TTL at insertion",
55+
%{cache: cache, cache_ttl: _, cache_simple: _} do
4756
assert MessageCache.member?(cache, "foo") == false
4857

4958
MessageCache.put(cache, "foo", Timer.seconds(1))
@@ -54,7 +63,8 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
5463
assert MessageCache.member?(cache, "foo") == false
5564
end
5665

57-
test "TTL at table creation", %{cache: _, cache_ttl: cache} do
66+
test "TTL at table creation",
67+
%{cache: _, cache_ttl: cache, cache_simple: _} do
5868
assert MessageCache.member?(cache, "foo") == false
5969

6070
MessageCache.put(cache, "foo")
@@ -65,7 +75,8 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
6575
assert MessageCache.member?(cache, "foo") == false
6676
end
6777

68-
test "entries are deleted after TTL", %{cache: cache, cache_ttl: _} do
78+
test "entries are deleted after TTL",
79+
%{cache: cache, cache_ttl: _, cache_simple: _} do
6980
assert MessageCache.member?(cache, "foo") == false
7081

7182
MessageCache.put(cache, "foo", Timer.seconds(1))
@@ -76,7 +87,8 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
7687
assert Mnesia.transaction(fn -> Mnesia.all_keys(cache) end) == {:atomic, []}
7788
end
7889

79-
test "entries are deleted if cache is full", %{cache: cache, cache_ttl: _} do
90+
test "entries are deleted if cache is full",
91+
%{cache: cache, cache_ttl: _, cache_simple: _} do
8092
assert MessageCache.member?(cache, "foo") == false
8193
assert MessageCache.member?(cache, "bar") == false
8294

@@ -88,7 +100,7 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
88100
assert MessageCache.member?(cache, "foo") == false
89101
end
90102

91-
test "cache entry deletion", %{cache: cache, cache_ttl: _} do
103+
test "cache entry deletion", %{cache: cache, cache_ttl: _, cache_simple: _} do
92104
MessageCache.put(cache, "foo")
93105
assert MessageCache.member?(cache, "foo") == true
94106

@@ -97,13 +109,21 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
97109
assert MessageCache.member?(cache, "foo") == false
98110
end
99111

100-
test "cache information", %{cache: cache, cache_ttl: _} do
112+
test "cache information",
113+
%{cache: cache, cache_ttl: _, cache_simple: _} do
101114
MessageCache.put(cache, "foo")
102115

103-
assert MessageCache.info(cache) == [size: 1, entries: 1]
116+
[size: 1, bytes: _, entries: 1] = MessageCache.info(cache)
117+
end
118+
119+
test "simple cache information",
120+
%{cache: _, cache_ttl: _, cache_simple: cache_simple} do
121+
MessageCache.put(cache_simple, "foo")
122+
123+
[bytes: _, entries: 1] = MessageCache.info(cache_simple)
104124
end
105125

106-
test "flush the cache", %{cache: cache, cache_ttl: _} do
126+
test "flush the cache", %{cache: cache, cache_ttl: _, cache_simple: _} do
107127
MessageCache.put(cache, "foo")
108128
assert MessageCache.member?(cache, "foo") == true
109129

@@ -112,7 +132,7 @@ defmodule RabbitMQ.MessageDeduplicationPlugin.Cache.Test do
112132
assert MessageCache.member?(cache, "foo") == false
113133
end
114134

115-
test "drop the cache", %{cache: cache, cache_ttl: _} do
135+
test "drop the cache", %{cache: cache, cache_ttl: _, cache_simple: _} do
116136
:ok = MessageCache.drop(cache)
117137

118138
assert Enum.member?(Mnesia.system_info(:tables), cache) == false

0 commit comments

Comments
 (0)