/
flow_test.erl
58 lines (46 loc) · 1.78 KB
/
flow_test.erl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
-module(flow_test).
-ifdef(TEST).
-compile(export_all).
-include_lib("eunit/include/eunit.hrl").
persistence_test_() ->
{"Persistence",
setup, fun test_util:flushall/0,
fun(_) -> test_util:flushall() end,
fun()->
{ok, Client} = erldis:connect(),
{Key, {Data, Data1}, {Make, Make1}} = get_assets(),
?assertEqual({ok, [Data]}, reducks:snap(Client, Key, {Make})),
%% Data persist. New value can't replace old one
?assertNot({ok, [Data1]} == reducks:snap(Client, Key, {Make1})),
?assertEqual({ok, [Data]}, reducks:snap(Client, Key, {Make1})),
erldis:delkeys(Client, [Key]),
?assertEqual({ok, [Data1]}, reducks:snap(Client, Key, {Make1})),
erldis:quit(Client)
end
}.
equal_test_()->
{"Equal",
setup, fun test_util:flushall/0,
fun(_) -> test_util:flushall() end,
fun()->
{ok, Client} = erldis:connect(),
{Key, {Data, Data1}, {Make, Make1}} = get_assets(),
?assertEqual({ok, [Data]},
reducks:snap(Client, Key, Data, {Make})),
?assertEqual({ok, [Data]},
reducks:snap(Client, Key, Data1, {Make1})),
?assertEqual({ok, equal},
reducks:snap(Client, Key, Data, {Make})),
erldis:quit(Client)
end
}.
get_assets() ->
Key = <<"persistence:key">>,
Data = {<<"field">>, <<"value1">>},
Data1 = {<<"field">>, <<"value2">>},
Make = make_maker([Data], 120000),
Make1 = make_maker([Data1], 120000),
{Key, {Data, Data1}, {Make, Make1}}.
make_maker(Data, TTL) ->
fun() -> {{data, Data}, {ttl, TTL}} end.
-endif.