-use Test::More tests => 12;
+use Test::More;
# Tests which expect a STOMP server like ActiveMQ to exist on
# localhost:61613, which is what you get if you just get the ActiveMQ
use YAML::XS qw/ Dump Load /;
use Data::Dumper;
+use Alien::ActiveMQ;
+my $ACTIVEMQ_VERSION = '5.2.0';
+
+unless (Alien::ActiveMQ->is_version_installed($ACTIVEMQ_VERSION)) {
+ plan 'skip_all' => 'No ActiveMQ server installed by Alien::ActiveMQ, try running the "install-activemq" command';
+ exit;
+}
+my $mq = Alien::ActiveMQ->run_server($ACTIVEMQ_VERSION);
+
+my $stomp;
+eval {
+ $stomp = Net::Stomp->new( { hostname => 'localhost', port => 61613 } );
+};
+if ($@) {
+ plan 'skip_all' => 'No ActiveMQ server listening on 61613: ' . $@;
+ exit;
+}
+else {
+ plan tests => 12;
+}
+
# First fire off the server
+$SIG{CHLD} = 'IGNORE';
unless (fork()) {
- system("$^X -Ilib -Itestapp/lib testapp/script/testapp_stomp.pl --oneshot");
+ system("$^X -Ilib -Itestapp/lib testapp/script/stomptestapp_stomp.pl --oneshot");
exit 0;
}
+print STDERR "server started, waiting for spinup...";
+sleep 20;
# Now be a client to that server
-
-my $stomp = Net::Stomp->new( { hostname => 'localhost', port => 61613 } );
+print STDERR "testing\n";
ok($stomp, 'Net::Stomp object');
my $frame = $stomp->connect();