Pārlūkot izejas kodu

test(conf): simplify confsync test suite

Andrew Mayorov 1 gadu atpakaļ
vecāks
revīzija
6ea9d2a6d9
1 mainītis faili ar 20 papildinājumiem un 24 dzēšanām
  1. 20 24
      apps/emqx_conf/test/emqx_conf_app_SUITE.erl

+ 20 - 24
apps/emqx_conf/test/emqx_conf_app_SUITE.erl

@@ -74,10 +74,7 @@ t_copy_new_data_dir(Config) ->
         {[ok, ok, ok], []} = rpc:multicall(Nodes, ?MODULE, set_data_dir_env, []),
         ok = rpc:call(First, application, start, [emqx_conf]),
         {[ok, ok], []} = rpc:multicall(Rest, application, start, [emqx_conf]),
-
-        assert_data_copy_done(Nodes, File),
-        stop_cluster(Nodes),
-        ok
+        ok = assert_data_copy_done(Nodes, File)
     after
         stop_cluster(Nodes)
     end.
@@ -101,10 +98,7 @@ t_copy_deprecated_data_dir(Config) ->
         {[ok, ok, ok], []} = rpc:multicall(Nodes, ?MODULE, set_data_dir_env, []),
         ok = rpc:call(First, application, start, [emqx_conf]),
         {[ok, ok], []} = rpc:multicall(Rest, application, start, [emqx_conf]),
-
-        assert_data_copy_done(Nodes, File),
-        stop_cluster(Nodes),
-        ok
+        ok = assert_data_copy_done(Nodes, File)
     after
         stop_cluster(Nodes)
     end.
@@ -133,9 +127,7 @@ t_no_copy_from_newer_version_node(Config) ->
         ]),
         ok = rpc:call(First, application, start, [emqx_conf]),
         {[ok, ok], []} = rpc:multicall(Rest, application, start, [emqx_conf]),
-        ok = assert_no_cluster_conf_copied(Rest, File),
-        stop_cluster(Nodes),
-        ok
+        ok = assert_no_cluster_conf_copied(Rest, File)
     after
         stop_cluster(Nodes)
     end.
@@ -155,26 +147,30 @@ create_data_dir(File) ->
 
 set_data_dir_env() ->
     NodeDataDir = emqx:data_dir(),
-    NodeStr = atom_to_list(node()),
+    NodeConfigDir = filename:join(NodeDataDir, "configs"),
     %% will create certs and authz dir
-    ok = filelib:ensure_dir(NodeDataDir ++ "/configs/"),
-    {ok, [ConfigFile]} = application:get_env(emqx, config_files),
-    NewConfigFile = ConfigFile ++ "." ++ NodeStr,
-    ok = filelib:ensure_dir(NewConfigFile),
-    {ok, _} = file:copy(ConfigFile, NewConfigFile),
-    Bin = iolist_to_binary(io_lib:format("node.config_files = [~p]~n", [NewConfigFile])),
-    ok = file:write_file(NewConfigFile, Bin, [append]),
-    DataDir = iolist_to_binary(io_lib:format("node.data_dir = ~p~n", [NodeDataDir])),
-    ok = file:write_file(NewConfigFile, DataDir, [append]),
-    application:set_env(emqx, config_files, [NewConfigFile]),
+    ok = filelib:ensure_path(NodeConfigDir),
+    ConfigFile = filename:join(NodeConfigDir, "emqx.conf"),
+    ok = append_format(ConfigFile, "node.config_files = [~p]~n", [ConfigFile]),
+    ok = append_format(ConfigFile, "node.data_dir = ~p~n", [NodeDataDir]),
+    application:set_env(emqx, config_files, [ConfigFile]),
     %% application:set_env(emqx, data_dir, Node),
     %% We set env both cluster.hocon and cluster-override.conf, but only one will be used
-    application:set_env(emqx, cluster_hocon_file, NodeDataDir ++ "/configs/cluster.hocon"),
     application:set_env(
-        emqx, cluster_override_conf_file, NodeDataDir ++ "/configs/cluster-override.conf"
+        emqx,
+        cluster_hocon_file,
+        filename:join([NodeDataDir, "configs", "cluster.hocon"])
+    ),
+    application:set_env(
+        emqx,
+        cluster_override_conf_file,
+        filename:join([NodeDataDir, "configs", "cluster-override.conf"])
     ),
     ok.
 
+append_format(Filename, Fmt, Args) ->
+    ok = file:write_file(Filename, io_lib:format(Fmt, Args), [append]).
+
 assert_data_copy_done([_First | Rest], File) ->
     FirstDataDir = filename:dirname(filename:dirname(File)),
     {ok, FakeCertFile} = file:read_file(FirstDataDir ++ "/certs/fake-cert"),