Current section

13 Versions

Jump to

Compare versions

5 files changed
+34 additions
-21 deletions
  @@ -1,5 +1,5 @@
1 1 {<<"name">>,<<"sumo_db">>}.
2 - {<<"version">>,<<"0.6.0">>}.
2 + {<<"version">>,<<"0.6.1">>}.
3 3 {<<"requirements">>,
4 4 #{<<"lager">> => #{<<"app">> => <<"lager">>,<<"optional">> => false,<<"requirement">> => <<"3.2.1">>},
5 5 <<"uuid_erl">> => #{<<"app">> => <<"uuid">>,<<"optional">> => false,<<"requirement">> => <<"1.5.2-rc1">>},
  @@ -2,6 +2,7 @@
2 2
3 3 %% Test Cases - Helpers
4 4 -export([
5 + create_schema/1,
5 6 find/1,
6 7 find_all/1,
7 8 find_by/1,
  @@ -17,6 +18,14 @@
17 18 %%% Test Cases - Helpers
18 19 %%%=============================================================================
19 20
21 + -spec create_schema(config()) -> ok.
22 + create_schema(Config) ->
23 + ok = sumo:create_schema(),
24 + Tables = mnesia:system_info(tables),
25 + {_, Name} = lists:keyfind(name, 1, Config),
26 + true = lists:member(Name, Tables),
27 + ok.
28 +
20 29 -spec find(config()) -> ok.
21 30 find(Config) ->
22 31 {_, Name} = lists:keyfind(name, 1, Config),
  @@ -15,49 +15,53 @@
15 15
16 16 -spec find_by_sort(config()) -> ok.
17 17 find_by_sort(Config) ->
18 - {_, Module} = lists:keyfind(module, 1, Config),
18 + {_, Name} = lists:keyfind(name, 1, Config),
19 + Module = sumo_config:get_prop_value(Name, module),
19 20
20 - [First, Second | _] = sumo:find_by(Module, [{age, '>', 2}], age, 0, 0),
21 + [First, Second | _] = sumo:find_by(Name, [{age, '>', 2}], age, 0, 0),
21 22
22 23 <<"B">> = Module:name(First),
23 24 <<"D">> = Module:name(Second),
24 25
25 26 [First1, Second1 | _] = sumo:find_by(
26 - Module,
27 + Name,
27 28 [{age, '>', 2}, {age, '=<', 5}],
28 29 {age, desc}, 0, 0),
29 30 <<"C">> = Module:name(First1),
30 31 <<"D">> = Module:name(Second1),
31 32
32 - [_, _, _] = sumo:find_by(Module, [{age, '>', 2}, {age, '=<', 5}], 0, 0),
33 + [_, _, _] = sumo:find_by(Name, [{age, '>', 2}, {age, '=<', 5}], 0, 0),
33 34 ok.
34 35
35 36 -spec find_all_sort(config()) -> ok.
36 37 find_all_sort( Config) ->
37 - {_, Module} = lists:keyfind(module, 1, Config),
38 + {_, Name} = lists:keyfind(name, 1, Config),
39 + Module = sumo_config:get_prop_value(Name, module),
38 40
39 - [First, Second | _] = sumo:find_all(Module, age, 0, 0),
41 + [First, Second | _] = sumo:find_all(Name, age, 0, 0),
40 42 <<"F">> = Module:name(First),
41 43 <<"E">> = Module:name(Second),
42 44
43 45 [First1, Second1 | _] = sumo:find_all(
44 - Module, [{last_name, desc}, {age, asc}], 0, 0),
46 + Name, [{last_name, desc}, {age, asc}], 0, 0),
45 47 <<"F">> = Module:name(First1),
46 48 <<"A">> = Module:name(Second1),
47 49
48 - [First2, Second2 | _] = sumo:find_all(Module, last_name, 0, 0),
50 + [First2, Second2 | _] = sumo:find_all(Name, last_name, 0, 0),
49 51 <<"E">> = Module:name(First2),
50 52 <<"D">> = Module:name(Second2),
51 53 ok.
52 54
53 55 -spec init_store(module()) -> ok.
54 - init_store(Module) ->
55 - sumo:create_schema(Module),
56 - sumo:delete_all(Module),
56 + init_store(Name) ->
57 + sumo:create_schema(Name),
58 + Module = sumo_config:get_prop_value(Name, module),
59 + sumo:delete_all(Name),
57 60
58 - sumo:persist(Module, Module:new(<<"A">>, <<"E">>, 6)),
59 - sumo:persist(Module, Module:new(<<"B">>, <<"D">>, 3)),
60 - sumo:persist(Module, Module:new(<<"C">>, <<"C">>, 5)),
61 - sumo:persist(Module, Module:new(<<"D">>, <<"B">>, 4)),
62 - sumo:persist(Module, Module:new(<<"E">>, <<"A">>, 2)),
63 - sumo:persist(Module, Module:new(<<"F">>, <<"E">>, 1)).
61 + sumo:persist(Name, Module:new(<<"A">>, <<"E">>, 6)),
62 + sumo:persist(Name, Module:new(<<"B">>, <<"D">>, 3)),
63 + sumo:persist(Name, Module:new(<<"C">>, <<"C">>, 5)),
64 + sumo:persist(Name, Module:new(<<"D">>, <<"B">>, 4)),
65 + sumo:persist(Name, Module:new(<<"E">>, <<"A">>, 2)),
66 + sumo:persist(Name, Module:new(<<"F">>, <<"E">>, 1)),
67 + ok.
\ No newline at end of file
  @@ -119,8 +119,8 @@ get_docs() ->
119 119 %% @doc Creates the schema for all known (configured) docs.
120 120 -spec create_schema() -> ok.
121 121 create_schema() ->
122 - lists:foreach(fun({DocName, Store}) ->
123 - create_schema(DocName, Store)
122 + lists:foreach(fun({DocName, _, _}) ->
123 + create_schema(DocName)
124 124 end, get_docs()).
125 125
126 126 %% @doc Returns 1 doc that matches the given Conditions.
  @@ -1,6 +1,6 @@
1 1 {application,sumo_db,
2 2 [{description,"A simple persistance layer"},
3 - {vsn,"0.6.0"},
3 + {vsn,"0.6.1"},
4 4 {id,"sumo_db"},
5 5 {registered,[]},
6 6 {applications,[kernel,stdlib,sasl,lager,crypto,worker_pool,