Skip to content
This repository has been archived by the owner on May 2, 2023. It is now read-only.

Commit

Permalink
Merge eadbb74 into f8a7a83
Browse files Browse the repository at this point in the history
  • Loading branch information
goncalotomas committed Oct 1, 2018
2 parents f8a7a83 + eadbb74 commit 7591af3
Show file tree
Hide file tree
Showing 11 changed files with 51 additions and 54 deletions.
15 changes: 10 additions & 5 deletions .travis.yml
Expand Up @@ -2,19 +2,24 @@ sudo: false
dist: trusty
language: erlang
otp_release:
- 20.2
- 20.3
- 21.1
services:
- docker
install:
- rebar3 local upgrade
- chmod u+x /home/travis/.cache/rebar3/bin/rebar3
- cp /home/travis/.cache/rebar3/bin/rebar3 /usr/local/bin/
- make all
- make lint
- make xref
- make dialyzer
- rebar3 xref
- rebar3 dialyzer
- rebar3 as lint lint
before_script:
- epmd -daemon
- sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
script:
- make test
- rebar3 eunit
- rebar3 ct --readable=false
- rebar3 as test coveralls send
# - make bench
after_failure:
Expand Down
11 changes: 6 additions & 5 deletions Makefile
Expand Up @@ -37,11 +37,14 @@ compile:
console: rel
./_build/default/rel/fmke/bin/env console

ct:
${REBAR} ct

dialyzer:
${REBAR} dialyzer

kv_driver_test:
ct_run -pa ./_build/default/lib/*/ebin -logdir logs -suite test/ct/kv_driver_SUITE
eunit:
${REBAR} eunit

lint:
rebar3 as lint lint
Expand Down Expand Up @@ -116,9 +119,7 @@ stop-redis:
stop-riak:
./scripts/stop_data_store.sh riak

test: all
rebar3 eunit
rebar3 ct
test: all eunit ct

xref:
rebar3 xref
2 changes: 1 addition & 1 deletion README.md
@@ -1,5 +1,5 @@
# FMKe
![Erlang Version](https://img.shields.io/badge/Erlang%2FOTP-20-brightgreen.svg)
![Erlang Version](https://img.shields.io/badge/Erlang%2FOTP-%E2%89%A520-brightgreen.svg)
[![Build Status](https://travis-ci.org/goncalotomas/FMKe.svg?branch=master)](https://travis-ci.org/goncalotomas/FMKe)
[![Coverage Status](https://coveralls.io/repos/github/goncalotomas/FMKe/badge.svg?branch=master)](https://coveralls.io/github/goncalotomas/FMKe?branch=master)
![Dialyzer Enabled](https://img.shields.io/badge/dialyzer-enabled-brightgreen.svg)
Expand Down
9 changes: 4 additions & 5 deletions rebar.config
@@ -1,13 +1,12 @@
{deps, [
%% Hex dependencies
{eredis_cluster, "~>0.5"},
{jsx, "~>2.8"},
{lager, "~>3.5"},
{jsx, "~>2.9"},
{lager, "~>3.6"},
{poolboy, "~>1.5"},
{cowboy, "~>2.2"},
{cowboy, "~>2.4"},
{riak_client, "~>2.5"},
%% Non-hex dependencies in legacy mode
{antidote_pb, {git, "https://github.com/SyncFree/antidote_pb", {tag, "error-handling"}}}
{antidotec_pb, "~>0.2"}
]}.

{eunit_opts, [
Expand Down
30 changes: 11 additions & 19 deletions rebar.lock
@@ -1,40 +1,32 @@
{"1.1.0",
[{<<"antidote_pb">>,
{git,"https://github.com/SyncFree/antidote_pb",
{ref,"09a2f884a6e0b388475576701b096741d48f48fb"}},
0},
[{<<"antidote_pb_codec">>,{pkg,<<"antidote_pb_codec">>,<<"0.0.3">>},1},
{<<"antidotec_pb">>,{pkg,<<"antidotec_pb">>,<<"0.2.4">>},0},
{<<"cowboy">>,{pkg,<<"cowboy">>,<<"2.4.0">>},0},
{<<"cowlib">>,{pkg,<<"cowlib">>,<<"2.3.0">>},1},
{<<"eredis">>,{pkg,<<"eredis">>,<<"1.1.0">>},1},
{<<"eredis_cluster">>,{pkg,<<"eredis_cluster">>,<<"0.5.11">>},0},
{<<"goldrush">>,{pkg,<<"goldrush">>,<<"0.1.9">>},1},
{<<"hamcrest">>,{pkg,<<"basho_hamcrest">>,<<"0.4.1">>},2},
{<<"jsx">>,{pkg,<<"jsx">>,<<"2.9.0">>},0},
{<<"lager">>,{pkg,<<"lager">>,<<"3.6.2">>},0},
{<<"meck">>,
{git,"https://github.com/basho/meck.git",
{ref,"dde759050eff19a1a80fd854d7375174b191665d"}},
3},
{<<"lager">>,{pkg,<<"lager">>,<<"3.6.6">>},0},
{<<"poolboy">>,{pkg,<<"poolboy">>,<<"1.5.1">>},0},
{<<"protobuffs">>,
{git,"git://github.com/basho/erlang_protobuffs.git",
{ref,"0dde9d3b37b7bec3a4dfb0e87684dd7039e169ab"}},
2},
{<<"ranch">>,{pkg,<<"ranch">>,<<"1.5.0">>},1},
{<<"riak_client">>,{pkg,<<"riak_client">>,<<"2.5.3">>},0},
{<<"riak_pb">>,
{git,"git://github.com/syncfree/riak_pb",
{ref,"322309b2bb69b38191a51b21247a71b5e412e656"}},
1}]}.
{<<"riak_pb">>,{pkg,<<"riak_pb">>,<<"2.3.2">>},1}]}.
[
{pkg_hash,[
{<<"antidote_pb_codec">>, <<"692A14320C6A78E5906E4EF182D5C09C0BC0CDEFCB3C09338C08FECA3F0226CB">>},
{<<"antidotec_pb">>, <<"9B6A760D75AFF0BCFC6B136DE6E4065B4FB4AED5D6AF18246FDC5B8F7F64C12F">>},
{<<"cowboy">>, <<"F1B72FABE9C8A5FC64AC5AC85FB65474D64733D1DF52A26FAD5D4BA3D9F70A9F">>},
{<<"cowlib">>, <<"BBD58EF537904E4F7C1DD62E6AA8BC831C8183CE4EFA9BD1150164FE15BE4CAA">>},
{<<"eredis">>, <<"8D8D74496F35216679B97726B75FB1C8715E99DD7F3EF9F9824A2264C3E0AAC0">>},
{<<"eredis_cluster">>, <<"383E44C47B4DF06145448680D84BBC95A7E8CD708E9100BEB0E461ECFAB506FE">>},
{<<"goldrush">>, <<"F06E5D5F1277DA5C413E84D5A2924174182FB108DABB39D5EC548B27424CD106">>},
{<<"hamcrest">>, <<"FB7B2C92D252A1E9DB936750B86089ADDAEBEB8F87967FB4BBDDA61E8863338E">>},
{<<"jsx">>, <<"D2F6E5F069C00266CAD52FB15D87C428579EA4D7D73A33669E12679E203329DD">>},
{<<"lager">>, <<"2C72950A0E75FFD927DD35BC85EA30E7680A264C4BBD08B328250871AC456CC2">>},
{<<"lager">>, <<"23C8F5ABC4189F46804791E16BF6421C14EBC5B529DC113BC54639C6C62F255D">>},
{<<"poolboy">>, <<"6B46163901CFD0A1B43D692657ED9D7E599853B3B21B95AE5AE0A777CF9B6CA8">>},
{<<"ranch">>, <<"F04166F456790FEE2AC1AA05A02745CC75783C2BFB26D39FAF6AEFC9A3D3A58A">>},
{<<"riak_client">>, <<"6B78373E576D80C7020BCBDA3B2C102221D32863580404F59D8791E5CDC19E79">>}]}
{<<"riak_client">>, <<"6B78373E576D80C7020BCBDA3B2C102221D32863580404F59D8791E5CDC19E79">>},
{<<"riak_pb">>, <<"48FFBF66DBB3F136AB9A7134BAC4E496754BAA5EF58C4F50A61326736D996390">>}]}
].
2 changes: 1 addition & 1 deletion src/fmke.app.src
Expand Up @@ -12,7 +12,7 @@
lager,
cowboy,
jsx,
antidote_pb,
antidotec_pb,
riak_pb,
riak_client,
eredis,
Expand Down
16 changes: 10 additions & 6 deletions src/fmke_driver_opt_antidote.erl
Expand Up @@ -43,9 +43,9 @@

-define(SERVER, ?MODULE).

-define(MAP, antidote_crdt_gmap).
-define(LWWREG, antidote_crdt_lwwreg).
-define(ORSET, antidote_crdt_orset).
-define(MAP, antidote_crdt_map_go).
-define(LWWREG, antidote_crdt_register_lww).
-define(ORSET, antidote_crdt_set_aw).

%% Type definitions
-type update() :: {{binary(), atom(), binary()}, atom(), any()}.
Expand Down Expand Up @@ -528,10 +528,14 @@ txn_update_objects(ObjectUpdates, {Pid, TxnDetails}) ->
ok = antidotec_pb:update_objects(Pid, ObjectUpdates, TxnDetails).

%% A wrapper for Antidote's commit_transaction function
-spec txn_commit(TxnDetails :: txid()) -> ok.
-spec txn_commit(TxnDetails :: txid()) -> ok | {error, term()}.
txn_commit({Pid, TxnDetails}) ->
{ok, _CommitTime} = antidotec_pb:commit_transaction(Pid, TxnDetails),
fmke_db_conn_manager:checkin(Pid).
Result = case antidotec_pb:commit_transaction(Pid, TxnDetails) of
{ok, _CommitTimestamp} -> ok;
Error -> Error
end,
fmke_db_conn_manager:checkin(Pid),
Result.


%% ------------------------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion src/fmke_http_handler_app.erl
Expand Up @@ -23,6 +23,6 @@ perform_operation(<<"GET">>, Req, [], []) ->
StatusPropList = fmke:get_status(),
fmke_gen_http_handler:handle_reply(?MODULE, Req, ok, true, proplists:delete(http_port, StatusPropList) )
catch error:ErrReason ->
lager:debug("Error getting status:~n~p~n", [erlang:get_stacktrace()]),
lager:debug("Error getting status:~n~p~n", [ErrReason]),
fmke_gen_http_handler:handle_reply(?MODULE, Req, {error, bad_req}, false, ErrReason)
end.
7 changes: 6 additions & 1 deletion src/fmke_kv_adapter.erl
Expand Up @@ -40,6 +40,10 @@
update_prescription_medication/3
]).

-type get_result() :: app_record() | {error, not_found}.
-type db_entry() :: {key(), get_result()}.
-type key_or_entry() :: key() | db_entry().

start(Args) ->
gen_server:start_link({local, ?MODULE}, ?MODULE, Args, []).

Expand Down Expand Up @@ -374,7 +378,8 @@ prsc_wrt_res([H|_T]) when H =/= ok -> {error, write_failed, H}.

%% after a get request returns multiple results, checks if every K in Keys1 is {error, not_found}, and every K in Keys2
%% returns a valid application record
-spec check_keys(Keys1::list(binary()), Keys2::list(binary())) -> true | {false, atom()} | {false, atom(), binary()}.
-spec check_keys(Keys1::list(key_or_entry()), Keys2::list(key_or_entry())) ->
true | {false, atom()} | {false, atom(), binary()}.
check_keys([], []) ->
true;
check_keys([{K, H} | _T], _Keys2) when is_record(H, facility); is_record(H, patient); is_record(H, pharmacy);
Expand Down
2 changes: 1 addition & 1 deletion test/fmke_test_setup.erl
Expand Up @@ -130,7 +130,7 @@ stop_node(Node) ->


load_client_lib(Node, antidote) ->
rpc:call(Node, application, load, [antidote_pb]);
rpc:call(Node, application, load, [antidotec_pb]);
load_client_lib(_Node, ets) ->
ok;
load_client_lib(Node, redis) ->
Expand Down
9 changes: 0 additions & 9 deletions travis.sh

This file was deleted.

0 comments on commit 7591af3

Please sign in to comment.