The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

use strict;
use Test::More tests => 7;
Net::RabbitMQ::Java->init;
my $factory = Net::RabbitMQ::Java::Client::ConnectionFactory->new;
isa_ok($factory, 'Net::RabbitMQ::Java::Client::ConnectionFactory');
$factory->setUsername('guest');
$factory->setPassword('guest');
$factory->setHost($ENV{'MQHOST'} || "dev.rabbitmq.com");
$factory->setPort($ENV{'MQPORT'} || 5672);
{
ok(my $conn = eval { $factory->newConnection })
or diag($@->printStackTrace);
isa_ok($conn, 'Net::RabbitMQ::Java::Client::impl::AMQConnection');
my $channel = $conn->createChannel;
isa_ok($channel, 'Net::RabbitMQ::Java::Client::impl::ChannelN');
my $cb1 = $conn->addShutdownListener(sub {});
isa_ok($cb1, 'Net::RabbitMQ::Java::Helper::CallbackCaller');
my $cb2 = $channel->addShutdownListener(sub {});
isa_ok($cb2, 'Net::RabbitMQ::Java::Helper::CallbackCaller');
}
# $conn and $channel went out of scope.
ok(eval { Net::RabbitMQ::Java->processCallbacks; 1 });
1;