update all the filters

This commit is contained in:
Jean Bouchard 2019-03-20 11:06:45 -04:00
parent bc1eb6193e
commit 2003561b02
1 changed files with 18 additions and 13 deletions

View File

@ -662,13 +662,13 @@ translate_filters(Filters) when is_map(Filters) -> {
map, map,
maps:fold( maps:fold(
fun(<<"apache.org:legacy-amqp-direct-binding:string">> = K, V, Acc) when is_binary(V) -> fun(<<"apache.org:legacy-amqp-direct-binding:string">> = K, V, Acc) when is_binary(V) ->
[{{symbol, K}, {utf8, V}} | Acc]; [{{symbol, K}, {described, {symbol, K}, {utf8, V}}} | Acc];
(<<"apache.org:legacy-amqp-topic-binding:string">> = K, V, Acc) when is_binary(V) -> (<<"apache.org:legacy-amqp-topic-binding:string">> = K, V, Acc) when is_binary(V) ->
[{{symbol, K}, {utf8, V}} | Acc]; [{{symbol, K}, {described, {symbol, K}, {utf8, V}}} | Acc];
(<<"apache.org:legacy-amqp-headers-binding:map">> = K, V, Acc) when is_map(V) -> (<<"apache.org:legacy-amqp-headers-binding:map">> = K, V, Acc) when is_map(V) ->
[{{symbol, K}, translate_legacy_amqp_headers_binding(V)} | Acc]; [{{symbol, K}, {described, {symbol, K}, translate_legacy_amqp_headers_binding(V)}} | Acc];
(<<"apache.org:no-local-filter:list">> = K, V, Acc) when is_list(V) -> (<<"apache.org:no-local-filter:list">> = K, V, Acc) when is_list(V) ->
[{{symbol, K}, lists:map(fun(Id) -> {utf8, Id} end, V)} | Acc]; [{{symbol, K}, {described, {symbol, K}, lists:map(fun(Id) -> {utf8, Id} end, V)}} | Acc];
(<<"apache.org:selector-filter:string">> = K, V, Acc) when is_binary(V) -> (<<"apache.org:selector-filter:string">> = K, V, Acc) when is_binary(V) ->
[{{symbol, K}, {described, {symbol, K}, {utf8, V}}} | Acc] [{{symbol, K}, {described, {symbol, K}, {utf8, V}}} | Acc]
end, end,
@ -1070,7 +1070,7 @@ translate_filters_legacy_amqp_direct_binding_filter_test() ->
{map, {map,
[{ [{
{symbol,<<"apache.org:legacy-amqp-direct-binding:string">>}, {symbol,<<"apache.org:legacy-amqp-direct-binding:string">>},
{utf8,<<"my topic">>} {described, {symbol, <<"apache.org:legacy-amqp-direct-binding:string">>}, {utf8,<<"my topic">>}}
}] }]
} = translate_filters(#{<<"apache.org:legacy-amqp-direct-binding:string">> => <<"my topic">>}). } = translate_filters(#{<<"apache.org:legacy-amqp-direct-binding:string">> => <<"my topic">>}).
@ -1078,20 +1078,21 @@ translate_filters_legacy_amqp_topic_binding_filter_test() ->
{map, {map,
[{ [{
{symbol, <<"apache.org:legacy-amqp-topic-binding:string">>}, {symbol, <<"apache.org:legacy-amqp-topic-binding:string">>},
{utf8, <<"*.stock.#">>} {described, {symbol, <<"apache.org:legacy-amqp-topic-binding:string">>}, {utf8, <<"*.stock.#">>}}
}] }]
} = translate_filters(#{<<"apache.org:legacy-amqp-topic-binding:string">> => <<"*.stock.#">>}). } = translate_filters(#{<<"apache.org:legacy-amqp-topic-binding:string">> => <<"*.stock.#">>}).
translate_filters_legacy_amqp_headers_binding_filter_test() -> translate_filters_legacy_amqp_headers_binding_filter_test() ->
{map, {map,
[{ [{
{symbol,<<"apache.org:legacy-amqp-headers-binding:map">>}, {symbol, <<"apache.org:legacy-amqp-headers-binding:map">>},
{described, {symbol, <<"apache.org:legacy-amqp-headers-binding:map">>},
{map, [ {map, [
{{utf8, <<"x-match">>}, {utf8, <<"all">>}}, {{utf8, <<"x-match">>}, {utf8, <<"all">>}},
{{utf8, <<"foo">>}, {utf8, <<"bar">>}}, {{utf8, <<"foo">>}, {utf8, <<"bar">>}},
{{utf8, <<"bar">>}, {utf8, <<"baz">>}} {{utf8, <<"bar">>}, {utf8, <<"baz">>}}
] ]
} }}
}] }]
} = translate_filters(#{<<"apache.org:legacy-amqp-headers-binding:map">> => #{ } = translate_filters(#{<<"apache.org:legacy-amqp-headers-binding:map">> => #{
<<"x-match">> => <<"all">>, <<"x-match">> => <<"all">>,
@ -1104,7 +1105,7 @@ translate_filters_legacy_amqp_no_local_filter_test() ->
{map, {map,
[{ [{
{symbol, <<"apache.org:no-local-filter:list">>}, {symbol, <<"apache.org:no-local-filter:list">>},
[{utf8, <<"foo">>}, {utf8, <<"bar">>}] {described, {symbol, <<"apache.org:no-local-filter:list">>}, [{utf8, <<"foo">>}, {utf8, <<"bar">>}]}
}] }]
} = translate_filters(#{<<"apache.org:no-local-filter:list">> => [<<"foo">>, <<"bar">>]}). } = translate_filters(#{<<"apache.org:no-local-filter:list">> => [<<"foo">>, <<"bar">>]}).
@ -1112,15 +1113,19 @@ translate_filters_selector_filter_test() ->
{map, {map,
[{ [{
{symbol, <<"apache.org:selector-filter:string">>}, {symbol, <<"apache.org:selector-filter:string">>},
{utf8, <<"amqp.annotation.x-opt-enqueuedtimeutc > 123456789">>} {described, {symbol, <<"apache.org:selector-filter:string">>},
{utf8, <<"amqp.annotation.x-opt-enqueuedtimeutc > 123456789">>}}
}] }]
} = translate_filters(#{<<"apache.org:selector-filter:string">> => <<"amqp.annotation.x-opt-enqueuedtimeutc > 123456789">>}). } = translate_filters(#{<<"apache.org:selector-filter:string">> => <<"amqp.annotation.x-opt-enqueuedtimeutc > 123456789">>}).
translate_filters_multiple_filters_test() -> translate_filters_multiple_filters_test() ->
{map, {map,
[ [
{{symbol, <<"apache.org:selector-filter:string">>}, {utf8, <<"amqp.annotation.x-opt-enqueuedtimeutc > 123456789">>}}, {{symbol, <<"apache.org:selector-filter:string">>},
{{symbol, <<"apache.org:legacy-amqp-direct-binding:string">>}, {utf8,<<"my topic">>}} {described, {symbol, <<"apache.org:selector-filter:string">>},
{utf8, <<"amqp.annotation.x-opt-enqueuedtimeutc > 123456789">>}}},
{{symbol, <<"apache.org:legacy-amqp-direct-binding:string">>},
{described, {symbol, <<"apache.org:legacy-amqp-direct-binding:string">>}, {utf8,<<"my topic">>}}}
] ]
} = translate_filters(#{ } = translate_filters(#{
<<"apache.org:legacy-amqp-direct-binding:string">> => <<"my topic">>, <<"apache.org:legacy-amqp-direct-binding:string">> => <<"my topic">>,