ASNMTAP

 view release on metacpan or  search on metacpan

plugins/jUnit/check_jUnit.pl  view on Meta::CPAN


use ASNMTAP::Asnmtap::Plugins v3.002.003;
use ASNMTAP::Asnmtap::Plugins qw(:PLUGINS);

use ASNMTAP::Asnmtap::Plugins::XML v3.002.003;
use ASNMTAP::Asnmtap::Plugins::XML qw(&extract_XML);

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

my $objectPlugins = ASNMTAP::Asnmtap::Plugins->new (
  _programName        => 'check_jUnit.pl',
  _programDescription => 'Check jUnit Server',
  _programVersion     => '3.002.003',
  _programUsagePrefix => '--uKey|-K=<uKey> --jUnitServer=<jUnitServer> --jUnitPort=<jUnitPort> --svParam=<svParam> [--maxtime=<maxtime>] [--config=<config>] [--result=<result>]',
  _programHelpPrefix  => '-K, --uKey=<uKey>
--jUnitServer=<jUnitServer>
   <jUnitServer>=jUnit server hostname
--jUnitPort=<jUnitPort>
   <jUnitPort>=jUnit server port number
--svParam=<svParam>
--maxtime=<maxtime>
--config=<config>
   <config>=config database
--result=<result>
   <result>=result database',
  _programGetOptions  => ['uKey|K=s', 'jUnitServer=s', 'jUnitPort=s', 'svParam=s', 'maxtime:i', 'config:s', 'result:s', 'interval|i=i', 'port|P:i', 'username|u|loginname:s', 'password|passwd|p:s', 'environment|e:s', 'timeout|t:i', 'trendline|T:i'],
  _timeout            => 30,
  _debug              => 0);

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Start plugin  - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

my $environment = $objectPlugins->getOptionsArgv ('environment');

my $uniqueKey   = $objectPlugins->getOptionsArgv ('uKey');
$objectPlugins->printUsage ( 'Missing uKey' ) unless ( defined $uniqueKey );

my $jUnitServer = $objectPlugins->getOptionsArgv ('jUnitServer');
$objectPlugins->printUsage ( 'Missing jUnitServer' ) unless ( defined $jUnitServer );

my $jUnitPort   = $objectPlugins->getOptionsArgv ('jUnitPort');
$objectPlugins->printUsage ( 'Missing jUnitPort' ) unless ( defined $jUnitPort );

my $svParam     = $objectPlugins->getOptionsArgv ('svParam');
$objectPlugins->printUsage ( 'Missing svParams' ) unless ( defined $svParam );

my $interval    = $objectPlugins->getOptionsArgv ('interval');
my $maxtime     = $objectPlugins->getOptionsArgv ('maxtime');
my $config      = $objectPlugins->getOptionsArgv ('config');
my $result      = $objectPlugins->getOptionsArgv ('result');
my $port        = $objectPlugins->getOptionsArgv ('port');
my $username    = $objectPlugins->getOptionsArgv ('username');
my $password    = $objectPlugins->getOptionsArgv ('password');

my $debug       = $objectPlugins->getOptionsValue ('debug');
my $onDemand    = $objectPlugins->getOptionsValue ('onDemand');

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

my $XMLHEADER           = '<\?xml\s+version="1.0"\s+encoding="UTF-8"\?>';
use constant HEADER    => '<?xml version="1.0" encoding="UTF-8"?>';
use constant FOOTER    => '</testresult>';

# crinaea MySQL connection parameters
my $asnmtapServerName   = "<server>";
my $asnmtapServerPort   = "3306";
my $asnmtapServerUser   = "asnmtap";
my $asnmtapServerPass   = "<password>";
my $asnmtapServerDb     = "odbc";
my $asnmtapServerTabl   = "jUnit";

# jUnit Server MySQL connection parameters
my $jUnitServerName     = (defined $jUnitServer) ? $jUnitServer : '<server>';
my $jUnitServerPort     = (defined $port)        ? $port        : '3306';
my $jUnitServerUser     = (defined $username)    ? $username    : 'jUnit';
my $jUnitServerPass     = (defined $password)    ? $password    : '<password>';
my $jUnitServerDbC      = (defined $config)      ? $config      : 'jUnitConfig';
my $jUnitServerDbDR     = (defined $result)      ? $result      : 'jUnitData';
my $jUnitServerTablS    = 'SERVER';
my $jUnitServerTablBS   = 'BASE_SERVICES';
my $jUnitServerTablDR   = 'DATA_RESULTS';
my $jUnitServerTablDRA  = 'DATA_RESULTS_ARCHIVE';

# jUnit Server parameters
   $jUnitServer         = $jUnitServerName;
my $jUnitService        = 'jUnit';
my $jUnitUsername       = 'junitmanager';
my $jUnitPassword       = 'tdvmim';
my $jUnitRequest        = 'junitserver signal SENT_OK';
my $jUnitUkey           = $uniqueKey;
my $jUnitType           = ($onDemand) ? '0' : '1';
my $jUnitSvparam        = (defined $svParam) ? $svParam : '';
my $jUnitMaxtime        = (defined $maxtime) ? $maxtime : 30;

my ($testcaseTimewait, $testcaseServer, $testcaseWlsusername, $testcaseWlspassword, $testcaseAppname, $testcaseEejbname, $testcaseVersion, $testcaseParameters, $testcaseTestclass);

my $resultOutOfDate     = $interval;

my $xmlCleanUpSpaces    = 1;
my $xmlCleanUpLineFeeds = 1;

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# $testcaseServer     : <protocol>://<servername>:<port number>
# $testcaseServer     : - missing protocol  => <error message="javax.naming.ConfigurationException [Root exception is java.net.MalformedURLException: no protocol
# $testcaseServer     : - wrong protocol    => <error message="javax.naming.CommunicationException [Root exception is java.net.UnknownHostException: Unknown protocol: '<protocol>']
# $testcaseServer     : - wrong servername  => <error message="javax.naming.CommunicationException [Root exception is java.net.ConnectException: <protocol>://<servername>:<port number>: Destination unreachable; nested exception is:
# $testcaseServer     : - wrong port number => <error message="javax.naming.CommunicationException [Root exception is java.net.ConnectException: <protocol>://<servername>:<port number>: Destination unreachable; nested exception is:

# $testcaseWlsusername: - wrong username => <error message="javax.naming.AuthenticationException [Root exception is java.lang.SecurityException: User: username00, failed to be authenticated.]" type="java.util.MissingResourceException">
# $testcaseWlspassword: - wrong password => <error message="javax.naming.AuthenticationException [Root exception is java.lang.SecurityException: User: username00, failed to be authenticated.]" type="java.util.MissingResourceException">

# $testcaseAppname    : - don't exist => be.citap.common.systemservices.junitserver.core.exception.TestCaseFinderException: no file found in application directory
# $testcaseAppname    : - wrong name  => be.citap.common.systemservices.junitserver.core.exception.TestCaseFinderException: no file found in application directory

# $testcaseEejbname   : - don't exist => <error message="javax.naming.CommunicationException [Root exception is java.net.ConnectException: <protocol>://<servername>:<port number>: Destination unreachable; nested exception is:
# $testcaseEejbname   : - wrong name  => <error message="javax.naming.CommunicationException [Root exception is java.net.ConnectException: <protocol>://<servername>:<port number>: Destination unreachable; nested exception is:

# $testcaseVersion    : = '';

# $testcaseParameters : - 'null'          => <error message="javax.naming.CommunicationException [Root exception is java.net.ConnectException: <protocol>://<servername>:<port number>: Destination unreachable; nested exception is:
# $testcaseParameters : - don(t exist     => <error message="javax.naming.CommunicationException [Root exception is java.net.ConnectException: <protocol>://<servername>:<port number>: Destination unreachable; nested exception is:



( run in 0.530 second using v1.01-cache-2.11-cpan-39bf76dae61 )