#
# $Id: 40oo-qmgr.t,v 33.10 2012/09/26 16:15:33 jettisu Exp $
#
# (c) 1999-2012 Morgan Stanley & Co. Incorporated
# See ..../src/LICENSE for terms of distribution.
#
use strict;
use warnings;
our %myconfig;
our $systemdir;
BEGIN {
require "../util/parse_config";
}
use Data::Dumper;
use Test::More tests => 14;
BEGIN {
our $VERSION = '1.34';
use_ok('__APITYPE__::MQSeries' => $VERSION);
use_ok('MQSeries::QueueManager' => $VERSION);
}
SKIP: {
if ( "__APITYPE__" eq "MQServer" && ! -d $systemdir ) {
skip("Cannot test server API on client host", 12);
}
my $QMgrName = $myconfig{"QUEUEMGR"};
#
# First test the most basic instantiation.
#
# NOTE: This is in a block to allow for automatic destruction
#
{
my $qmgr = MQSeries::QueueManager->new(QueueManager => $QMgrName);
ok (ref $qmgr && $qmgr->isa("MQSeries::QueueManager"),
"MQSeries::QueueManager - constructor");
}
#
# Test the AutoConnect mechanism
#
{
my $qmgr = MQSeries::QueueManager->new(QueueManager => $QMgrName,
AutoConnect => 0);
ok (ref $qmgr && $qmgr->isa("MQSeries::QueueManager"),
"MQSeries::QueueManager - constructor - AutoConnect=0");
my $rc = $qmgr->Connect();
unless ($rc) {
print("MQSeries::QueueManager->Connect() failed.\n" .
"CompCode => " . $qmgr->CompCode() . "\n" .
"Reason => " . $qmgr->Reason() . "\n");
}
ok($rc, "MQSeries::QueueManager - Connect");
$rc = $qmgr->Disconnect();
unless ($rc) {
print("MQSeries::QueueManager->DisConnect() failed.\n" .
"CompCode => " . $qmgr->CompCode() . "\n" .
"Reason => " . $qmgr->Reason() . "\n");
}
ok($rc, "MQSeries::QueueManager - Disconnect");
}
#
# Test Open/Inquire/Close
#
{
my $qmgr = MQSeries::QueueManager->new(QueueManager => $QMgrName);
ok (ref $qmgr && $qmgr->isa("MQSeries::QueueManager"),
"MQSeries::QueueManager - constructor");
my $rc = $qmgr->Open();
unless ($rc) {
print("MQSeries::QueueManager->Open() failed.\n" .
"CompCode => " . $qmgr->CompCode() . "\n" .
"Reason => " . $qmgr->Reason() . "\n");
}
ok($rc, "MQSeries::QueueManager - Open");
my %qmgr_attr = $qmgr->Inquire(qw(Platform
CodedCharSetId
CommandLevel
DeadLetterQName));
is (scalar(keys %qmgr_attr), 4, "MQSeries::QueueManager - Inquire");
like($qmgr_attr{Platform}, qr/^\w+$/,
"MQSeries::QueueManager - Inquire - Platform");
like($qmgr_attr{CodedCharSetId}, qr/^\d+$/,
"MQSeries::QueueManager - Inquire - CodedCharSetId");
like($qmgr_attr{CommandLevel}, qr/^\d+$/,
"MQSeries::QueueManager - Inquire - CommandLevel");
like($qmgr_attr{DeadLetterQName}, qr/^[\w\.\s]+$/,
"MQSeries::QueueManager - Inquire - DeadLetterQName");
$rc = $qmgr->Close();
unless ($rc) {
print("MQSeries::QueueManager->Close() failed.\n" .
"CompCode => " . $qmgr->CompCode() . "\n" .
"Reason => " . $qmgr->Reason() . "\n");
}
ok($rc, "MQSeries::QueueManager - Close");
}
}