⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testperl.pl

📁 Software Testing Automation Framework (STAF)的开发代码
💻 PL
📖 第 1 页 / 共 2 页
字号:
#############################################################################
# Software Testing Automation Framework (STAF)                              #
# (C) Copyright IBM Corp. 2002                                              #
#                                                                           #
# This software is licensed under the Common Public License (CPL) V1.0.     #
#############################################################################

use PLSTAF;
use STAFMon;
use STAFLog;

# Register with STAF and get a STAF handle

$handle = STAF::STAFHandle->new("Lang/Perl/Test/Basic"); 

if ($handle->{rc} != $STAF::kOk) { 
    print "Error registering with STAF, RC: $handle->{rc}\n"; 
    exit $handle->{rc};
} 

print "Using handle: $handle->{handle}\n";

print "\nTesting Class STAFHandle Methods...\n";

# Test the STAFHandle->submit API

$result = $handle->submit("local", "ping", "ping");

if (($handle->{rc} != $STAF::kOk) or ($result->{result} != "PONG")) {
    print "Error on ping request.\n";
    print "Expected RC: 0, Result: PONG\n";
    print "Received RC: $handle->{rc}, Result: $result->{result}\n";
    exit $handle->{rc}; 
}

$result = $handle->submit("local", "var", "resolve string {STAF/Config/Machine}");

if ($handle->{rc} != $STAF::kOk) { 
    print "Error resolving machine, RC: $handle->{rc}, Result: $result->{result}\n"; 
    exit $handle->{rc};
}

# Test the STAF::Submit2 API

print "\nTesting STAF::Submit2 API with \"local PING PING\"\n";

print "\nTesting \$STAF::STAFHandle::kReqSync\n";

$rc = STAF::Submit2($STAF::STAFHandle::kReqSync, "local", "PING", "PING");

if (($rc != $STAF::kOk) or ($STAF::Result ne "PONG")) {
    print "  Error submitting \"local PING PING\", expected PONG\n";
    print "  Received RC: $STAF::RC, Result: $STAF::Result\n";
    exit $rc;
}

print "  Result: $STAF::Result\n";

print "\nTesting \$STAF::STAFHandle::kReqFireAndForget\n";

$rc = STAF::Submit2($STAF::STAFHandle::kReqFireAndForget, "local", "PING", "PING");

if (($rc != $STAF::kOk) or ($STAF::Result eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $STAF::RC, Result: $STAF::Result\n";
    exit $rc;
}

print "  Result: $STAF::Result\n";

print "\nTesting \$STAF::STAFHandle::kReqQueue\n";

$rc = STAF::Submit2($STAF::STAFHandle::kReqQueue, "local", "PING", "PING");

if (($rc != $STAF::kOk) or ($STAF::Result eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $STAF::RC, Result: $STAF::Result\n";
    exit $rc;
}

print "  Result: $STAF::Result\n";

print "\nTesting \$STAF::STAFHandle::kReqRetain\n";

$rc = STAF::Submit2($STAF::STAFHandle::kReqRetain, "local", "PING", "PING");

if (($rc != $STAF::kOk) or ($STAF::Result eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $STAF::RC, Result: $STAF::Result\n";
    exit $rc;
}

print "  Result: $STAF::Result\n";

print "\nTesting \$STAF::STAFHandle::kReqQueueRetain\n";

$rc = STAF::Submit2($STAF::STAFHandle::kReqQueueRetain, "local", "PING", "PING");

if (($rc != $STAF::kOk) or ($STAF::Result eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $STAF::RC, Result: $STAF::Result\n";
    exit $rc;
}

print "  Result: $STAF::Result\n";

# Test the STAFHandle->submit2 API

print "\nTesting STAFHandle->submit2 API with \"local PING PING\"\n";

print "\nTesting \$STAF::STAFHandle::kReqSync\n";

$result = $handle->submit2($STAF::STAFHandle::kReqSync, "local", "PING", "PING"); 

if (($result->{rc} != $STAF::kOk) or ($result->{result} ne "PONG")) {
    print "  Error submitting \"local PING PING\", expected PONG\n";
    print "  Received RC: $result->{rc}, Result: $result->{result}\n";
    exit $result->{rc}; 
}

print "  Result: $result->{result}\n";

print "\nTesting \$STAF::STAFHandle::kReqFireAndForget\n";

$result = $handle->submit2($STAF::STAFHandle::kReqFireAndForget, "local", "PING", "PING"); 

if (($result->{rc} != $STAF::kOk) or ($result->{result} eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $result->{rc}, Result: $result->{result}\n";
    exit $result->{rc}; 
}

print "  Result: $result->{result}\n";

print "\nTesting \$STAF::STAFHandle::kReqQueue\n";

$result = $handle->submit2($STAF::STAFHandle::kReqQueue, "local", "PING", "PING"); 

if (($result->{rc} != $STAF::kOk) or ($result->{result} eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $result->{rc}, Result: $result->{result}\n";
    exit $result->{rc}; 
}

print "  Result: $result->{result}\n";

print "\nTesting \$STAF::STAFHandle::kReqRetain\n";

$result = $handle->submit2($STAF::STAFHandle::kReqRetain, "local", "PING", "PING"); 

if (($result->{rc} != $STAF::kOk) or ($result->{result} eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $result->{rc}, Result: $result->{result}\n";
    exit $result->{rc}; 
}

print "  Result: $result->{result}\n";

print "\nTesting \$STAF::STAFHandle::kReqQueueRetain\n";

$result = $handle->submit2($STAF::STAFHandle::kReqQueueRetain, "local", "PING", "PING"); 

if (($result->{rc} != $STAF::kOk) or ($result->{result} eq "PONG")) {
    print "  Error submitting \"local PING PING\", expected <request-number>\n";
    print "  Received RC: $result->{rc}, Result: $result->{result}\n";
    exit $result->{rc}; 
}

print "  Result: $result->{result}\n";

# Test the privacy APIs

print "\nTesting Privacy APIs...\n";

my $pw = "secret";
my $pwWithPD = STAF::AddPrivacyDelimiters($pw);
my $expectedResult = "!!@secret@!!";
print "  STAF::AddPrivacyDelimiters($pw): $pwWithPD\n";
if ($pwWithPD != $expectedResult) {
    print "Error: STAF::AddPrivacyDelimiters($pw): $pwWithPD\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $outString = STAF::EscapePrivacyDelimiters($pwWithPD);
my $expectedResult = "^!!@secret^@!!";
print "  STAF::EscapePrivacyDelimiters($pwWithPD): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::EscapePrivacyDelimiters($pwWithPD): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $outString = STAF::MaskPrivateData($pwWithPD);
my $expectedResult = "************";
print "  STAF::MaskPrivateData($pwWithPD): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::MaskPrivateData($pwWithPD): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $outString = STAF::RemovePrivacyDelimiters($pwWithPD);
my $expectedResult = "secret";
print "  STAF::RemovePrivacyDelimiters($pwWithPD): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($pwWithPD): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $dataWith3LevelsPD = '!!@Msg: ^!!@Pw is ^^^!!@secret^^^@!!.^@!!@!!';
my $outString = STAF::RemovePrivacyDelimiters($dataWith3LevelsPD);
my $expectedResult = "Msg: Pw is !!@secret!!@";
print "  STAF::RemovePrivacyDelimiters($dataWith3LevelsPD): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($dataWith3LevelsPD): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $outString = STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 0);
print "  STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 0): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 0): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $outString = STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 3);
print "  STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 3): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 3): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $expectedResult = 'Msg: !!@Pw is ^^!!@secret^^@!!.@!!';
my $outString = STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 1);
print "  STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 1): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 1): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $expectedResult = 'Msg: Pw is !!@secret@!!.';
my $outString = STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 2);
print "  STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 2): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 2): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $expectedResult = 'Msg: !!@Pw is ^^!!@secret^^@!!.@!!';
my $outString = STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 1);
print "  STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 1): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($dataWith3LevelsPD, 1): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

my $expectedResult = 'Msg: Pw is !!@secret@!!.';
my $outString = STAF::RemovePrivacyDelimiters($outString, 1);
print "  STAF::RemovePrivacyDelimiters($outString, 1): $outString\n";
if ($outString != $expectedResult) {
    print "Error: STAF::RemovePrivacyDelimiters($outString, 1): $outString\n";
    print "       Should return the following instead: $expectedResult";
    exit 1;
}

# Test private methods passing in an empty string
my $data = '';
my $expectedResult = '';
my $outString = STAF::AddPrivacyDelimiters($data);
print "  STAF::AddPrivacyDelimiters($data, 1): $outString\n";
if ($outString != $expectedResult) {
   print "Error: STAF::AddPrivacyDelimiters($data): $outString\n";
   print "       Should return the following instead: $expectedResult";
   exit 1;
}

my $outString = STAF::EscapePrivacyDelimiters($data);
print "  STAF::EscapePrivacyDelimiters($data, 1): $outString\n";
if ($outString != $expectedResult) {
   print "Error: STAF::EscapePrivacyDelimiters($data): $outString\n";
   print "       Should return the following instead: $expectedResult";
   exit 1;
}

my $outString = STAF::MaskPrivateData($data);
print "  STAF::MaskPrivateData($data, 1): $outString\n";
if ($outString != $expectedResult) {
   print "Error: STAF::MaskPrivateData($data): $outString\n";
   print "       Should return the following instead: $expectedResult";
   exit 1;
}

my $outString = STAF::RemovePrivacyDelimiters($data);
print "  STAF::RemovePrivacyDelimiters($data, 1): $outString\n";
if ($outString != $expectedResult) {
   print "Error: STAF::RemovePrivacyDelimiters($data): $outString\n";
   print "       Should return the following instead: $expectedResult";
   exit 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -