Bläddra i källkod

Merge pull request #12684 from thalesmg/test-bridge-trigger-validator-m-20240312

test: trigger hocon validators when checking schema
Thales Macedo Garitezi 1 år sedan
förälder
incheckning
657e87c2ea
1 ändrade filer med 14 tillägg och 10 borttagningar
  1. 14 10
      apps/emqx_bridge/test/emqx_bridge_v2_testlib.erl

+ 14 - 10
apps/emqx_bridge/test/emqx_bridge_v2_testlib.erl

@@ -132,22 +132,26 @@ parse_and_check(Kind, Type, Name, InnerConfigMap0) ->
         end,
         end,
     TypeBin = emqx_utils_conv:bin(Type),
     TypeBin = emqx_utils_conv:bin(Type),
     RawConf = #{RootBin => #{TypeBin => #{Name => InnerConfigMap0}}},
     RawConf = #{RootBin => #{TypeBin => #{Name => InnerConfigMap0}}},
-    #{RootBin := #{TypeBin := #{Name := InnerConfigMap}}} = hocon_tconf:check_plain(
-        emqx_bridge_v2_schema,
+    do_parse_and_check(RootBin, TypeBin, Name, emqx_bridge_v2_schema, RawConf).
+
+parse_and_check_connector(Type, Name, InnerConfigMap0) ->
+    TypeBin = emqx_utils_conv:bin(Type),
+    RawConf = #{<<"connectors">> => #{TypeBin => #{Name => InnerConfigMap0}}},
+    do_parse_and_check(<<"connectors">>, TypeBin, Name, emqx_connector_schema, RawConf).
+
+do_parse_and_check(RootBin, TypeBin, NameBin, SchemaMod, RawConf) ->
+    #{RootBin := #{TypeBin := #{NameBin := _}}} = hocon_tconf:check_plain(
+        SchemaMod,
         RawConf,
         RawConf,
         #{
         #{
             required => false,
             required => false,
             atom_key => false,
             atom_key => false,
-            make_serializable => true
+            %% to trigger validators that otherwise aren't triggered
+            make_serializable => false
         }
         }
     ),
     ),
-    InnerConfigMap.
-
-parse_and_check_connector(Type, Name, InnerConfigMap0) ->
-    TypeBin = emqx_utils_conv:bin(Type),
-    RawConf = #{<<"connectors">> => #{TypeBin => #{Name => InnerConfigMap0}}},
-    #{<<"connectors">> := #{TypeBin := #{Name := InnerConfigMap}}} = hocon_tconf:check_plain(
-        emqx_connector_schema,
+    #{RootBin := #{TypeBin := #{NameBin := InnerConfigMap}}} = hocon_tconf:check_plain(
+        SchemaMod,
         RawConf,
         RawConf,
         #{
         #{
             required => false,
             required => false,