diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-03-03 15:06:01 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-03-03 15:06:01 +0000 |
| commit | fd5c4c6a496676d36f06b883a98aaa2678666246 (patch) | |
| tree | 3597f22384ffe480d04eeaf770bfc05c65c681b3 | |
| parent | c61a79f050bbffc00329c1a56b09732508fbf63c (diff) | |
| download | rabbitmq-server-git-fd5c4c6a496676d36f06b883a98aaa2678666246.tar.gz | |
config generation testing
| -rw-r--r-- | test/src/rabbit_config_schema_test.erl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/src/rabbit_config_schema_test.erl b/test/src/rabbit_config_schema_test.erl new file mode 100644 index 0000000000..306a02b780 --- /dev/null +++ b/test/src/rabbit_config_schema_test.erl @@ -0,0 +1,43 @@ +-module(rabbit_config_schema_test). + +-export([test_snippet/3]). +-compile(export_all). + +test_snippet(Snippet, Expected, Plugins) -> + {Conf, Advanced} = write_snippet(Snippet), + rabbit_file:recursive_delete("generated"), + prepare_schemas(Plugins), + SchemaDir = rabbit_config:schema_dir(), + {ok, GeneratedFile} = generate_config(Conf, Advanced, SchemaDir), + {ok, [Generated]} = file:consult(GeneratedFile), + Expected = Generated. + +write_snippet({Name, Config, Advanced}) -> + rabbit_file:recursive_delete(filename:join(["examples", Name])), + file:make_dir("examples"), + file:make_dir(filename:join(["examples", Name])), + ConfFile = filename:join(["examples", Name, "config.conf"]), + AdvancedFile = filename:join(["examples", Name, "advanced.config"]), + + file:write_file(ConfFile, Config), + rabbit_file:write_term_file(AdvancedFile, [Advanced]), + {ConfFile, AdvancedFile}. + + +generate_config(Conf, Advanced, SchemaDir) -> + ScriptDir = case init:get_argument(conf_script_dir) of + {ok, D} -> D; + _ -> "scripts" + end, + rabbit_config:generate_config_file([Conf], ".", ScriptDir, + SchemaDir, Advanced). + +prepare_schemas(Plugins) -> + {ok, EnabledFile} = application:get_env(rabbit, enabled_plugins_file), + rabbit_file:write_term_file(EnabledFile, [Plugins]). + + + + + + |
