Просмотр исходного кода

test: try to resolve schema module from PROFILE in tests

Zaiming (Stone) Shi 2 лет назад
Родитель
Сommit
2626d793a7
1 измененных файлов с 18 добавлено и 2 удалено
  1. 18 2
      apps/emqx_conf/src/emqx_conf.erl

+ 18 - 2
apps/emqx_conf/src/emqx_conf.erl

@@ -203,14 +203,30 @@ gen_config_md(Dir, SchemaModule, Lang) ->
 -spec schema_module() -> module().
 schema_module() ->
     case os:getenv("SCHEMA_MOD") of
-        false -> emqx_conf_schema;
-        Value -> list_to_existing_atom(Value)
+        false ->
+            resolve_schema_module();
+        Value ->
+            list_to_existing_atom(Value)
     end.
 
 %%--------------------------------------------------------------------
 %% Internal functions
 %%--------------------------------------------------------------------
 
+-ifdef(TEST).
+resolve_schema_module() ->
+    case os:getenv("PROFILE") of
+        "emqx" ->
+            emqx_conf_schema;
+        "emqx-enterprise" ->
+            emqx_enterprise_schema
+    end.
+-else.
+-spec resolve_schema_module() -> no_return().
+resolve_schema_module() ->
+    error("SCHEMA_MOD environment variable is not set").
+-endif.
+
 %% @doc Make a resolver function that can be used to lookup the description by hocon_schema_json dump.
 make_desc_resolver(Lang) ->
     fun