Skip to content

Commit

Permalink
publishes are no longer blocked, so fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
carlhoerberg committed Mar 24, 2024
1 parent e1af09c commit 71529fc
Showing 1 changed file with 31 additions and 30 deletions.
61 changes: 31 additions & 30 deletions test/amqp/client_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -479,21 +479,20 @@ def test_it_can_set_channel_max

def test_it_can_be_blocked
skip_if_no_sudo
connection = AMQP::Client.new("amqp://localhost").connect
ch = connection.channel
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.001")
t = Thread.new do
begin
connection = AMQP::Client.new("amqp://localhost").connect
ch = connection.channel
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.001")
ch.basic_publish("body", "", "q")
sleep 0.01 # server blocks after first publish
ch.basic_publish("body", "", "q")
assert connection.blocked?
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
sleep 0.01 # server blocks after first publish
refute connection.blocked?
ensure
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
connection&.close
end
assert_nil t.join(0.1) # make sure the thread is blocked
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
assert t.join
refute t.status # status is false when terminated normal
ensure
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
connection&.close
end

def test_it_will_publish_and_consume_properties
Expand Down Expand Up @@ -534,25 +533,27 @@ def test_it_will_publish_and_consume_properties

def test_blocked_handler
skip_if_no_sudo
q = Queue.new
client = AMQP::Client.new("amqp://localhost")
connection = client.connect
connection.on_blocked do |reason|
q << reason
end
connection.on_unblocked do
q << nil
begin
q = Queue.new
client = AMQP::Client.new("amqp://localhost")
connection = client.connect
connection.on_blocked do |reason|
q << reason
end
connection.on_unblocked do
q << nil
end
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.001")
ch = connection.channel
ch.basic_publish("", "", "")
reason = q.pop
assert_equal "low on memory", reason
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
unblocked = q.pop
assert_nil unblocked
ensure
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
end
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.001")
ch = connection.channel
ch.basic_publish("", "", "")
reason = q.pop
assert_equal "low on memory", reason
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
unblocked = q.pop
assert_nil unblocked
ensure
system("sudo rabbitmqctl set_vm_memory_high_watermark 0.4")
end

def test_queue_pruge_returns_msg_count
Expand Down

0 comments on commit 71529fc

Please sign in to comment.