Update HTTP API tests
This relaxes assert_list/2 assertion to not require the size of an actually returned list element to be exactly equal to the size of the expected one. Sometimes it makes perfect sense to not assert on every single key but only a subset, and with this change, it now will be possible. Individual tests may choose to assert on all keys by listing them explicitly.
This commit is contained in:
parent
c41c27de06
commit
768b2f6925
|
|
@ -268,7 +268,10 @@ atomize_map_keys(I) ->
|
||||||
|
|
||||||
%% @todo There wasn't a specific order before; now there is; maybe we shouldn't have one?
|
%% @todo There wasn't a specific order before; now there is; maybe we shouldn't have one?
|
||||||
assert_list(Exp, Act) ->
|
assert_list(Exp, Act) ->
|
||||||
case length(Exp) == length(Act) of
|
%% allow actual map to include keys we do not assert on
|
||||||
|
%% but not the other way around: we may want to only assert on a subset
|
||||||
|
%% of keys
|
||||||
|
case length(Act) >= length(Exp) of
|
||||||
true -> ok;
|
true -> ok;
|
||||||
false -> error({expected, Exp, actual, Act})
|
false -> error({expected, Exp, actual, Act})
|
||||||
end,
|
end,
|
||||||
|
|
|
||||||
|
|
@ -1152,21 +1152,24 @@ queues_test(Config) ->
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{}},
|
arguments => #{'x-queue-type' => <<"classic">>}
|
||||||
|
},
|
||||||
#{name => <<"foo">>,
|
#{name => <<"foo">>,
|
||||||
vhost => <<"downvhost">>,
|
vhost => <<"downvhost">>,
|
||||||
state => <<"stopped">>,
|
state => <<"stopped">>,
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{}}], DownQueues),
|
arguments => #{'x-queue-type' => <<"classic">>}
|
||||||
|
}], DownQueues),
|
||||||
assert_item(#{name => <<"foo">>,
|
assert_item(#{name => <<"foo">>,
|
||||||
vhost => <<"downvhost">>,
|
vhost => <<"downvhost">>,
|
||||||
state => <<"stopped">>,
|
state => <<"stopped">>,
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{}}, DownQueue),
|
arguments => #{'x-queue-type' => <<"classic">>}
|
||||||
|
}, DownQueue),
|
||||||
|
|
||||||
http_put(Config, "/queues/badvhost/bar", Good, ?NOT_FOUND),
|
http_put(Config, "/queues/badvhost/bar", Good, ?NOT_FOUND),
|
||||||
http_put(Config, "/queues/%2F/bar",
|
http_put(Config, "/queues/%2F/bar",
|
||||||
|
|
@ -1188,21 +1191,21 @@ queues_test(Config) ->
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{},
|
arguments => #{'x-queue-type' => <<"classic">>},
|
||||||
storage_version => 2},
|
storage_version => 2},
|
||||||
#{name => <<"foo">>,
|
#{name => <<"foo">>,
|
||||||
vhost => <<"/">>,
|
vhost => <<"/">>,
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{},
|
arguments => #{'x-queue-type' => <<"classic">>},
|
||||||
storage_version => 2}], Queues),
|
storage_version => 2}], Queues),
|
||||||
assert_item(#{name => <<"foo">>,
|
assert_item(#{name => <<"foo">>,
|
||||||
vhost => <<"/">>,
|
vhost => <<"/">>,
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{},
|
arguments => #{'x-queue-type' => <<"classic">>},
|
||||||
storage_version => 2}, Queue),
|
storage_version => 2}, Queue),
|
||||||
|
|
||||||
http_delete(Config, "/queues/%2F/foo", {group, '2xx'}),
|
http_delete(Config, "/queues/%2F/foo", {group, '2xx'}),
|
||||||
|
|
@ -2242,7 +2245,8 @@ exclusive_queue_test(Config) ->
|
||||||
durable => false,
|
durable => false,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => true,
|
exclusive => true,
|
||||||
arguments => #{}}, Queue),
|
arguments => #{'x-queue-type' => <<"classic">>}
|
||||||
|
}, Queue),
|
||||||
true
|
true
|
||||||
end),
|
end),
|
||||||
amqp_channel:close(Ch),
|
amqp_channel:close(Ch),
|
||||||
|
|
@ -2809,7 +2813,7 @@ columns_test(Config) ->
|
||||||
http_delete(Config, Path, [{group, '2xx'}, 404]),
|
http_delete(Config, Path, [{group, '2xx'}, 404]),
|
||||||
http_put(Config, Path, [{arguments, [{<<"x-message-ttl">>, TTL}]}],
|
http_put(Config, Path, [{arguments, [{<<"x-message-ttl">>, TTL}]}],
|
||||||
{group, '2xx'}),
|
{group, '2xx'}),
|
||||||
Item = #{arguments => #{'x-message-ttl' => TTL}, name => <<"columns.test">>},
|
Item = #{arguments => #{'x-message-ttl' => TTL, 'x-queue-type' => <<"classic">>}, name => <<"columns.test">>},
|
||||||
|
|
||||||
?AWAIT(
|
?AWAIT(
|
||||||
begin
|
begin
|
||||||
|
|
|
||||||
|
|
@ -381,21 +381,23 @@ queues_test(Config) ->
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{}},
|
arguments => #{'x-queue-type' => <<"classic">>}
|
||||||
|
},
|
||||||
#{name => <<"foo">>,
|
#{name => <<"foo">>,
|
||||||
vhost => <<"downvhost">>,
|
vhost => <<"downvhost">>,
|
||||||
state => <<"stopped">>,
|
state => <<"stopped">>,
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{}}], DownQueues),
|
arguments => #{'x-queue-type' => <<"classic">>}
|
||||||
|
}], DownQueues),
|
||||||
assert_item(#{name => <<"foo">>,
|
assert_item(#{name => <<"foo">>,
|
||||||
vhost => <<"downvhost">>,
|
vhost => <<"downvhost">>,
|
||||||
state => <<"stopped">>,
|
state => <<"stopped">>,
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{}}, DownQueue),
|
arguments => #{'x-queue-type' => <<"classic">>}}, DownQueue),
|
||||||
|
|
||||||
http_put(Config, "/queues/badvhost/bar", Good, ?NOT_FOUND),
|
http_put(Config, "/queues/badvhost/bar", Good, ?NOT_FOUND),
|
||||||
http_put(Config, "/queues/%2F/bar",
|
http_put(Config, "/queues/%2F/bar",
|
||||||
|
|
@ -418,7 +420,7 @@ queues_test(Config) ->
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{},
|
arguments => #{'x-queue-type' => <<"classic">>},
|
||||||
node => NodeBin},
|
node => NodeBin},
|
||||||
#{name => <<"foo">>,
|
#{name => <<"foo">>,
|
||||||
vhost => <<"/">>,
|
vhost => <<"/">>,
|
||||||
|
|
@ -495,7 +497,7 @@ queues_enable_totals_test(Config) ->
|
||||||
durable => true,
|
durable => true,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => false,
|
exclusive => false,
|
||||||
arguments => #{},
|
arguments => #{'x-queue-type' => <<"classic">>},
|
||||||
node => NodeBin,
|
node => NodeBin,
|
||||||
messages => 1,
|
messages => 1,
|
||||||
messages_ready => 1,
|
messages_ready => 1,
|
||||||
|
|
@ -882,7 +884,8 @@ exclusive_queue_test(Config) ->
|
||||||
durable => false,
|
durable => false,
|
||||||
auto_delete => false,
|
auto_delete => false,
|
||||||
exclusive => true,
|
exclusive => true,
|
||||||
arguments => #{}}, Queue),
|
arguments => #{'x-queue-type' => <<"classic">>}
|
||||||
|
}, Queue),
|
||||||
amqp_channel:close(Ch),
|
amqp_channel:close(Ch),
|
||||||
close_connection(Conn),
|
close_connection(Conn),
|
||||||
passed.
|
passed.
|
||||||
|
|
@ -1514,7 +1517,7 @@ columns_test(Config) ->
|
||||||
http_delete(Config, Path, [{group, '2xx'}, 404]),
|
http_delete(Config, Path, [{group, '2xx'}, 404]),
|
||||||
http_put(Config, Path, [{arguments, [{<<"x-message-ttl">>, TTL}]}],
|
http_put(Config, Path, [{arguments, [{<<"x-message-ttl">>, TTL}]}],
|
||||||
{group, '2xx'}),
|
{group, '2xx'}),
|
||||||
Item = #{arguments => #{'x-message-ttl' => TTL}, name => <<"columns.test">>},
|
Item = #{arguments => #{'x-message-ttl' => TTL, 'x-queue-type' => <<"classic">>}, name => <<"columns.test">>},
|
||||||
timer:sleep(2000),
|
timer:sleep(2000),
|
||||||
[Item] = http_get(Config, "/queues?columns=arguments.x-message-ttl,name", ?OK),
|
[Item] = http_get(Config, "/queues?columns=arguments.x-message-ttl,name", ?OK),
|
||||||
Item = http_get(Config, "/queues/%2F/columns.test?columns=arguments.x-message-ttl,name", ?OK),
|
Item = http_get(Config, "/queues/%2F/columns.test?columns=arguments.x-message-ttl,name", ?OK),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue