You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
643 lines
31 KiB
643 lines
31 KiB
12 months ago
|
#!/bin/bash
|
||
|
# Description: Verify reporter-mantisbt functionality
|
||
|
# Author: Matej Habrnal <mhabrnal@redhat.com>
|
||
|
#
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
#
|
||
|
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
|
||
|
#
|
||
|
# This program is free software: you can redistribute it and/or
|
||
|
# modify it under the terms of the GNU General Public License as
|
||
|
# published by the Free Software Foundation, either version 3 of
|
||
|
# the License, or (at your option) any later version.
|
||
|
#
|
||
|
# This program is distributed in the hope that it will be
|
||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||
|
# PURPOSE. See the GNU General Public License for more details.
|
||
|
#
|
||
|
# You should have received a copy of the GNU General Public License
|
||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||
|
#
|
||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
TEST_DIR="tests/p_abrt-cli"
|
||
|
source $TEST_DIR/_lib.sh
|
||
|
|
||
|
t_Log "Running $0 - reporter-mantisbt test suite"
|
||
|
|
||
|
# testing if bugs-test.centos.org is reachable for that test ..
|
||
|
curl --silent -I http://bugs-test.centos.org/my_view_page.php|grep -q "HTTP/1.1 200 OK"
|
||
|
if [ "$?" -ne "0" ];then
|
||
|
t_Log "Mantis test instance doesn't seem reachable ... SKIP"
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
# run only on centos 7 or greater
|
||
|
[[ $centos_ver -lt 7 ]] && exit
|
||
|
|
||
|
|
||
|
rlJournalStart
|
||
|
rlPhaseStartSetup
|
||
|
LANG=""
|
||
|
export LANG
|
||
|
|
||
|
TmpDir=$(mktemp -d)
|
||
|
cp -R $TEST_DIR/queries/* $TmpDir
|
||
|
cp -R $TEST_DIR/problem_dir $TmpDir
|
||
|
cp $TEST_DIR/_pyserve $TmpDir/pyserve
|
||
|
cp $TEST_DIR/_mantisbt.conf $TmpDir/mantisbt.conf
|
||
|
cp $TEST_DIR/_mantisbt_format.conf $TmpDir/mantisbt_format.conf
|
||
|
cp $TEST_DIR/_mantisbt_formatdup.conf $TmpDir/mantisbt_formatdup.conf
|
||
|
cp $TEST_DIR/_attachment_file $TmpDir/attachment_file
|
||
|
pushd $TmpDir
|
||
|
rlPhaseEnd
|
||
|
|
||
|
rlPhaseStartTest "sanity"
|
||
|
rlRun "reporter-mantisbt --help &> null"
|
||
|
rlRun "reporter-mantisbt --help 2>&1 | grep 'Usage:'"
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# search by duphash
|
||
|
# API new method for searching in MantisBT by duphas
|
||
|
rlPhaseStartTest "search by duphash"
|
||
|
./pyserve \
|
||
|
login_correct \
|
||
|
search_two_issues &> server_log &
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -h bbfe66399cc9cb8ba647414e33c5d1e4ad82b511 -c mantisbt.conf &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
rlAssertGrep "<ns3:mc_login><ns3:username xsi:type=\"ns2:string\">test</ns3:username>" server_log
|
||
|
rlAssertGrep "<ns3:password xsi:type=\"ns2:string\">password</ns3:password></ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:field xsi:type=\"ns3:ObjectRef\"><ns3:name xsi:type=\"ns2:string\">abrt_hash</ns3:name>" server_log
|
||
|
rlAssertGrep "bbfe66399cc9cb8ba647414e33c5d1e4ad82b511</ns3:item>" server_log
|
||
|
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Looking for similar problems in CentOS Bug Tracker" client_log
|
||
|
rlAssertGrep "<item xsi:type=\"ns1:IssueData\"><id xsi:type=\"xsd:integer\">99</id>" client_log
|
||
|
rlAssertGrep "99" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# attach files to issue (parameter t, issue ID is specified)
|
||
|
rlPhaseStartTest "attach files to issue (issue ID is specified)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
&> server_log &
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf \
|
||
|
-d problem_dir -t1 attachment_file &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_login><ns3:username xsi:type=\"ns2:string\">test</ns3:username>" server_log
|
||
|
|
||
|
rlAssertGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">1</ns3:issue_id>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">attachment_file</ns3:name>" server_log
|
||
|
rlAssertGrep "<ns3:content xsi:type=\"SOAP-ENC:base64\">U1NCaGJTQmhkSFJoWTJobFpDQTZLUW89Cg==</ns3:content>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Attaching file 'attachment_file' to issue 1" client_log
|
||
|
rlAssertGrep "<return xsi:type=\"xsd:integer\">4</return></ns1:mc_issue_attachment_addResponse>" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# attach files to issue (parameter -t, issue ID is not specified)
|
||
|
# API mc_issue_attachment_add
|
||
|
rlPhaseStartTest "attach files to issue (issue ID is not specified)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
&> server_log &
|
||
|
|
||
|
rlRun "echo \"CentOS Bug Tracker: URL=http://localhost:12345/mantisbt/view.php?id=1\" > problem_dir/reported_to"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -d problem_dir -t attachment_file &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">1</ns3:issue_id>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">attachment_file</ns3:name>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Attaching file 'attachment_file' to issue 1" client_log
|
||
|
rlAssertGrep "<return xsi:type=\"xsd:integer\">4</return></ns1:mc_issue_attachment_addResponse>" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# force reporting even if this problem is already reported (parameter -f)
|
||
|
rlPhaseStartTest "force reporting"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_no_issue \
|
||
|
$QUERIES_DIR/get_custom_fields \
|
||
|
$QUERIES_DIR/create \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
&> server_log &
|
||
|
|
||
|
# is reported
|
||
|
rlRun "echo \"CentOS Bug Tracker: URL=http://localhost:12345/mantisbt/view.php?id=1\" > problem_dir/reported_to"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -f -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir >client_log 2>&1 "
|
||
|
kill %1
|
||
|
|
||
|
#request
|
||
|
rlAssertGrep "<ns1:Body><ns3:mc_login><ns3:username xsi:type=\"ns2:string\">test</ns3:username>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_add>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">proj</ns3:name>" server_log
|
||
|
rlAssertGrep "<ns3:view_state xsi:type=\"ns3:ObjectRef\"><ns3:name xsi:type=\"ns2:string\">public</ns3:name></ns3:view_state>" server_log
|
||
|
rlAssertGrep "<ns3:os_build xsi:type=\"ns2:string\">666</ns3:os_build>" server_log
|
||
|
rlAssertGrep "<ns3:summary xsi:type=\"ns2:string\">\[abrt\] : rxvt_term::selection_delimit_word(): Process /usr/bin/urxvtd was killed by signal 11 (SIGSEGV)</ns3:summary>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">backtrace</ns3:name>" server_log
|
||
|
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">7</ns3:issue_id>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">backtrace</ns3:name>" server_log
|
||
|
|
||
|
#response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertGrep "Potential duplicate: issue 99" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 0 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
|
||
|
rlAssertGrep "Creating a new issue" client_log
|
||
|
rlAssertGrep "<ns1:mc_issue_addResponse><return xsi:type=\"xsd:integer\">7</return>" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# create a new issue (only potential duplicate issues exist)
|
||
|
rlPhaseStartTest "create an issue (only potential duplicate issues exist)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_no_issue \
|
||
|
$QUERIES_DIR/get_custom_fields \
|
||
|
$QUERIES_DIR/create \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
&> server_log &
|
||
|
|
||
|
# is reported
|
||
|
rlRun "echo \"CentOS Bug Tracker: URL=http://localhost:12345/mantisbt/view.php?id=1\" > problem_dir/reported_to"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -f -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir >client_log 2>&1 "
|
||
|
kill %1
|
||
|
|
||
|
#request
|
||
|
rlAssertGrep "<ns1:Body><ns3:mc_login><ns3:username xsi:type=\"ns2:string\">test</ns3:username>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_add>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">proj</ns3:name>" server_log
|
||
|
rlAssertGrep "<ns3:view_state xsi:type=\"ns3:ObjectRef\"><ns3:name xsi:type=\"ns2:string\">public</ns3:name></ns3:view_state>" server_log
|
||
|
rlAssertGrep "<ns3:os_build xsi:type=\"ns2:string\">666</ns3:os_build>" server_log
|
||
|
rlAssertGrep "<ns3:summary xsi:type=\"ns2:string\">\[abrt\] : rxvt_term::selection_delimit_word(): Process /usr/bin/urxvtd was killed by signal 11 (SIGSEGV)</ns3:summary>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">backtrace</ns3:name>" server_log
|
||
|
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">7</ns3:issue_id>" server_log
|
||
|
rlAssertGrep "<ns3:name xsi:type=\"ns2:string\">backtrace</ns3:name>" server_log
|
||
|
|
||
|
#response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertGrep "Potential duplicate: issue 99" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 0 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
|
||
|
rlAssertGrep "Creating a new issue" client_log
|
||
|
rlAssertGrep "<ns1:mc_issue_addResponse><return xsi:type=\"xsd:integer\">7</return>" client_log
|
||
|
|
||
|
rlAssertGrep "Status: new http://localhost:12345/view.php?id=7" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# create a new issue (no potential duplicate issues exist)
|
||
|
rlPhaseStartTest "create an issue (no potential duplicate issues exist)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_no_issue \
|
||
|
$QUERIES_DIR/get_custom_fields \
|
||
|
$QUERIES_DIR/create \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
&> server_log &
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -d problem_dir &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
#request
|
||
|
rlAssertGrep "<ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_add>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
|
||
|
#response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 0 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "CentOS Bug Tracker has 2 reports" client_log #not
|
||
|
|
||
|
rlAssertGrep "Creating a new issue" client_log
|
||
|
rlAssertGrep "<ns1:mc_issue_addResponse><return xsi:type=\"xsd:integer\">7</return>" client_log
|
||
|
|
||
|
rlAssertGrep "Status: new http://localhost:12345/view.php?id=7" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# duplicate issue exist (comment doesn't exist, not closed as duplicate)
|
||
|
rlPhaseStartTest "duplicate issue exist (comment doesn't exist)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_one_issue \
|
||
|
$QUERIES_DIR/get_issue \
|
||
|
&> server_log &
|
||
|
|
||
|
rlRun "rm -f problem_dir/comment"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">99</ns3:issue_id></ns3:mc_issue_get>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 1 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
rlAssertNotGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log #not
|
||
|
|
||
|
rlAssertGrep "<ns1:mc_issue_getResponse><return xsi:type=\"ns1:IssueData\"><id xsi:type=\"xsd:integer\">99</id>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">new</name></status>" client_log
|
||
|
rlAssertGrep "Bug is already reported: 99" client_log
|
||
|
|
||
|
rlAssertGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# duplicate issue exist (comment doesn't exist, closed as duplicate)
|
||
|
rlPhaseStartTest "duplicate issue exist (comment doesn't exist)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_one_issue \
|
||
|
$QUERIES_DIR/get_issue_closed_as_duplicate \
|
||
|
$QUERIES_DIR/get_issue \
|
||
|
&> server_log &
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">99</ns3:issue_id></ns3:mc_issue_get>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 1 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
|
||
|
rlAssertGrep "<ns1:mc_issue_getResponse><return xsi:type=\"ns1:IssueData\"><id xsi:type=\"xsd:integer\">99</id>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">new</name></status>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">duplicate</name></resolution>" client_log
|
||
|
rlAssertGrep "Bug is already reported: 99" client_log
|
||
|
rlAssertGrep "Issue 99 is a duplicate, using parent issue 101" client_log
|
||
|
|
||
|
rlAssertGrep "Status: new open http://localhost:12345/view.php?id=101" client_log
|
||
|
# not contain
|
||
|
rlAssertNotGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rm -f problem_dir/comment
|
||
|
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# duplicate issue exist (comment file exists, isn't duplicate, attach backtrace)
|
||
|
rlPhaseStartTest "duplicate issue exist (comment file exists, isn't duplicate, attach backtrace)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_one_issue \
|
||
|
$QUERIES_DIR/get_issue \
|
||
|
$QUERIES_DIR/add_note \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
&> server_log &
|
||
|
|
||
|
# create a comment file
|
||
|
rlRun "echo \"i am comment\" > problem_dir/comment"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">99</ns3:issue_id></ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_note_add>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 1 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
rlAssertNotGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log #not
|
||
|
|
||
|
rlAssertGrep "<ns1:mc_issue_getResponse><return xsi:type=\"ns1:IssueData\"><id xsi:type=\"xsd:integer\">99</id>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">new</name></status>" client_log
|
||
|
rlAssertGrep "Bug is already reported: 99" client_log
|
||
|
rlAssertGrep "Adding new comment to issue 99" client_log
|
||
|
rlAssertGrep "Attaching better backtrace" client_log
|
||
|
rlAssertGrep "<ns1:mc_issue_note_addResponse><return xsi:type=\"xsd:integer\">5</return></ns1:mc_issue_note_addResponse>" client_log
|
||
|
rlAssertGrep "<return xsi:type=\"xsd:integer\">4</return></ns1:mc_issue_attachment_addResponse>" client_log
|
||
|
|
||
|
rlAssertGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rm -f problem_dir/comment
|
||
|
rlPhaseEnd
|
||
|
|
||
|
# duplicate issue exist (comment file exists, is duplicate)
|
||
|
rlPhaseStartTest "duplicate issue exist (comment file exists, is duplicate)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_one_issue \
|
||
|
$QUERIES_DIR/get_issue_dup_comment_rating_1 \
|
||
|
&> server_log &
|
||
|
|
||
|
# create a comment file
|
||
|
rlRun "echo \"i am comment\" > problem_dir/comment"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">99</ns3:issue_id></ns3:mc_issue_get>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 1 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
|
||
|
rlAssertGrep "<ns1:mc_issue_getResponse><return xsi:type=\"ns1:IssueData\"><id xsi:type=\"xsd:integer\">99</id>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">new</name></status>" client_log
|
||
|
rlAssertGrep "Bug is already reported: 99" client_log
|
||
|
rlAssertGrep "Found the same comment in the issue history, not adding a new one" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<ns1:mc_issue_note_addResponse><return xsi:type=\"xsd:integer\">5</return></ns1:mc_issue_note_addResponse>" client_log
|
||
|
rlAssertNotGrep "<return xsi:type=\"xsd:integer\">4</return></ns1:mc_issue_attachment_addResponse>" client_log
|
||
|
|
||
|
rlAssertGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rm -f problem_dir/comment
|
||
|
rlPhaseEnd
|
||
|
|
||
|
rlPhaseStartTest "duplicate issue exist (comment file exists, isn't duplicate, the same backtrace rating)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_one_issue \
|
||
|
$QUERIES_DIR/get_issue_comment_rating_1 \
|
||
|
$QUERIES_DIR/add_note \
|
||
|
&> server_log &
|
||
|
|
||
|
# create a comment file
|
||
|
rlRun "echo \"i am comment\" > problem_dir/comment"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">99</ns3:issue_id></ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_note_add>" server_log
|
||
|
|
||
|
#not contain
|
||
|
rlAssertNotGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 1 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
rlAssertGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
|
||
|
|
||
|
rlAssertGrep "<ns1:mc_issue_getResponse><return xsi:type=\"ns1:IssueData\"><id xsi:type=\"xsd:integer\">99</id>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">new</name></status>" client_log
|
||
|
rlAssertGrep "Bug is already reported: 99" client_log
|
||
|
rlAssertGrep "<ns1:mc_issue_note_addResponse><return xsi:type=\"xsd:integer\">5</return></ns1:mc_issue_note_addResponse>" client_log
|
||
|
rlAssertGrep "Adding new comment to issue 99" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertNotGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
rlAssertNotGrep "Attaching better backtrace" client_log
|
||
|
rlAsserNottGrep "Found the same comment in the issue history, not adding a new one" client_log
|
||
|
rlAssertNotGrep "<return xsi:type=\"xsd:integer\">4</return></ns1:mc_issue_attachment_addResponse>" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rm -f problem_dir/comment
|
||
|
rlPhaseEnd
|
||
|
|
||
|
rlPhaseStartTest "duplicate issue exist (comment file exists, isn't duplicate, better backtrace rating)"
|
||
|
./pyserve \
|
||
|
$QUERIES_DIR/login_correct \
|
||
|
$QUERIES_DIR/project_get_id_from_name \
|
||
|
$QUERIES_DIR/search_two_issues \
|
||
|
$QUERIES_DIR/search_one_issue \
|
||
|
$QUERIES_DIR/get_issue_comment_rating_1 \
|
||
|
$QUERIES_DIR/add_note \
|
||
|
$QUERIES_DIR/attachment \
|
||
|
&> server_log &
|
||
|
|
||
|
# create a comment file
|
||
|
rlRun "echo \"i am comment\" > problem_dir/comment"
|
||
|
rlRun "echo \"5\" > problem_dir/backtrace_rating"
|
||
|
|
||
|
sleep 1
|
||
|
rlRun "reporter-mantisbt -vvv -c mantisbt.conf -F mantisbt_format.conf -A mantisbt_formatdup.conf -d problem_dir &> client_log"
|
||
|
kill %1
|
||
|
|
||
|
# request
|
||
|
rlAssertGrep "<ns3:mc_login>" server_log
|
||
|
rlAssertGrep "<ns3:mc_filter_search_issues>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:issue_id xsi:type=\"ns2:integer\">99</ns3:issue_id></ns3:mc_issue_get>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_note_add>" server_log
|
||
|
rlAssertGrep "<ns3:mc_issue_attachment_add>" server_log
|
||
|
|
||
|
# response
|
||
|
rlAssertGrep "<SOAP-ENV:Body><ns1:mc_loginResponse>" client_log
|
||
|
rlAssertGrep "<id xsi:type=\"xsd:integer\">2</id>" client_log
|
||
|
rlAssertGrep "name xsi:type=\"xsd:string\">test</name>" client_log
|
||
|
|
||
|
rlAssertGrep "Checking for duplicates" client_log
|
||
|
rlAssertGrep "CentOS Bug Tracker has 2 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511' including cross-version ones" client_log
|
||
|
rlAssertGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[2\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAssertGrep "CentOS Bug Tracker has 1 reports with duphash 'bbfe66399cc9cb8ba647414e33c5d1e4ad82b511'" client_log
|
||
|
rlAssertNotGrep "<return SOAP-ENC:arrayType=\"ns1:IssueData\[0\]\" xsi:type=\"SOAP-ENC:Array\">" client_log
|
||
|
|
||
|
rlAssertGrep "<ns1:mc_issue_getResponse><return xsi:type=\"ns1:IssueData\"><id xsi:type=\"xsd:integer\">99</id>" client_log
|
||
|
rlAssertGrep "<name xsi:type=\"xsd:string\">new</name></status>" client_log
|
||
|
rlAssertGrep "Bug is already reported: 99" client_log
|
||
|
rlAssertGrep "<ns1:mc_issue_note_addResponse><return xsi:type=\"xsd:integer\">5</return></ns1:mc_issue_note_addResponse>" client_log
|
||
|
rlAssertGrep "Adding new comment to issue 99" client_log
|
||
|
rlAssertGrep "Attaching better backtrace" client_log
|
||
|
rlAssertGrep "<return xsi:type=\"xsd:integer\">4</return></ns1:mc_issue_attachment_addResponse>" client_log
|
||
|
|
||
|
rlAssertGrep "Status: new open http://localhost:12345/view.php?id=99" client_log
|
||
|
|
||
|
# not contain
|
||
|
rlAsserNottGrep "Found the same comment in the issue history, not adding a new one" client_log
|
||
|
rlAssertNotGrep "<int>323795</int>" client_log #dummy
|
||
|
|
||
|
rm -f problem_dir/reported_to
|
||
|
rm -f problem_dir/comment
|
||
|
rlRun "echo \"1\" > problem_dir/backtrace_rating"
|
||
|
rlPhaseEnd
|
||
|
|
||
|
rlPhaseStartCleanup
|
||
|
rlBundleLogs abrt server* client*
|
||
|
popd # TmpDir
|
||
|
rm -rf $TmpDir
|
||
|
rlPhaseEnd
|
||
|
rlJournalPrintText
|
||
|
rlJournalEnd
|