Merge pull request #12124 from thalesmg/fix-connector-fill-defaults-r54-20231207
fix(connectors_api): fill default raw config values before returning
This commit is contained in:
commit
cf3dd85684
|
@ -610,11 +610,12 @@ format_resource(
|
||||||
#{
|
#{
|
||||||
type := Type,
|
type := Type,
|
||||||
name := ConnectorName,
|
name := ConnectorName,
|
||||||
raw_config := RawConf,
|
raw_config := RawConf0,
|
||||||
resource_data := ResourceData
|
resource_data := ResourceData
|
||||||
},
|
},
|
||||||
Node
|
Node
|
||||||
) ->
|
) ->
|
||||||
|
RawConf = fill_defaults(Type, RawConf0),
|
||||||
redact(
|
redact(
|
||||||
maps:merge(
|
maps:merge(
|
||||||
RawConf#{
|
RawConf#{
|
||||||
|
@ -638,6 +639,20 @@ format_resource_data(added_channels, Channels, Result) ->
|
||||||
format_resource_data(K, V, Result) ->
|
format_resource_data(K, V, Result) ->
|
||||||
Result#{K => V}.
|
Result#{K => V}.
|
||||||
|
|
||||||
|
fill_defaults(Type, RawConf) ->
|
||||||
|
PackedConf = pack_connector_conf(Type, RawConf),
|
||||||
|
FullConf = emqx_config:fill_defaults(emqx_connector_schema, PackedConf, #{}),
|
||||||
|
unpack_connector_conf(Type, FullConf).
|
||||||
|
|
||||||
|
pack_connector_conf(Type, RawConf) ->
|
||||||
|
#{<<"connectors">> => #{bin(Type) => #{<<"foo">> => RawConf}}}.
|
||||||
|
|
||||||
|
unpack_connector_conf(Type, PackedConf) ->
|
||||||
|
TypeBin = bin(Type),
|
||||||
|
#{<<"connectors">> := Bridges} = PackedConf,
|
||||||
|
#{<<"foo">> := RawConf} = maps:get(TypeBin, Bridges),
|
||||||
|
RawConf.
|
||||||
|
|
||||||
format_action(ActionId) ->
|
format_action(ActionId) ->
|
||||||
element(2, emqx_bridge_v2:parse_id(ActionId)).
|
element(2, emqx_bridge_v2:parse_id(ActionId)).
|
||||||
|
|
||||||
|
|
|
@ -845,6 +845,19 @@ t_fail_delete_with_action(Config) ->
|
||||||
),
|
),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
t_raw_config_response_defaults(Config) ->
|
||||||
|
Params = maps:without([<<"enable">>, <<"resource_opts">>], ?KAFKA_CONNECTOR(?CONNECTOR_NAME)),
|
||||||
|
?assertMatch(
|
||||||
|
{ok, 201, #{<<"enable">> := true, <<"resource_opts">> := #{}}},
|
||||||
|
request_json(
|
||||||
|
post,
|
||||||
|
uri(["connectors"]),
|
||||||
|
Params,
|
||||||
|
Config
|
||||||
|
)
|
||||||
|
),
|
||||||
|
ok.
|
||||||
|
|
||||||
%%% helpers
|
%%% helpers
|
||||||
listen_on_random_port() ->
|
listen_on_random_port() ->
|
||||||
SockOpts = [binary, {active, false}, {packet, raw}, {reuseaddr, true}, {backlog, 1000}],
|
SockOpts = [binary, {active, false}, {packet, raw}, {reuseaddr, true}, {backlog, 1000}],
|
||||||
|
|
Loading…
Reference in New Issue