summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2010-06-29 16:40:53 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2010-06-29 16:40:53 +0100
commit286919c43f55bda9fd9e5e840ec9dd35adb1c812 (patch)
treeb429204e5fa097dd6b6f52ed7a4fdc234906090e /src
parenta781e9c0efb9b531d71f73c437ff79e5bb4e58ae (diff)
downloadrabbitmq-server-git-286919c43f55bda9fd9e5e840ec9dd35adb1c812.tar.gz
Make tests pass again and correct placement of permission check
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_channel.erl10
-rw-r--r--src/rabbit_tests.erl7
2 files changed, 9 insertions, 8 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 4a741be7ed..01f41a0c9d 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -736,17 +736,17 @@ handle_method(#'queue.declare'{queue = QueueNameBin,
Other -> check_name('queue', Other)
end,
QueueName = rabbit_misc:r(VHostPath, queue, ActualNameBin),
+ check_configure_permitted(QueueName, State),
case rabbit_amqqueue:with(QueueName,
fun (Q) -> {rabbit_amqqueue:stat(Q), Q} end) of
- {{ok, _ActualName, MessageCount1, ConsumerCount1},
+ {{ok, _ActualName, MessageCount, ConsumerCount},
#amqqueue{name = QueueName, durable = Durable1,
auto_delete = AutoDelete1} = Q1}
when Durable =:= Durable1, AutoDelete =:= AutoDelete1 ->
check_exclusive_access(Q1, Owner, strict),
- check_configure_permitted(QueueName, State),
- return_queue_declare_ok(Q1, NoWait, MessageCount1, ConsumerCount1,
+ return_queue_declare_ok(Q1, NoWait, MessageCount, ConsumerCount,
false, Owner, State);
- {{ok, _ActualName, _MessageCount1, _ConsumerCount1},
+ {{ok, _ActualName, _MessageCount, _ConsumerCount},
#amqqueue{name = QueueName}} ->
rabbit_misc:protocol_error(
precondition_failed, "parameters for ~s not equivalent",
@@ -770,11 +770,11 @@ handle_method(#'queue.declare'{queue = QueueNameBin,
_, State = #ch{virtual_host = VHostPath,
reader_pid = ReaderPid}) ->
QueueName = rabbit_misc:r(VHostPath, queue, QueueNameBin),
+ check_configure_permitted(QueueName, State),
{{ok, _ActualName, MessageCount, ConsumerCount},
#amqqueue{name = QueueName} = Q} =
rabbit_amqqueue:with_or_die(
QueueName, fun (Q1) -> {rabbit_amqqueue:stat(Q1), Q1} end),
- check_configure_permitted(QueueName, State),
check_exclusive_access(Q, ReaderPid, lax),
return_queue_declare_ok(Q, NoWait, MessageCount, ConsumerCount,
false, none, State);
diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl
index cf78249793..34eec12183 100644
--- a/src/rabbit_tests.erl
+++ b/src/rabbit_tests.erl
@@ -792,10 +792,11 @@ test_server_status() ->
Writer = spawn(fun () -> receive shutdown -> ok end end),
Ch = rabbit_channel:start_link(1, self(), Writer, <<"user">>, <<"/">>,
self()),
- [Q, Q2] = [#amqqueue{} = rabbit_amqqueue:declare(
+ [Q, Q2] = [Queue || Name <- [<<"foo">>, <<"bar">>],
+ {new, Queue = #amqqueue{}} <-
+ [rabbit_amqqueue:declare(
rabbit_misc:r(<<"/">>, queue, Name),
- false, false, [], none) ||
- Name <- [<<"foo">>, <<"bar">>]],
+ false, false, [], none)]],
ok = rabbit_amqqueue:basic_consume(Q, true, Ch, undefined,
<<"ctag">>, true, undefined),