📄 testperl.pl
字号:
#############################################################################
# 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 + -