From f6e648f642255c6ef4e05e7c3b040c9a176e992a Mon Sep 17 00:00:00 2001 From: Mark Allen Date: Fri, 12 Dec 2014 16:43:04 -0600 Subject: [PATCH 1/3] New cluster/handoff CLI coverage --- tests/riak_admin_console_tests.erl | 48 +++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/tests/riak_admin_console_tests.erl b/tests/riak_admin_console_tests.erl index 8084b8424..82588fd1c 100644 --- a/tests/riak_admin_console_tests.erl +++ b/tests/riak_admin_console_tests.erl @@ -53,7 +53,20 @@ cluster_tests(Node) -> check_admin_cmd(Node, "cluster resize-ring abort"), check_admin_cmd(Node, "cluster plan"), check_admin_cmd(Node, "cluster commit"), - check_admin_cmd(Node, "cluster clear"). + check_admin_cmd(Node, "cluster clear"), + check_admin_cmd(Node, "cluster status"), + check_admin_cmd(Node, "cluster partition-count"), + check_admin_cmd(Node, "cluster partition-count --node=dev1@127.0.0.1"), + check_admin_cmd(Node, "cluster partition-count --node=dev99@127.0.0.1"), + check_admin_cmd(Node, "cluster partitions"), + check_admin_cmd(Node, "cluster partitions --node=dev1@127.0.0.1"), + check_admin_cmd(Node, "cluster partitions --node=dev99@127.0.0.1"), + check_admin_cmd(Node, "cluster partition id=0"), + check_admin_cmd(Node, "cluster partition index=0"), + check_admin_cmd(Node, "cluster partition id=-1"), + check_admin_cmd(Node, "cluster partition index=-1"), + check_admin_cmd(Node, "cluster members"), + check_admin_cmd(Node, "cluster members --all"). %% riak-admin bucket_type bucket_tests(Node) -> @@ -102,6 +115,37 @@ security_tests(Node) -> check_admin_cmd(Node, "security print-grants foo"), check_admin_cmd(Node, "security ciphers foo"). +%% handoff commands +riak_admin_handoff_tests(Node) -> + check_admin_cmd(Node, "handoff enable both"), + check_admin_cmd(Node, "handoff enable inbound"), + check_admin_cmd(Node, "handoff enable outbound"), + check_admin_cmd(Node, "handoff enable outbound --all"), + check_admin_cmd(Node, "handoff enable outbound --node=dev1@127.0.0.1"), + check_admin_cmd(Node, "handoff enable outbound --node=dev99@127.0.0.1"), + check_admin_cmd(Node, "handoff disable both"), + check_admin_cmd(Node, "handoff disable inbound"), + check_admin_cmd(Node, "handoff disable outbound"), + check_admin_cmd(Node, "handoff disable outbound --all"), + check_admin_cmd(Node, "handoff disable outbound --node=dev1@127.0.0.1"), + check_admin_cmd(Node, "handoff disable outbound --node=dev99@127.0.0.1"), + check_admin_cmd(Node, "handoff summary"), + check_admin_cmd(Node, "handoff details"), + check_admin_cmd(Node, "handoff details --all"), + check_admin_cmd(Node, "handoff details --node=dev1@127.0.0.1"), + check_admin_cmd(Node, "handoff details --node=dev99@127.0.0.1"). + +riak_admin_config_tests(Node) -> + check_admin_cmd(Node, "set transfer_limit=2"), + check_admin_cmd(Node, "set transfer_limit=2 --node=dev1@127.0.0.1"), + check_admin_cmd(Node, "set transfer_limit=2 --all"), + check_admin_cmd(Node, "show transfer_limit"), + check_admin_cmd(Node, "show transfer_limit --node=dev1@127.0.0.1"), + check_admin_cmd(Node, "show transfer_limit --all"), + check_admin_cmd(Node, "describe transfer_limit"), + check_admin_cmd(Node, "set transfer_limit=2 --node=dev99@127.0.0.1"), + check_admin_cmd(Node, "show transfer_limit --node=dev99@127.0.0.1"). + %% "top level" riak-admin COMMANDS riak_admin_tests(Node) -> check_admin_cmd(Node, "join -f dev99@127.0.0.1"), @@ -228,6 +272,8 @@ confirm() -> cluster_tests(Node), bucket_tests(Node), security_tests(Node), + riak_admin_handoff_tests(Node), + riak_admin_config_tests(Node), pass. check_admin_cmd(Node, Cmd) -> From a04e59c65e16d3d035877af1c1cf20a32f9d9a05 Mon Sep 17 00:00:00 2001 From: Mark Allen Date: Wed, 7 Jan 2015 14:46:03 -0600 Subject: [PATCH 2/3] Check output with regexp Not ideal but better than nothing. --- tests/riak_admin_console_tests.erl | 61 ++++++++++-------------------- 1 file changed, 19 insertions(+), 42 deletions(-) diff --git a/tests/riak_admin_console_tests.erl b/tests/riak_admin_console_tests.erl index 82588fd1c..c0a993f13 100644 --- a/tests/riak_admin_console_tests.erl +++ b/tests/riak_admin_console_tests.erl @@ -54,19 +54,11 @@ cluster_tests(Node) -> check_admin_cmd(Node, "cluster plan"), check_admin_cmd(Node, "cluster commit"), check_admin_cmd(Node, "cluster clear"), - check_admin_cmd(Node, "cluster status"), - check_admin_cmd(Node, "cluster partition-count"), - check_admin_cmd(Node, "cluster partition-count --node=dev1@127.0.0.1"), - check_admin_cmd(Node, "cluster partition-count --node=dev99@127.0.0.1"), - check_admin_cmd(Node, "cluster partitions"), - check_admin_cmd(Node, "cluster partitions --node=dev1@127.0.0.1"), - check_admin_cmd(Node, "cluster partitions --node=dev99@127.0.0.1"), - check_admin_cmd(Node, "cluster partition id=0"), - check_admin_cmd(Node, "cluster partition index=0"), - check_admin_cmd(Node, "cluster partition id=-1"), - check_admin_cmd(Node, "cluster partition index=-1"), - check_admin_cmd(Node, "cluster members"), - check_admin_cmd(Node, "cluster members --all"). + check_admin_output(Node, "cluster status", ".*"), + check_admin_output(Node, "cluster partition-count", ".*"), + check_admin_output(Node, "cluster partitions", ".*"), + check_admin_output(Node, "cluster partition id=0", ".*"), + check_admin_output(Node, "cluster partition index=0", ".*"). %% riak-admin bucket_type bucket_tests(Node) -> @@ -117,34 +109,8 @@ security_tests(Node) -> %% handoff commands riak_admin_handoff_tests(Node) -> - check_admin_cmd(Node, "handoff enable both"), - check_admin_cmd(Node, "handoff enable inbound"), - check_admin_cmd(Node, "handoff enable outbound"), - check_admin_cmd(Node, "handoff enable outbound --all"), - check_admin_cmd(Node, "handoff enable outbound --node=dev1@127.0.0.1"), - check_admin_cmd(Node, "handoff enable outbound --node=dev99@127.0.0.1"), - check_admin_cmd(Node, "handoff disable both"), - check_admin_cmd(Node, "handoff disable inbound"), - check_admin_cmd(Node, "handoff disable outbound"), - check_admin_cmd(Node, "handoff disable outbound --all"), - check_admin_cmd(Node, "handoff disable outbound --node=dev1@127.0.0.1"), - check_admin_cmd(Node, "handoff disable outbound --node=dev99@127.0.0.1"), - check_admin_cmd(Node, "handoff summary"), - check_admin_cmd(Node, "handoff details"), - check_admin_cmd(Node, "handoff details --all"), - check_admin_cmd(Node, "handoff details --node=dev1@127.0.0.1"), - check_admin_cmd(Node, "handoff details --node=dev99@127.0.0.1"). - -riak_admin_config_tests(Node) -> - check_admin_cmd(Node, "set transfer_limit=2"), - check_admin_cmd(Node, "set transfer_limit=2 --node=dev1@127.0.0.1"), - check_admin_cmd(Node, "set transfer_limit=2 --all"), - check_admin_cmd(Node, "show transfer_limit"), - check_admin_cmd(Node, "show transfer_limit --node=dev1@127.0.0.1"), - check_admin_cmd(Node, "show transfer_limit --all"), - check_admin_cmd(Node, "describe transfer_limit"), - check_admin_cmd(Node, "set transfer_limit=2 --node=dev99@127.0.0.1"), - check_admin_cmd(Node, "show transfer_limit --node=dev99@127.0.0.1"). + check_admin_output(Node, "handoff summary", ".*"), + check_admin_output(Node, "handoff details", ".*"). %% "top level" riak-admin COMMANDS riak_admin_tests(Node) -> @@ -273,7 +239,6 @@ confirm() -> bucket_tests(Node), security_tests(Node), riak_admin_handoff_tests(Node), - riak_admin_config_tests(Node), pass. check_admin_cmd(Node, Cmd) -> @@ -290,3 +255,15 @@ check_admin_cmd_2x(Node, Cmd) -> lager:info("Testing riak-admin ~s on ~s", [Cmd, Node]), {ok, Out} = rt:admin(Node, S), ?assertEqual("passpass", Out). + +%% Everyone hates regexp but... +check_admin_output(Node, Cmd, Expected) -> + S = string:tokens(Cmd, " "), + lager:info("Testing riak-admin ~s on ~s", [Cmd, Node]), + {ok, Out} = rt:admin(Node, S), + lager:debug("Output: ~p", [Out]), + Result = case re:run(Out, Expected) of + nomatch -> "fail"; + _ -> "pass" + end, + ?assertEqual("pass", Result). From b87fece89dbeb7b67f00d5c90a86f2ff0ff933c0 Mon Sep 17 00:00:00 2001 From: Mark Allen Date: Wed, 7 Jan 2015 20:19:12 -0600 Subject: [PATCH 3/3] Add real regex patterns to match on --- tests/riak_admin_console_tests.erl | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/tests/riak_admin_console_tests.erl b/tests/riak_admin_console_tests.erl index c0a993f13..40568088c 100644 --- a/tests/riak_admin_console_tests.erl +++ b/tests/riak_admin_console_tests.erl @@ -54,11 +54,11 @@ cluster_tests(Node) -> check_admin_cmd(Node, "cluster plan"), check_admin_cmd(Node, "cluster commit"), check_admin_cmd(Node, "cluster clear"), - check_admin_output(Node, "cluster status", ".*"), - check_admin_output(Node, "cluster partition-count", ".*"), - check_admin_output(Node, "cluster partitions", ".*"), - check_admin_output(Node, "cluster partition id=0", ".*"), - check_admin_output(Node, "cluster partition index=0", ".*"). + check_admin_output(Node, "cluster status", "Cluster Status"), + check_admin_output(Node, "cluster partition-count", "partition-count"), + check_admin_output(Node, "cluster partitions", "dev1@127\\.0\\.0\\.1"), + check_admin_output(Node, "cluster partition id=0", "^\\+"), + check_admin_output(Node, "cluster partition index=0", "\\+"). %% riak-admin bucket_type bucket_tests(Node) -> @@ -109,8 +109,8 @@ security_tests(Node) -> %% handoff commands riak_admin_handoff_tests(Node) -> - check_admin_output(Node, "handoff summary", ".*"), - check_admin_output(Node, "handoff details", ".*"). + check_admin_output(Node, "handoff summary", "Each cell"), + check_admin_output(Node, "handoff details", "No ongoing"). %% "top level" riak-admin COMMANDS riak_admin_tests(Node) -> @@ -261,7 +261,6 @@ check_admin_output(Node, Cmd, Expected) -> S = string:tokens(Cmd, " "), lager:info("Testing riak-admin ~s on ~s", [Cmd, Node]), {ok, Out} = rt:admin(Node, S), - lager:debug("Output: ~p", [Out]), Result = case re:run(Out, Expected) of nomatch -> "fail"; _ -> "pass"