summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbhishek Koneru <akoneru@redhat.com>2013-11-06 15:38:53 -0500
committerAbhishek Koneru <akoneru@redhat.com>2013-11-10 15:15:28 -0500
commitbb20c9ffb38baae7ae89f16737e37569af445bdc (patch)
tree87bdaea1a517abccf7a916950996931c342ebd1e
parentf74c644b09dd1e18289c4a543a211c3ff8cd02d9 (diff)
downloadpki-bb20c9ffb38baae7ae89f16737e37569af445bdc.tar.gz
pki-bb20c9ffb38baae7ae89f16737e37569af445bdc.tar.xz
pki-bb20c9ffb38baae7ae89f16737e37569af445bdc.zip
Add the QE tests to upstream git.
Opensource all the QE tests to upstream git so that the tests can be run by setting up a local beaker server. Ticket #657,722,723,724
-rwxr-xr-xtests/dogtag/Makefile99
-rwxr-xr-xtests/dogtag/PURPOSE3
-rw-r--r--tests/dogtag/acceptance/api-tests/legacy/ca-tests/Makefile66
-rw-r--r--tests/dogtag/acceptance/api-tests/legacy/ca-tests/PURPOSE3
-rwxr-xr-xtests/dogtag/acceptance/api-tests/legacy/ca-tests/pki-ca-ag-certificates.sh145
-rwxr-xr-xtests/dogtag/acceptance/api-tests/legacy/ca-tests/runtest.sh68
-rw-r--r--tests/dogtag/acceptance/api-tests/xml-api/ca-tests/Makefile66
-rw-r--r--tests/dogtag/acceptance/api-tests/xml-api/ca-tests/PURPOSE3
-rwxr-xr-xtests/dogtag/acceptance/api-tests/xml-api/ca-tests/pki-ca-ag-certificates.sh145
-rwxr-xr-xtests/dogtag/acceptance/api-tests/xml-api/ca-tests/runtest.sh68
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-cert-cli/Makefile66
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-cert-cli/PURPOSE3
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-cert-cli/pki-cert-request-submit-cli.sh170
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-cert-cli/runtest.sh72
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/Makefile75
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/PURPOSE3
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-add-ca.sh855
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-ca.sh370
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-del-ca.sh165
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-find-ca.sh249
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-show-ca.sh642
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ca/runtest.sh77
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/Makefile75
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/PURPOSE3
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-add-kra.sh1192
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-del-kra.sh101
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-find-kra.sh220
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-kra.sh336
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-show-kra.sh446
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/kra/runtest.sh77
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/Makefile75
-rw-r--r--tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/PURPOSE3
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-add-ocsp.sh1192
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-del-ocsp.sh101
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-find-ocsp.sh220
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-ocsp.sh336
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-show-ocsp.sh446
-rwxr-xr-xtests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/runtest.sh77
-rw-r--r--tests/dogtag/acceptance/quickinstall/Makefile64
-rw-r--r--tests/dogtag/acceptance/quickinstall/PURPOSE3
-rw-r--r--tests/dogtag/acceptance/quickinstall/rhcs-install-lib.sh388
-rw-r--r--tests/dogtag/acceptance/quickinstall/rhcs-install.sh449
-rw-r--r--tests/dogtag/acceptance/quickinstall/rhds-install.sh174
-rwxr-xr-xtests/dogtag/acceptance/quickinstall/runtest.sh67
-rw-r--r--tests/dogtag/beakerjob.rhcs.x86_64.f19.xml45
-rwxr-xr-xtests/dogtag/make-package.sh39
-rwxr-xr-xtests/dogtag/runtest.sh103
-rwxr-xr-xtests/dogtag/shared/Makefile85
-rwxr-xr-xtests/dogtag/shared/PURPOSE3
-rwxr-xr-xtests/dogtag/shared/dummycert1.pem25
-rw-r--r--tests/dogtag/shared/env.sh65
-rwxr-xr-xtests/dogtag/shared/pki-cert-cli-lib.sh49
-rwxr-xr-xtests/dogtag/shared/pki-user-cli-lib.sh59
-rw-r--r--tests/dogtag/shared/rhcs-install-shared.sh35
-rwxr-xr-xtests/dogtag/shared/rhcs-shared.sh426
-rwxr-xr-xtests/dogtag/shared/runtest.sh52
-rwxr-xr-xtests/dogtag/shared/set-root-pw.exp21
57 files changed, 10465 insertions, 0 deletions
diff --git a/tests/dogtag/Makefile b/tests/dogtag/Makefile
new file mode 100755
index 000000000..e9e5a1466
--- /dev/null
+++ b/tests/dogtag/Makefile
@@ -0,0 +1,99 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/PKI_TEST_USER_ID
+# Description: Basic install test for rhcs
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+export TEST=/CoreOS/rhcs/PKI_TEST_USER_ID
+export TESTVERSION=1.0.8_RPM_IDENTIFIER
+
+BUILT_FILE=
+
+FILES=$(METADATA) runtest.sh Makefile PURPOSE shared acceptance dev_java_tests
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ rm -rf /opt/rhqa_pki
+ mkdir /opt/rhqa_pki
+ rm -f /opt/rhqa_pki/env.sh
+ cp ./shared/env.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/rhcs-shared.sh
+ cp ./shared/rhcs-shared.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/rhcs-install-shared.sh
+ cp ./shared/rhcs-install-shared.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/pki-user-cli-lib.sh
+ cp ./shared/pki-user-cli-lib.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/set-root-pw.exp
+ cp ./shared/set-root-pw.exp /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/pki-cert-cli-lib.sh
+ cp ./shared/pki-cert-cli-lib.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/dummycert1.pem
+ cp ./shared/dummycert1.pem /opt/rhqa_pki/.
+ chmod 755 /opt/rhqa_pki/*.sh
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ #shared
+ chmod 755 ./shared/rhcs-shared.sh
+ chmod 755 ./shared/rhcs-install-shared.sh
+ chmod 755 ./shared/set-root-pw.exp
+ chmod 755 ./shared/pki-user-cli-lib.sh
+ chmod 755 ./shared/dummycert1.pem
+ chmod 755 ./shared/pki-cert-cli-lib.sh
+ chmod a+x runtest.sh
+ #quickinstall
+ chmod a+x ./acceptance/quickinstall/rhcs-install.sh
+ chmod a+x ./acceptance/quickinstall/rhcs-install-lib.sh
+ chmod a+x ./acceptance/quickinstall/rhds-install.sh
+ #CA
+ chmod 777 ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-ca.sh
+ chmod 777 ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-add-ca.sh
+ chmod 777 ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-show-ca.sh
+ chmod 777 ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-find-ca.sh
+ chmod 777 ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-del-ca.sh
+
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: Package containing libraries for rhcs beaker tests" >> $(METADATA)
+ @echo "Type: Acceptance" >> $(METADATA)
+ @echo "TestTime: 180m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/PURPOSE b/tests/dogtag/PURPOSE
new file mode 100755
index 000000000..a5213c645
--- /dev/null
+++ b/tests/dogtag/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/PKI_TEST_USER_ID
+Description: All scripts for RHCS tests
+Author: Laxmi Sunkara <lsunkara@redhat.com>
diff --git a/tests/dogtag/acceptance/api-tests/legacy/ca-tests/Makefile b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/Makefile
new file mode 100644
index 000000000..c21710842
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/Makefile
@@ -0,0 +1,66 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/api-tests/legacy/ca-tests
+# Description: RHCS pki-ca-tests
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/rhcs/acceptance/api-tests/legacy/ca-tests
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) pki-ca-ag-certificates.sh runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod a+x pki-ca-ag-certificates.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod a+x pki-ca-ag-certificates.sh
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: RHCS quickinstall" >> $(METADATA)
+ @echo "Type: Functional" >> $(METADATA)
+ @echo "TestTime: 60m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/acceptance/api-tests/legacy/ca-tests/PURPOSE b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/PURPOSE
new file mode 100644
index 000000000..82cd541e2
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/acceptance/api-tests/legacy/ca-tests
+Description: pki CA interface api tests
+Author: Asha Akkiangady <aakkiang@redhat.com>
diff --git a/tests/dogtag/acceptance/api-tests/legacy/ca-tests/pki-ca-ag-certificates.sh b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/pki-ca-ag-certificates.sh
new file mode 100755
index 000000000..bc00b325c
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/pki-ca-ag-certificates.sh
@@ -0,0 +1,145 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/api-tests/legacy/ca-tests/
+# Description: PKI CA interface API tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following interfaces needs to be tested:
+# pki-ca-ag-certificates -- CA agent interface managing certificates.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-user-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="test_user1"
+CA_DOMAIN=`hostname -d`
+CA_AGENT_CERT="PKI Administrator for $CA_DOMAIN"
+CERTDB_PW="Password"
+
+
+
+########################################################################
+
+run_pki-ca-ag-certificates(){
+ rlPhaseStartSetup "pki_ca-ag-certificates-startup: Create temp directory and import CA agent cert into a nss certificate db"
+ rlLog "Admin Certificate is located at: $ADMIN_CERT_LOCATION"
+ rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
+ rlRun "pushd $TmpDir"
+ rlLog "Temp Directory = $TmpDir"
+ rlRun "importAdminCert $CA_ADMIN_CERT_LOCATION $TmpDir $CERTDB_PW $CA_AGENT_CERT" 0 "Import Agent certificate to $TmpDir"
+ rlRun "install_and_trust_CA_cert $CA_SERVER_ROOT $TmpDir"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_ca-ag-certificates-001: CA Agent approve a certificate requested for caUser profile"
+ local REQUESTCFG="$TmpDir/cert_request1.out"
+ echo "-ca_hostname $CA_HOSTNAME
+ -ca_eesslport 8443
+ -request_type crmf
+ -request_keysize 1024
+ -request_keytype RSA
+ -client_certdb_dir \"$TmpDir\"
+ -client_certdb_pwd \"$CERTDB_PW\"
+ -requestor_phone \"12345678\"
+ -requestor_email \"test\"
+ -UID \"$user1\" -CN \"$user1\" -OU \"$user1\" -O \"$user1\" -E \"$user1\" -C \"US\" -debug true
+ " > $REQUESTCFG
+ rlRun "runJava profile_request_caUserCert $REQUESTCFG > \"$TmpDir/pki-ca-ag-certificates-001_1.out\""
+ rlAssertGrep "REQUEST_ID" "$TmpDir/pki-ca-ag-certificates-001_1.out"
+ request_id=`cat $TmpDir/pki-ca-ag-certificates-001_1.out | grep "REQUEST_ID=" | cut -d "=" -f 2`
+ rlRun "cat $TmpDir/pki-ca-ag-certificates-001_1.out"
+ rlLog "Request id = $request_id"
+ # Agent approve the request
+ Year=`date +%Y`
+ Month=`date +%m`
+ Day=`date +%d`
+ Hour=`date +%H`
+ Minute=`date +%M`
+ Second=`date +%S`
+ start_year=$Year;
+ end_year=$(($Year+1));
+ end_day="1"
+ local AGENT_APPROVECFG="$TmpDir/cert_approve1.out"
+ if [ $request_id -gt 1 ] ; then
+ rlPass "Request id found"
+ echo "-ca_hostname $CA_HOSTNAME
+ -ca_agent_port 8443
+ -client_certdb_dir \"$TmpDir\"
+ -client_certdb_pwd $CERTDB_PW
+ -agent_cert_name \"$CA_AGENT_CERT\"
+ -request_id $request_id
+ -debug true
+ -cert_ext_name UID=$user1
+ -cert_ext_notBefore \"$start_year-$Month-$Day $Hour:$Minute:$Second\"
+ -cert_ext_notAfter \"$end_year-$Month-$end_day $Hour:$Minute:$Second\"
+ -cert_ext_authInfoAccessCritical false
+ -cert_ext_authInfoAccessGeneralNames \" \"
+ -cert_ext_keyUsageCritical true
+ -cert_ext_keyUsageDigitalSignature true
+ -cert_ext_keyUsageNonRepudiation true
+ -cert_ext_keyUsageKeyEncipherment true
+ -cert_ext_keyUsageDataEncipherment false
+ -cert_ext_keyUsageKeyAgreement false
+ -cert_ext_keyUsageKeyCertSign false
+ -cert_ext_keyUsageCrlSign false
+ -cert_ext_keyUsageEncipherOnly false
+ -cert_ext_keyUsageDecipherOnly false
+ -cert_ext_exKeyUsageCritical false
+ -cert_ext_exKeyUsageOIDs \"1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4\"
+ -cert_ext_subjAltNameExtCritical false
+ -cert_ext_subjAltNames \"RFC822Name: \"
+ -cert_ext_signingAlg SHA1withRSA
+ -cert_ext_requestNotes submittingcerts
+ -request_op approve
+ " > $AGENT_APPROVECFG
+
+ rlRun "runJava ca_ag_ManageProfileRequest_caUserCert $AGENT_APPROVECFG > \"$TmpDir/pki-ca-ag-certificates-001_2.out\""
+ rlRun "cat $TmpDir/pki-ca-ag-certificates-001_2.out"
+ rlAssertGrep "SERIAL_NUMBER" "$TmpDir/pki-ca-ag-certificates-001_2.out"
+ cert_serial_number=`cat $TmpDir/pki-ca-ag-certificates-001_2.out | grep "SERIAL_NUMBER=" | cut -d "=" -f 2`
+ if [ $cert_serial_number ] ; then
+ rlLog "SERIAL_NUMBER=$cert_serial_number"
+ rlPass "Certificate is approved, Serial Number is $cert_serial_number"
+ else
+ rlFail "Failed to approve the cert"
+ fi
+ else
+ rlFail "Request id is empty"
+ fi
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_ca-ag-certificates-cleanup: Delete temp dir"
+ rlRun "popd"
+ # rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/api-tests/legacy/ca-tests/runtest.sh b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/runtest.sh
new file mode 100755
index 000000000..1cb452a09
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/legacy/ca-tests/runtest.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/api-tests/legacy/ca-tests
+# Description: CA interface api tests
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include data-driven test data file:
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include test case file
+. ./pki-ca-ag-certificates.sh
+
+
+##############################################################################
+PACKAGE="pki-ca"
+
+
+rlJournalStart
+ rlPhaseStartSetup "ca-tests-startup: Check for pki-ca package"
+ rpm -qa | grep $PACKAGE
+ if [ $? -eq 0 ] ; then
+ rlPass "$PACKAGE package is installed"
+ else
+ rlFail "$PACKAGE package NOT found!"
+ fi
+ rlPhaseEnd
+
+
+ # Execute pki ca agent tests
+ run_pki-ca-ag-certificates
+
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/Makefile b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/Makefile
new file mode 100644
index 000000000..b7a30c00c
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/Makefile
@@ -0,0 +1,66 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/api-tests/xml-api/ca-tests
+# Description: RHCS xml api pki-ca-tests
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/rhcs/acceptance/api-tests/xml-api/ca-tests
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) pki-ca-ag-certificates.sh runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod a+x pki-ca-ag-certificates.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod a+x pki-ca-ag-certificates.sh
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: RHCS quickinstall" >> $(METADATA)
+ @echo "Type: Functional" >> $(METADATA)
+ @echo "TestTime: 60m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/PURPOSE b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/PURPOSE
new file mode 100644
index 000000000..8e50e1912
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/acceptance/api-tests/xml-api/ca-tests
+Description: pki CA interface xml api tests
+Author: Asha Akkiangady <aakkiang@redhat.com>
diff --git a/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/pki-ca-ag-certificates.sh b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/pki-ca-ag-certificates.sh
new file mode 100755
index 000000000..81fcf4127
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/pki-ca-ag-certificates.sh
@@ -0,0 +1,145 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/api-tests/xml-api/ca-tests/
+# Description: PKI CA interface XML API tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following interfaces needs to be tested:
+# pki-ca-ag-certificates -- CA agent interface managing certificates.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-user-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="test_user1"
+CA_DOMAIN=`hostname -d`
+CA_AGENT_CERT="PKI Administrator for $CA_DOMAIN"
+CERTDB_PW="Password"
+
+########################################################################
+
+run_pki-xml-api-ca-ag-certificates(){
+ rlPhaseStartSetup "pki_xml-api-ca-ag-certificates-startup: Create temp directory and import CA agent cert into a nss certificate db"
+ rlLog "Admin Certificate is located at: $ADMIN_CERT_LOCATION"
+ rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
+ rlRun "pushd $TmpDir"
+ rlLog "Temp Directory = $TmpDir"
+ rlRun "mkdir $TmpDir/nssdb"
+ rlRun "importAdminCert $CA_ADMIN_CERT_LOCATION $TmpDir/nssdb $CERTDB_PW $CA_AGENT_CERT" 0 "Import Agent certificate to $TmpDir/nssdb"
+ rlRun "install_and_trust_CA_cert $CA_SERVER_ROOT $TmpDir/nssdb"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_xml-api-ca-ag-certificates-001: CA Agent approve a certificate requested for caUser profile"
+ local
+ local REQUESTPARAM"$TmpDir/cert_request1.out"
+ echo "-ca_hostname $CA_HOSTNAME
+ -ca_eesslport 8443
+ -request_type crmf
+ -request_keysize 1024
+ -request_keytype RSA
+ -client_certdb_dir \"$TmpDir\"
+ -client_certdb_pwd \"$CERTDB_PW\"
+ -requestor_phone \"12345678\"
+ -requestor_email \"test\"
+ -UID \"$user1\" -CN \"$user1\" -OU \"$user1\" -O \"$user1\" -E \"$user1\" -C \"US\" -debug true
+ " > $REQUESTCFG
+ rlRun "runJava profile_request_caUserCert $REQUESTCFG > \"$TmpDir/pki-ca-ag-certificates-001_1.out\""
+ rlAssertGrep "REQUEST_ID" "$TmpDir/pki-ca-ag-certificates-001_1.out"
+ request_id=`cat $TmpDir/pki-ca-ag-certificates-001_1.out | grep "REQUEST_ID=" | cut -d "=" -f 2`
+ rlRun "cat $TmpDir/pki-ca-ag-certificates-001_1.out"
+ rlLog "Request id = $request_id"
+ # Agent approve the request
+ Year=`date +%Y`
+ Month=`date +%m`
+ Day=`date +%d`
+ Hour=`date +%H`
+ Minute=`date +%M`
+ Second=`date +%S`
+ start_year=$Year;
+ end_year=$(($Year+1));
+ end_day="1"
+ local AGENT_APPROVECFG="$TmpDir/cert_approve1.out"
+ if [ $request_id -gt 1 ] ; then
+ rlPass "Request id found"
+ echo "-ca_hostname $CA_HOSTNAME
+ -ca_agent_port 8443
+ -client_certdb_dir \"$TmpDir\"
+ -client_certdb_pwd $CERTDB_PW
+ -agent_cert_name \"$CA_AGENT_CERT\"
+ -request_id $request_id
+ -debug true
+ -cert_ext_name UID=$user1
+ -cert_ext_notBefore \"$start_year-$Month-$Day $Hour:$Minute:$Second\"
+ -cert_ext_notAfter \"$end_year-$Month-$end_day $Hour:$Minute:$Second\"
+ -cert_ext_authInfoAccessCritical false
+ -cert_ext_authInfoAccessGeneralNames \" \"
+ -cert_ext_keyUsageCritical true
+ -cert_ext_keyUsageDigitalSignature true
+ -cert_ext_keyUsageNonRepudiation true
+ -cert_ext_keyUsageKeyEncipherment true
+ -cert_ext_keyUsageDataEncipherment false
+ -cert_ext_keyUsageKeyAgreement false
+ -cert_ext_keyUsageKeyCertSign false
+ -cert_ext_keyUsageCrlSign false
+ -cert_ext_keyUsageEncipherOnly false
+ -cert_ext_keyUsageDecipherOnly false
+ -cert_ext_exKeyUsageCritical false
+ -cert_ext_exKeyUsageOIDs \"1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4\"
+ -cert_ext_subjAltNameExtCritical false
+ -cert_ext_subjAltNames \"RFC822Name: \"
+ -cert_ext_signingAlg SHA1withRSA
+ -cert_ext_requestNotes submittingcerts
+ -request_op approve
+ " > $AGENT_APPROVECFG
+
+ rlRun "runJava ca_ag_ManageProfileRequest_caUserCert $AGENT_APPROVECFG > \"$TmpDir/pki-ca-ag-certificates-001_2.out\""
+ rlRun "cat $TmpDir/pki-ca-ag-certificates-001_2.out"
+ rlAssertGrep "SERIAL_NUMBER" "$TmpDir/pki-ca-ag-certificates-001_2.out"
+ cert_serial_number=`cat $TmpDir/pki-ca-ag-certificates-001_2.out | grep "SERIAL_NUMBER=" | cut -d "=" -f 2`
+ if [ $cert_serial_number ] ; then
+ rlLog "SERIAL_NUMBER=$cert_serial_number"
+ rlPass "Certificate is approved, Serial Number is $cert_serial_number"
+ else
+ rlFail "Failed to approve the cert"
+ fi
+ else
+ rlFail "Request id is empty"
+ fi
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_xml-api-ca-ag-certificates-cleanup: Delete temp dir"
+ rlRun "popd"
+ # rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/runtest.sh b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/runtest.sh
new file mode 100755
index 000000000..73676c015
--- /dev/null
+++ b/tests/dogtag/acceptance/api-tests/xml-api/ca-tests/runtest.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/api-tests/xml-api/ca-tests
+# Description: CA interface xml api tests
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include data-driven test data file:
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include test case file
+. ./pki-ca-ag-certificates.sh
+
+
+##############################################################################
+PACKAGE="pki-ca"
+
+
+rlJournalStart
+ rlPhaseStartSetup "xml-api-ca-tests-startup: Check for pki-ca package"
+ rpm -qa | grep $PACKAGE
+ if [ $? -eq 0 ] ; then
+ rlPass "$PACKAGE package is installed"
+ else
+ rlFail "$PACKAGE package NOT found!"
+ fi
+ rlPhaseEnd
+
+
+ # Execute pki ca agent tests
+ run_pki-xml-api-ca-ag-certificates
+
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/acceptance/cli-tests/pki-cert-cli/Makefile b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/Makefile
new file mode 100644
index 000000000..d5ebbbed2
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/Makefile
@@ -0,0 +1,66 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/cli-tests/pki-cert-cli
+# Description: RHCS pki-cert CLI tests
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/rhcs/acceptance/cli-tests/pki-cert-cli
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) pki-cert-request-submit-cli.sh runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod a+x pki-cert-request-submit-cli.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod a+x pki-cert-request-submit-cli.sh
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: RHCS quickinstall" >> $(METADATA)
+ @echo "Type: Functional" >> $(METADATA)
+ @echo "TestTime: 60m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/acceptance/cli-tests/pki-cert-cli/PURPOSE b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/PURPOSE
new file mode 100644
index 000000000..05c083ff9
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/acceptance/cli-tests/pki-cert-cli
+Description: pki cert CLI tests
+Author: Asha Akkiangady <aakkiang@redhat.com>
diff --git a/tests/dogtag/acceptance/cli-tests/pki-cert-cli/pki-cert-request-submit-cli.sh b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/pki-cert-request-submit-cli.sh
new file mode 100755
index 000000000..bed94be64
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/pki-cert-request-submit-cli.sh
@@ -0,0 +1,170 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-cert-cli
+# Description: PKI CERT CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-cert-request-submit
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="ca_agent2"
+user1fullname="Test ca_agent"
+user2="kra_agent2"
+user2fullname="Test kra_agent"
+user3="ocsp_agent2"
+user3fullname="Test ocsp_agent"
+
+
+########################################################################
+
+run_pki-cert-request-submit-cli_tests(){
+ rlPhaseStartSetup "pki_cert_cli_cert-request-submit-startup: Login as system user, create temp directory and import CA agent cert into a nss certificate db and trust CA root cert"
+ admin_cert_nickname="PKI Administrator for $CA_DOMAIN"
+ nss_db_password="Password"
+ rlRun "chmod 777 $CA_ADMIN_CERT_LOCATION"
+ local exp="/tmp/expfile.out"
+ local expuserlogin="/tmp/explogin.out"
+ local tmpout="/tmp/tmpout.out"
+ local tmpusercreate="/tmp/tmpuser.out"
+ #Create a new system user if user does not exist already
+ local NEW_USER="testuser1"
+ local NEW_PASSWORD="Secret"
+ rlLog "Creating user $NEW_USER"
+ /usr/bin/id $NEW_USER > $tmpusercreate 2>&1
+ if [ $? != 0 ] ; then
+ echo "$NEW_USER user does not exist"
+ /usr/sbin/useradd $NEW_USER
+ if [ $? != 0 ] ; then
+ echo "Failed to create $NEW_USER user"
+ fi
+ local cmd="passwd $NEW_USER"
+ echo "set timeout 5" > $exp
+ echo "set force_conservative 0" >> $exp
+ echo "set send_slow {1 .1}" >> $exp
+ echo "spawn $cmd" >> $exp
+ echo 'expect "*password: "' >> $exp
+ echo "send -s -- \"$NEW_PASSWORD\r\"" >> $exp
+ echo 'expect "*password: "' >> $exp
+ echo "send -s -- \"$NEW_PASSWORD\r\"" >> $exp
+ echo 'expect eof ' >> $exp
+ rlRun "cat $exp"
+ /usr/bin/expect $exp > $tmpout 2>&1
+ if [ $? = 0 ]; then
+ cat $tmpout | grep "all authentication tokens updated successfully"
+ else
+ rlFail "User password can not be set"
+ fi
+ fi
+ rlLog "Admin Certificate is located at: $CA_ADMIN_CERT_LOCATION"
+ rlRun "chmod 777 $CA_ADMIN_CERT_LOCATION"
+ rlRun "su - $NEW_USER -c 'TmpDir=\`mktemp -d\`'" 0 "Creating tmp directory"
+ rlRun "su - $NEW_USER -c 'pushd $TmpDir'"
+ rlLog "Temp Directory = $TmpDir"
+ rlRun "su - $NEW_USER -c 'mkdir $TmpDir/nssdb'"
+ rlRun "su - $NEW_USER -c 'importP12File $CA_ADMIN_CERT_LOCATION $CA_CLIENT_PKCS12_PASSWORD $TmpDir/nssdb $nss_db_password $admin_cert_nickname" 0 "Import Admin certificate to $TmpDir/nssdb'"
+ rlRun "su - $NEW_USER -c 'install_and_trust_CA_cert $CA_SERVER_ROOT $TmpDir/nssdb'"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_cert_cli_cert-request-submit-configtest: pki cert-request-submit configuration test"
+ rlRun "pki cert-request-submit > $TmpDir/pki_cert-request-submit_cfg.out"
+ rlAssertGrep "usage: cert-request-submit <filename>" "$TmpDir/pki_cert-request-submit_cfg.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_cert_cli_cert-request-submit-CA-001: Request a RSA certificate of key size 3072 in PKCS#10 format"
+ local sample_request_file1="/opt/rhqa_pki/cert_request_caUserCert1_1.in"
+ local sample_request_file2="/opt/rhqa_pki/cert_request_caUserCert1_2.in"
+ local temp_file="$TmpDir/certrequest_001.in"
+ rlRun "create_certdb \"$TmpDir/requestdb\" Password" 0 "Create a certificate db"
+ rlRun "generate_PKCS10 \"$TmpDir/requestdb\" Password rsa 3072 \"$TmpDir/request_001.out\" \"CN=test.example.com\" " 0 "generate PKCS10 certificate"
+ rlLog "Create a certificate request XML file.."
+ local search_string1="<InputAttr name=\"cert_request_type\">crmf<\/InputAttr>"
+ local replace_string1="\<InputAttr name=\"cert_request_type\"\>pkcs10\<\/InputAttr\>"
+ rlRun "sed -e '/-----BEGIN NEW CERTIFICATE REQUEST-----/d' -i $TmpDir/request_001.out"
+ rlRun "sed -e '/-----END NEW CERTIFICATE REQUEST-----/d' -i $TmpDir/request_001.out"
+ local cert_request=`cat $TmpDir/request_001.out`
+ rlRun "cat $sample_request_file1 $TmpDir/request_001.out $sample_request_file2 > $temp_file"
+ rlLog "Executing: sed -e 's/$search_string1/$replace_string1/' -i $temp_file"
+ rlRun "sed -e 's/$search_string1/$replace_string1/' -i $temp_file"
+ rlLog "Executing: pki cert-request-submit $temp_file"
+ rlRun "pki cert-request-submit $temp_file > $TmpDir/certrequest_001.out" 0 "Executing pki cert-request-submit"
+ rlAssertGrep "Submitted certificate request" "$TmpDir/certrequest_001.out"
+ rlAssertGrep "Request ID:" "$TmpDir/certrequest_001.out"
+ rlAssertGrep "Type: enrollment" "$TmpDir/certrequest_001.out"
+ rlAssertGrep "Status: pending" "$TmpDir/certrequest_001.out"
+ local request_id=`cat $TmpDir/certrequest_001.out | grep "Request ID:" | awk '{print $3}'`
+ rlLog "Request ID=$request_id"
+ rlRun "pki cert-request-show $request_id > $TmpDir/certrequestshow_001.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "$TmpDir/certrequestshow_001.out"
+ rlAssertGrep "Type: enrollment" "$TmpDir/certrequestshow_001.out"
+ rlAssertGrep "Status: pending" "$TmpDir/certrequestshow_001.out"
+ #Agent Approve the certificate
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -w $nss_db_password \
+ -t ca \
+ cert-request-review --action=approve $request_id"
+
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -w $nss_db_password \
+ -t ca \
+ cert-request-review --action=approve $request_id > $TmpDir/certapprove_001.out" \
+ 0 \
+ "CA agent approve the cert"
+ rlAssertGrep "Approved certificate request $request_id" "$TmpDir/certapprove_001.out"
+ rlRun "pki cert-request-show $request_id > $TmpDir/certrequestapprovedshow_001.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "$TmpDir/certrequestapprovedshow_001.out"
+ rlAssertGrep "Type: enrollment" "$TmpDir/certrequestapprovedshow_001.out"
+ rlAssertGrep "Status: complete" "$TmpDir/certrequestapprovedshow_001.out"
+ rlAssertGrep "Certificate ID:" "$TmpDir/certrequestapprovedshow_001.out"
+ local certificate_serial_number=`cat $TmpDir/certrequestapprovedshow_001.out | grep "Certificate ID:" | awk '{print $3}'`
+ rlLog "Cerificate Serial Number=$certificate_serial_number"
+ #Verify the certificate is valid
+ rlRun "pki cert-show $certificate_serial_number --pretty > $TmpDir/certificate_show_001.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=testuser,E=testuser@example.com,CN=Test User,OU=Engineering,O=Example,C=US" "$TmpDir/certificate_show_001.out"
+ rlAssertGrep "Status: VALID" "$TmpDir/certificate_show_001.out"
+ rlAssertGrep "Public Key Modulus: (3072 bits)" "$TmpDir/certificate_show_001.out"
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_cert_cli_cert-request-submit-cleanup: Delete temp dir"
+ rlRun "popd"
+
+ # rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-cert-cli/runtest.sh b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/runtest.sh
new file mode 100755
index 000000000..dbd2b2dfc
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-cert-cli/runtest.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-cert-cli
+# Description: pki cert CLI tests to manage certificates
+# functions.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include data-driven test data file:
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include test case file
+. ./pki-cert-request-submit-cli.sh
+
+
+##############################################################################
+PACKAGE="pki-tools"
+
+
+rlJournalStart
+ rlPhaseStartSetup "pki-cert-cli-startup: Check for pki-tools package"
+ rpm -qa | grep $PACKAGE
+ if [ $? -eq 0 ] ; then
+ rlPass "$PACKAGE package is installed"
+ else
+ rlFail "$PACKAGE package NOT found!"
+ fi
+ rlPhaseEnd
+
+
+ # Execute pki-request-submit tests
+ run_pki-cert-request-submit-cli_tests
+ # Execute pki-cert-request-show tests
+ run_pki-cert-request-show-cli_tests
+ # Execute pki-cert-request-review tests
+ # run_pki-cert-request-review-cli_tests
+
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/Makefile b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/Makefile
new file mode 100644
index 000000000..5ac24854d
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/Makefile
@@ -0,0 +1,75 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/ca
+# Description: RHCS pki-user-add CLI tests
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/ca
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) pki-user-cli-user-ca.sh pki-user-cli-user-add-ca.sh pki-user-cli-user-show-ca.sh pki-user-cli-user-find-ca.sh pki-user-cli-user-del-ca.sh runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod 777 pki-user-cli-user-ca.sh
+ chmod 777 pki-user-cli-user-add-ca.sh
+ chmod 777 pki-user-cli-user-show-ca.sh
+ chmod 777 pki-user-cli-user-find-ca.sh
+ chmod 777 pki-user-cli-user-del-ca.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod 777 pki-user-cli-user-ca.sh
+ chmod 777 pki-user-cli-user-add-ca.sh
+ chmod 777 pki-user-cli-user-show-ca.sh
+ chmod 777 pki-user-cli-user-find-ca.sh
+ chmod 777 pki-user-cli-user-del-ca.sh
+
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: RHCS quickinstall" >> $(METADATA)
+ @echo "Type: Functional" >> $(METADATA)
+ @echo "TestTime: 60m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/PURPOSE b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/PURPOSE
new file mode 100644
index 000000000..102039cf8
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+Description: pki user CLI tests
+Author: Laxmi Sunkara <lsunkara@redhat.com>
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-add-ca.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-add-ca.sh
new file mode 100755
index 000000000..617895587
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-add-ca.sh
@@ -0,0 +1,855 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+######################################################################################
+#pki-user-cli-user-ca.sh should be first executed prior to pki-user-cli-user-add-ca.sh
+######################################################################################
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1=ca_agent2
+user1fullname="Test ca_agent"
+user2=abcdefghijklmnopqrstuvwxyx12345678
+user3=abc#
+user4=abc$
+user5=abc@
+user6=abc?
+user7=0
+export user1 user2 user3 user4 user5 user6 user7
+########################################################################
+
+run_pki-user-cli-user-add-ca_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-ca-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ #====Ticket corresponding to pki_user_cli_user_add-configtest : https://fedorahosted.org/pki/ticket/519=====#
+ rlPhaseStartTest "pki_user_cli_user_add-configtest: pki user-add configuration test"
+ rlRun "pki user-add > $TmpDir/pki_user_add_cfg.out" \
+ 1 \
+ "https://fedorahosted.org/pki/ticket/519"
+ rlAssertGrep "usage: user-add <User ID> \[OPTIONS...\]" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--email <email> Email" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--fullName <fullName> Full name" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--password <password> Password" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--phone <phone> Phone" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--state <state> State" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--type <type> Type" "$TmpDir/pki_user_add_cfg.out"
+ rlPhaseEnd
+ ##### Tests to add CA users using a user of admin group with a valid cert####
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001: Add a user to CA using CA_adminV"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-001.out" \
+ 0 \
+ "Add user $user1 to CA_adminV"
+ rlAssertGrep "Added user \"$user1\"" "$TmpDir/pki-user-add-ca-001.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-ca-001.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ca-001.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_1:maximum length of user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user2 > $TmpDir/pki-user-add-ca-001_1.out" \
+ 0 \
+ "Added user using CA_adminV with maximum user id length"
+ rlAssertGrep "Added user \"$user2\"" "$TmpDir/pki-user-add-ca-001_1.out"
+ rlAssertGrep "User ID: $user2" "$TmpDir/pki-user-add-ca-001_1.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_1.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_2:User id with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user3 > $TmpDir/pki-user-add-ca-001_2.out" \
+ 0 \
+ "Added user using CA_adminV, user id with # character"
+ rlAssertGrep "Added user \"$user3\"" "$TmpDir/pki-user-add-ca-001_2.out"
+ rlAssertGrep "User ID: $user3" "$TmpDir/pki-user-add-ca-001_2.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_2.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_3:User id with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user4 > $TmpDir/pki-user-add-ca-001_3.out" \
+ 0 \
+ "Added user using CA_adminV, user id with $ character"
+ rlAssertGrep "Added user \"$user4\"" "$TmpDir/pki-user-add-ca-001_3.out"
+ rlAssertGrep "User ID: abc\\$" "$TmpDir/pki-user-add-ca-001_3.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_3.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_4:User id with @ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user5 > $TmpDir/pki-user-add-ca-001_4.out " \
+ 0 \
+ "Added user using CA_adminV, user id with @ character"
+ rlAssertGrep "Added user \"$user5\"" "$TmpDir/pki-user-add-ca-001_4.out"
+ rlAssertGrep "User ID: $user5" "$TmpDir/pki-user-add-ca-001_4.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_4.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_5:User id with ? character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user6 > $TmpDir/pki-user-add-ca-001_5.out " \
+ 0 \
+ "Added user using CA_adminV, user id with ? character"
+ rlAssertGrep "Added user \"$user6\"" "$TmpDir/pki-user-add-ca-001_5.out"
+ rlAssertGrep "User ID: $user6" "$TmpDir/pki-user-add-ca-001_5.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_5.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_6:User id as 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user7 > $TmpDir/pki-user-add-ca-001_6.out " \
+ 0 \
+ "Added user using CA_adminV, user id 0"
+ rlAssertGrep "Added user \"$user7\"" "$TmpDir/pki-user-add-ca-001_6.out"
+ rlAssertGrep "User ID: $user7" "$TmpDir/pki-user-add-ca-001_6.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_6.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_7:--email with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678 u1 > $TmpDir/pki-user-add-ca-001_7.out" \
+ 0 \
+ "Added user using CA_adminV with maximum --email length"
+ rlAssertGrep "Added user \"u1\"" "$TmpDir/pki-user-add-ca-001_7.out"
+ rlAssertGrep "User ID: u1" "$TmpDir/pki-user-add-ca-001_7.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_7.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-ca-001_7.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_8:--email with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678#?*@$ u2 > $TmpDir/pki-user-add-ca-001_8.out" \
+ 0 \
+ "Added user using CA_adminV with maximum --email length and character symbols in it"
+ rlAssertGrep "Added user \"u2\"" "$TmpDir/pki-user-add-ca-001_8.out"
+ rlAssertGrep "User ID: u2" "$TmpDir/pki-user-add-ca-001_8.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_8.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-add-ca-001_8.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_9:--email with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=# u3 > $TmpDir/pki-user-add-ca-001_9.out" \
+ 0 \
+ "Added user using CA_adminV with --email # character"
+ rlAssertGrep "Added user \"u3\"" "$TmpDir/pki-user-add-ca-001_9.out"
+ rlAssertGrep "User ID: u3" "$TmpDir/pki-user-add-ca-001_9.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_9.out"
+ rlAssertGrep "Email: #" "$TmpDir/pki-user-add-ca-001_9.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_10:--email with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=* u4 > $TmpDir/pki-user-add-ca-001_10.out" \
+ 0 \
+ "Added user using CA_adminV with --email * character"
+ rlAssertGrep "Added user \"u4\"" "$TmpDir/pki-user-add-ca-001_10.out"
+ rlAssertGrep "User ID: u4" "$TmpDir/pki-user-add-ca-001_10.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_10.out"
+ rlAssertGrep "Email: *" "$TmpDir/pki-user-add-ca-001_10.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_11:--email with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=$ u5 > $TmpDir/pki-user-add-ca-001_11.out" \
+ 0 \
+ "Added user using CA_adminV with --email $ character"
+ rlAssertGrep "Added user \"u5\"" "$TmpDir/pki-user-add-ca-001_11.out"
+ rlAssertGrep "User ID: u5" "$TmpDir/pki-user-add-ca-001_11.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_11.out"
+ rlAssertGrep "Email: \\$" "$TmpDir/pki-user-add-ca-001_11.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_12:--email as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=0 u6 > $TmpDir/pki-user-add-ca-001_12.out " \
+ 0 \
+ "Added user using CA_adminV with --email 0"
+ rlAssertGrep "Added user \"u6\"" "$TmpDir/pki-user-add-ca-001_12.out"
+ rlAssertGrep "User ID: u6" "$TmpDir/pki-user-add-ca-001_12.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_12.out"
+ rlAssertGrep "Email: 0" "$TmpDir/pki-user-add-ca-001_12.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_13:--state with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678 u7 > $TmpDir/pki-user-add-ca-001_13.out" \
+ 0 \
+ "Added user using CA_adminV with maximum --state length"
+ rlAssertGrep "Added user \"u7\"" "$TmpDir/pki-user-add-ca-001_13.out"
+ rlAssertGrep "User ID: u7" "$TmpDir/pki-user-add-ca-001_13.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_13.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-ca-001_13.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_14:--state with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678#?*@$ u8 > $TmpDir/pki-user-add-ca-001_14.out" \
+ 0 \
+ "Added user using CA_adminV with maximum --state length and character symbols in it"
+ rlAssertGrep "Added user \"u8\"" "$TmpDir/pki-user-add-ca-001_14.out"
+ rlAssertGrep "User ID: u8" "$TmpDir/pki-user-add-ca-001_14.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_14.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-add-ca-001_14.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_15:--state with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=# u9 > $TmpDir/pki-user-add-ca-001_15.out" \
+ 0 \
+ "Added user using CA_adminV with --state # character"
+ rlAssertGrep "Added user \"u9\"" "$TmpDir/pki-user-add-ca-001_15.out"
+ rlAssertGrep "User ID: u9" "$TmpDir/pki-user-add-ca-001_15.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_15.out"
+ rlAssertGrep "State: #" "$TmpDir/pki-user-add-ca-001_15.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_16:--state with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=* u10 > $TmpDir/pki-user-add-ca-001_16.out" \
+ 0 \
+ "Added user using CA_adminV with --state * character"
+ rlAssertGrep "Added user \"u10\"" "$TmpDir/pki-user-add-ca-001_16.out"
+ rlAssertGrep "User ID: u10" "$TmpDir/pki-user-add-ca-001_16.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_16.out"
+ rlAssertGrep "State: *" "$TmpDir/pki-user-add-ca-001_16.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_17:--state with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=$ u11 > $TmpDir/pki-user-add-ca-001_17.out" \
+ 0 \
+ "Added user using CA_adminV with --state $ character"
+ rlAssertGrep "Added user \"u11\"" "$TmpDir/pki-user-add-ca-001_17.out"
+ rlAssertGrep "User ID: u11" "$TmpDir/pki-user-add-ca-001_17.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_17.out"
+ rlAssertGrep "State: \\$" "$TmpDir/pki-user-add-ca-001_17.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_18:--state as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=0 u12 > $TmpDir/pki-user-add-ca-001_18.out " \
+ 0 \
+ "Added user using CA_adminV with --state 0"
+ rlAssertGrep "Added user \"u12\"" "$TmpDir/pki-user-add-ca-001_18.out"
+ rlAssertGrep "User ID: u12" "$TmpDir/pki-user-add-ca-001_18.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_18.out"
+ rlAssertGrep "State: 0" "$TmpDir/pki-user-add-ca-001_18.out"
+ rlPhaseEnd
+ #https://www.redhat.com/archives/pki-users/2010-February/msg00015.html
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_19:--phone with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=abcdefghijklmnopqrstuvwxyx12345678 u13 > $TmpDir/pki-user-add-ca-001_19.out" \
+ 0 \
+ "Added user using CA_adminV with maximum --phone length"
+ rlAssertGrep "Added user \"u13\"" "$TmpDir/pki-user-add-ca-001_19.out"
+ rlAssertGrep "User ID: u13" "$TmpDir/pki-user-add-ca-001_19.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_19.out"
+ rlAssertGrep "Phone: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-ca-001_19.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_20:--phone with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=abcdefghijklmnopqrstuvwxyx12345678#?*@$ usr1 > $TmpDir/pki-user-add-ca-001_20.out 2>&1"\
+ 1 \
+ "Cannot add user using CA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ca-001_20.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_21:--phone with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=# usr2 > $TmpDir/pki-user-add-ca-001_21.out 2>&1" \
+ 1 \
+ "Cannot add user using CA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ca-001_21.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_22:--phone with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=* usr3 > $TmpDir/pki-user-add-ca-001_22.out 2>&1" \
+ 1 \
+ "Cannot add user using CA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ca-001_22.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_23:--phone with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=$ usr4 > $TmpDir/pki-user-add-ca-001_23.out 2>&1" \
+ 1 \
+ "Cannot add user using CA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ca-001_23.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_24:--phone as negative number -1230 "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=-1230 u14 > $TmpDir/pki-user-add-ca-001_24.out " \
+ 0 \
+ "Added user using CA_adminV with --phone -1230"
+ rlAssertGrep "Added user \"u14\"" "$TmpDir/pki-user-add-ca-001_24.out"
+ rlAssertGrep "User ID: u14" "$TmpDir/pki-user-add-ca-001_24.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_24.out"
+ rlAssertGrep "Phone: -1230" "$TmpDir/pki-user-add-ca-001_24.out"
+ rlPhaseEnd
+#======https://fedorahosted.org/pki/ticket/704============#
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_25:--type as Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=Auditors u15 > $TmpDir/pki-user-add-ca-001_25.out" \
+ 0 \
+ "Added user using CA_adminV with --type Auditors"
+ rlAssertGrep "Added user \"u15\"" "$TmpDir/pki-user-add-ca-001_25.out"
+ rlAssertGrep "User ID: u15" "$TmpDir/pki-user-add-ca-001_25.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_25.out"
+ rlAssertGrep "Type: Auditors" "$TmpDir/pki-user-add-ca-001_25.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_26:--type Certificate Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Certificate Manager Agents\" u16 > $TmpDir/pki-user-add-ca-001_26.out" \
+ 0 \
+ "Added user using CA_adminV --type Certificate Manager Agents"
+ rlAssertGrep "Added user \"u16\"" "$TmpDir/pki-user-add-ca-001_26.out"
+ rlAssertGrep "User ID: u16" "$TmpDir/pki-user-add-ca-001_26.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_26.out"
+ rlAssertGrep "Type: Certificate Manager Agents" "$TmpDir/pki-user-add-ca-001_26.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_27:--type Registration Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Registration Manager Agents\" u17 > $TmpDir/pki-user-add-ca-001_27.out" \
+ 0 \
+ "Added user using CA_adminV with --type Registration Manager Agents"
+ rlAssertGrep "Added user \"u17\"" "$TmpDir/pki-user-add-ca-001_27.out"
+ rlAssertGrep "User ID: u17" "$TmpDir/pki-user-add-ca-001_27.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_27.out"
+ rlAssertGrep "Type: Registration Manager Agents" "$TmpDir/pki-user-add-ca-001_27.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_28:--type Subsytem Group "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Subsytem Group\" u18 > $TmpDir/pki-user-add-ca-001_28.out" \
+ 0 \
+ "Added user using CA_adminV with --type Subsytem Group"
+ rlAssertGrep "Added user \"u18\"" "$TmpDir/pki-user-add-ca-001_28.out"
+ rlAssertGrep "User ID: u18" "$TmpDir/pki-user-add-ca-001_28.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_28.out"
+ rlAssertGrep "Type: Subsytem Group" "$TmpDir/pki-user-add-ca-001_28.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_29:--type Security Domain Administrators "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Security Domain Administrators\" u19 > $TmpDir/pki-user-add-ca-001_29.out" \
+ 0 \
+ "Added user using CA_adminV with --type Security Domain Administrators"
+ rlAssertGrep "Added user \"u19\"" "$TmpDir/pki-user-add-ca-001_29.out"
+ rlAssertGrep "User ID: u19" "$TmpDir/pki-user-add-ca-001_29.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_29.out"
+ rlAssertGrep "Type: Security Domain Administrators" "$TmpDir/pki-user-add-ca-001_29.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_30:--type ClonedSubsystems "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=ClonedSubsystems u20 > $TmpDir/pki-user-add-ca-001_30.out" \
+ 0 \
+ "Added user using CA_adminV with --type ClonedSubsystems"
+ rlAssertGrep "Added user \"u20\"" "$TmpDir/pki-user-add-ca-001_30.out"
+ rlAssertGrep "User ID: u20" "$TmpDir/pki-user-add-ca-001_30.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_30.out"
+ rlAssertGrep "Type: ClonedSubsystems" "$TmpDir/pki-user-add-ca-001_30.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-001_31:--type Trusted Managers "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Trusted Managers\" u21 > $TmpDir/pki-user-add-ca-001_31.out" \
+ 0 \
+ "Added user using CA_adminV with --type Trusted Managers"
+ rlAssertGrep "Added user \"u21\"" "$TmpDir/pki-user-add-ca-001_31.out"
+ rlAssertGrep "User ID: u21" "$TmpDir/pki-user-add-ca-001_31.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ca-001_31.out"
+ rlAssertGrep "Type: Trusted Managers" "$TmpDir/pki-user-add-ca-001_31.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-002: Add a duplicate user to CA"
+ command="pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"New user\" $user1 > $TmpDir/pki-user-add-ca-002.out 2>&1 "
+
+ rlLog "Command=$command"
+ expmsg="ConflictingOperationException: Entry already exists."
+ rlRun "$command" 1 "Add duplicate user"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-ca-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-003: Add a user to CA with -t option"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" u22"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" u22 > $TmpDir/pki-user-add-ca-003.out" \
+ 0 \
+ "Add user u22 to CA"
+ rlAssertGrep "Added user \"u22\"" "$TmpDir/pki-user-add-ca-003.out"
+ rlAssertGrep "User ID: u22" "$TmpDir/pki-user-add-ca-003.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ca-003.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-004: Add a user -- missing required option user id"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" "
+
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" > $TmpDir/pki-user-add-ca-004.out" \
+ 1\
+ "Add user -- missing required option user id"
+ rlAssertGrep "usage: user-add <User ID> \[OPTIONS...\]" "$TmpDir/pki-user-add-ca-004.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-005: Add a user -- missing required option --fullName"
+ command="pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add $user1 > $TmpDir/pki-user-add-ca-005.out 2>&1"
+ expmsg="Error: Missing required option: fullName"
+ rlLog "Executing: $command"
+ rlRun "$command" 1 "Add a user -- missing required option --fullName"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-ca-005.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-006: Add a user -- all options provided"
+ email="ca_agent2@myemail.com"
+ user_password="agent2Password"
+ phone="1234567890"
+ state="NC"
+ type="Administrators"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ --type $type \
+ u23"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ --type $type \
+ u23 > $TmpDir/pki-user-add-ca-006_1.out" \
+ 0 \
+ "Add user u23 to CA -- all options provided"
+ rlAssertGrep "Added user \"u23\"" "$TmpDir/pki-user-add-ca-006_1.out"
+ rlAssertGrep "User ID: u23" "$TmpDir/pki-user-add-ca-006_1.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ca-006_1.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-add-ca-006_1.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-add-ca-006_1.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-add-ca-006_1.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-add-ca-006_1.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-007: Add user to multiple groups"
+ user=u24
+ userfullname="Multiple Group User"
+ email="multiplegroup@myemail.com"
+ user_password="admin2Password"
+ phone="1234567890"
+ state="NC"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$userfullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ $user"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$userfullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ $user > $TmpDir/pki-user-add-ca-006.out " \
+ 0 \
+ "Add user $user using CA_adminV"
+ rlAssertGrep "Added user \"u24\"" "$TmpDir/pki-user-add-ca-006.out"
+ rlAssertGrep "User ID: u24" "$TmpDir/pki-user-add-ca-006.out"
+ rlAssertGrep "Full name: $userfullname" "$TmpDir/pki-user-add-ca-006.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-add-ca-006.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-add-ca-006.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-add-ca-006.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ group-add-member Administrators $user > $TmpDir/pki-user-add-ca-007_1.out" \
+ 0 \
+ "Add user $user to Administrators group"
+
+ rlAssertGrep "Added group member \"$user\"" "$TmpDir/pki-user-add-ca-007_1.out"
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-ca-007_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ group-find-member Administrators > $TmpDir/pki-user-add-ca-007.out" \
+ 0 \
+ "Show pki group-find-member Administrators"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ group-add-member \"Certificate Manager Agents\" $user > $TmpDir/pki-user-add-ca-007_1_1.out" \
+ 0 \
+ "Add user $user to Administrators group"
+
+ rlAssertGrep "Added group member \"$user\"" "$TmpDir/pki-user-add-ca-007_1_1.out"
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-ca-007_1_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ group-find-member \"Certificate Manager Agents\" > $TmpDir/pki-user-add-ca-007_2.out" \
+ 0 \
+ "Show pki group-find-member Administrators"
+
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-ca-007_2.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-008: Add user with --password "
+ userpw="pass"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" --password=$userpw $user1 > $TmpDir/pki-user-add-ca-008.out 2>&1"
+ expmsg="PKIException: The password must be at least 8 characters"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" --password=$userpw $user1 > $TmpDir/pki-user-add-ca-008.out 2>&1" \
+ 1 \
+ "Add a user --must be at least 8 characters --password"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-ca-008.out"
+
+ rlPhaseEnd
+
+ ##### Tests to add users using revoked cert#####
+ rlPhaseStartTest "pki_user_cli_user_add-CA-009: Cannot add user using a revoked cert CA_adminR"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-revoke-adminR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a user having revoked cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ca-revoke-adminR-002.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-CA-009_1: Cannot add user using a agent or a revoked cert CA_agentR"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-revoke-agentR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a user having revoked cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ca-revoke-agentR-002.out"
+ rlPhaseEnd
+
+
+ ##### Tests to add users using an agent user#####
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0010: Cannot add user using a CA_agentV user"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_agentV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_agentV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-agentV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-ca-agentV-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0011: Cannot add user using a CA_agentR user"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-agentR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ca-agentR-002.out"
+ rlPhaseEnd
+ ##### Tests to add users using expired cert#####
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0012: Cannot add user using a CA_adminE cert"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_adminE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-adminE-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "RuntimeException: java.io.IOException: SocketException cannot read on socket" "$TmpDir/pki-user-add-ca-adminE-002.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0013: Cannot add user using a CA_agentE cert"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_agentE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_agentE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-agentE-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "RuntimeException: java.io.IOException: SocketException cannot read on socket" "$TmpDir/pki-user-add-ca-agentE-002.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ rlPhaseEnd
+
+ ##### Tests to add users using audit users#####
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0012: Cannot add user using a CA_auditV"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_auditV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_auditV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-auditV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a audit cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-ca-auditV-002.out"
+ rlPhaseEnd
+
+ ##### Tests to add users using operator user###
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0013: Cannot add user using a CA_operatorV"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n CA_operatorV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_operatorV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-operatorV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a operator cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-ca-operatorV-002.out"
+ rlPhaseEnd
+
+
+ ##### Tests to add users using CA_adminUTCA and CA_agentUTCA user's certificate will be issued by an untrusted CA users#####
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0014: Cannot add user using a CA_adminUTCA"
+
+ rlLog "Executing: pki -d /tmp/dummydb \
+ -n CA_adminUTCA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/dummydb \
+ -n CA_adminUTCA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-adminUTCA-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a untrusted cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ca-adminUTCA-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-CA-0014: Cannot add user using a CA_agentUTCA"
+
+ rlLog "Executing: pki -d /tmp/dummydb \
+ -n CA_agentUTCA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/dummydb \
+ -n CA_agentUTCA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ca-agentUTCA-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a untrusted cert"
+ rlAssertGrep "RuntimeException: java.net.SocketException: Object not found: org.mozilla.jss.crypto.ObjectNotFoundException" "$TmpDir/pki-user-add-ca-agentUTCA-002.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_cleanup-001_15: Deleting the temp directory and users"
+ del_user=($CA_adminV_user $CA_adminR_user $CA_adminE_user $CA_adminUTCA_user $CA_agentV_user $CA_agentR_user $CA_agentE_user $CA_agentUTCA_user $CA_auditV_user $CA_operatorV_user)
+
+ #===Deleting users created using CA_adminV cert===#
+ i=1
+ while [ $i -lt 25] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del u$i > $TmpDir/pki-user-del-ca-user-00$i.out" \
+ 0 \
+ "Deleted user u$i"
+ rlAssertGrep "Deleted user \"u$i\"" "$TmpDir/pki-user-del-ca-user-00$i.out"
+ let i=$i+1
+ done
+ #===Deleting users(symbols) created using CA_adminV cert===#
+ j=1
+ while [ $j -lt 8 ] ; do
+ eval usr=\$user$j
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del $usr > $TmpDir/pki-user-del-ca-user-symbol-00$j.out" \
+ 0 \
+ "Deleted user $usr"
+ rlAssertGrep "Deleted user \"$usr\"" "$TmpDir/pki-user-del-ca-user-symbol-00$j.out"
+ let j=$j+1
+ done
+ i=0
+ while [ $i -lt ${#del_user[@]} ] ; do
+ userid_del=${del_user[$i]}
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del $userid_del > $TmpDir/pki-user-del-ca-00$i.out" \
+ 0 \
+ "Deleted user $userid_del"
+ rlAssertGrep "Deleted user \"$userid_del\"" "$TmpDir/pki-user-del-ca-00$i.out"
+ let i=$i+1
+ done
+
+
+ rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlRun "popd"
+ rlRun "rm -rf /tmp/requestdb"
+ rlRun "rm -rf /tmp/dummydb"
+
+ rlPhaseEnd
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-ca.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-ca.sh
new file mode 100755
index 000000000..8f3a82d7d
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-ca.sh
@@ -0,0 +1,370 @@
+#!/bin/bash
+#!/usr/bin/expect -f
+
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+CA_adminV_user=CA_adminV
+CA_adminV_fullName=CA_Admin_ValidCert
+CA_adminR_user=CA_adminR
+CA_adminR_fullName=CA_Admin_RevokedCert
+CA_adminE_user=CA_adminE
+CA_adminE_fullName=CA_admin_ExpiredCert
+CA_adminUTCA_user=CA_adminUTCA
+CA_adminUTCA_fullName=CA_Admin_CertIssuedByUntrustedCA
+
+CA_agentV_user=CA_agentV
+CA_agentV_fullName=CA_Agent_ValidCert
+CA_agentR_user=CA_agentR
+CA_agentR_fullName=CA_Agent_RevokedCert
+CA_agentE_user=CA_agentE
+CA_agentE_fullName=CA_agent_ExpiredCert
+CA_agentUTCA_user=CA_agentUTCA
+CA_agentUTCA_fullName=CA_Agent_CertIssuedByUntrustedCA
+
+CA_auditV_user=CA_auditV
+CA_auditV_fullName=CA_Audit_ValidCert
+CA_operatorV_user=CA_operatorV
+CA_operatorV_fullName=CA_Operator_ValidCert
+
+export CA_adminV_user CA_adminR_user CA_adminE_user CA_adminUTCA_user CA_agentV_user CA_agentR_user CA_agentE_user CA_agentUTCA_user CA_auditV_user CA_operatorV_user
+######################################################################
+
+run_pki-user-cli-user-ca_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-startup: Create temp directory and import CA agent cert into a nss certificate db and trust CA root cert"
+ admin_cert_nickname="PKI Administrator for $CA_DOMAIN"
+ nss_db_password="Password"
+ rlRun "source /opt/rhqa_pki/env.sh"
+ rlLog "Admin Certificate is located at: $CA_ADMIN_CERT_LOCATION"
+ rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
+ rlRun "pushd $TmpDir"
+ rlLog "Temp Directory = $TmpDir"
+ rlRun "mkdir $TmpDir/nssdb"
+ rlLog "importP12File $CA_ADMIN_CERT_LOCATION $CA_CLIENT_PKCS12_PASSWORD $TmpDir/nssdb $nss_db_password $admin_cert_nickname"
+ rlRun "importP12File $CA_ADMIN_CERT_LOCATION $CA_CLIENT_PKCS12_PASSWORD $TmpDir/nssdb $nss_db_password $admin_cert_nickname" 0 "Import Admin certificate to $TmpDir/nssdb"
+ rlRun "install_and_trust_CA_cert $CA_SERVER_ROOT $TmpDir/nssdb"
+
+ rlRun "mkdir /tmp/dummydb"
+ rlLog "Cert Database for untrusted cert's : /tmp/dummydb"
+ rlRun "importP12File $CA_ADMIN_CERT_LOCATION $CA_CLIENT_PKCS12_PASSWORD /tmp/dummydb $nss_db_password $admin_cert_nickname" 0 "Import Admin certificate to /tmp/dummydb"
+ rlRun "install_and_trust_CA_cert $CA_SERVER_ROOT /tmp/dummydb"
+
+ rlRun "mkdir /tmp/requestdb"
+ rlLog "importP12File $CA_ADMIN_CERT_LOCATION $CA_CLIENT_PKCS12_PASSWORD /tmp/requestdb $nss_db_password $admin_cert_nickname"
+ rlRun "importP12File $CA_ADMIN_CERT_LOCATION $CA_CLIENT_PKCS12_PASSWORD /tmp/requestdb $nss_db_password $admin_cert_nickname" 0 "Import Admin certificate to /tmp/requestdb"
+ rlRun "install_and_trust_CA_cert $CA_SERVER_ROOT /tmp/requestdb"
+
+ rlPhaseEnd
+
+
+
+ rlPhaseStartSetup "Creating user, create user and add it to the user, add user to the group"
+
+ user=($CA_adminV_user $CA_adminV_fullName $CA_adminR_user $CA_adminR_fullName $CA_adminE_user $CA_adminE_fullName $CA_adminUTCA_user $CA_adminUTCA_fullName $CA_agentV_user $CA_agentV_fullName $CA_agentR_user $CA_agentR_fullName $CA_agentE_user $CA_agentE_fullName $CA_agentUTCA_user $CA_agentUTCA_fullName $CA_auditV_user $CA_auditV_fullName $CA_operatorV_user $CA_operatorV_fullName)
+ i=0
+ while [ $i -lt ${#user[@]} ] ; do
+ userid=${user[$i]}
+ userfullName=${user[$i+1]}
+
+ #Create $userid user
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-add --fullName=\"$userfullName\" $userid"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-add --fullName=\"$userfullName\" $userid" \
+ 0 \
+ "Add user $userid to CA"
+
+ #=====Adding user to respective group. Administrator, Certificate Manager Agent, Auditor=====#
+ if [ $userid == $CA_adminV_user -o $userid == $CA_adminR_user -o $userid == $CA_adminE_user -o $userid == $CA_adminUTCA_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ group-add-member Administrators $userid > $TmpDir/pki-user-add-ca-group001$i.out" \
+ 0 \
+ "Add user $userid to Administrators group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ca-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ca-group001$i.out"
+ elif [ $userid == $CA_agentV_user -o $userid == $CA_agentR_user -o $userid == $CA_agentE_user -o $userid == $CA_agentUTCA_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ group-add-member \"Certificate Manager Agents\" $userid > $TmpDir/pki-user-add-ca-group001$i.out" \
+ 0 \
+ "Add user $userid to Certificate Manager Agents group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ca-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ca-group001$i.out"
+
+ elif [ $userid == $CA_auditV_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ group-add-member Auditors $userid > $TmpDir/pki-user-add-ca-group001$i.out" \
+ 0 \
+ "Add user $userid to Auditors group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ca-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ca-group001$i.out"
+
+ elif [ $userid == $CA_operatorV_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ group-add-member \"Trusted Managers\" $userid > $TmpDir/pki-user-add-ca-group001$i.out" \
+ 0 \
+ "Add user $userid to Trusted Managers group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ca-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ca-group001$i.out"
+ fi
+ #================#
+
+ if [ $userid == $CA_adminV_user -o $userid == $CA_adminR_user -o $userid == $CA_adminE_user -o $userid == $CA_agentV_user -o $userid == $CA_agentR_user -o $userid == $CA_agentE_user -o $userid == $CA_auditV_user -o $userid == $CA_operatorV_user ]; then
+
+ #Create a cert and add it to the $userid user
+ rlLog "Admin Certificate is located at: $CA_ADMIN_CERT_LOCATION"
+ local temp_file="/tmp/requestdb/certrequest_001$i.xml"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ cert-request-profile-show caUserCert --output $temp_file" \
+ 0 \
+ "Enrollment Template for Profile caUserCert"
+ #rlRun "create_certdb \"/tmp/requestdb\" Password" 0 "Create a certificate db"
+ rlRun "generate_PKCS10 \"/tmp/requestdb\" Password rsa 2048 \"/tmp/requestdb/request_001$i.out\" \"CN=adminV\" " 0 "generate PKCS10 certificate"
+ rlRun "sed -e '/-----BEGIN NEW CERTIFICATE REQUEST-----/d' -i /tmp/requestdb/request_001$i.out"
+ rlRun "sed -e '/-----END NEW CERTIFICATE REQUEST-----/d' -i /tmp/requestdb/request_001$i.out"
+ rlRun "dos2unix /tmp/requestdb/request_001$i.out"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='cert_request_type']/value\" -v 'pkcs10' $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='cert_request']/value\" -v \"$(cat -v /tmp/requestdb/request_001$i.out)\" $temp_file" 0 "adding certificate request"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='sn_uid']/value\" -v $userid $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='sn_e']/value\" -v $userid@example.com $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='sn_cn']/value\" -v $userfullName $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='sn_ou']/value\" -v Engineering $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='sn_o']/value\" -v Example $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='sn_c']/value\" -v US $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='requestor_name']/value\" -v $userid $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='requestor_email']/value\" -v $userid@example.com $temp_file"
+ rlRun "xmlstarlet ed -L -u \"CertEnrollmentRequest/Input/attribute[@name='requestor_phone']/value\" -v 123-456-7890 $temp_file"
+
+ if [ $userid == $CA_adminV_user -o $userid == $CA_adminR_user -o $userid == $CA_agentV_user -o $userid == $CA_agentR_user -o $userid == $CA_auditV_user -o $userid == $CA_operatorV_user ]; then
+ #cert-request-submit=====
+ rlLog "Executing: pki cert-request-submit $temp_file"
+ rlRun "pki cert-request-submit $temp_file > /tmp/requestdb/certrequest_$i.out" 0 "Executing pki cert-request-submit"
+ rlAssertGrep "Submitted certificate request" "/tmp/requestdb/certrequest_$i.out"
+ rlAssertGrep "Request ID:" "/tmp/requestdb/certrequest_$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequest_$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequest_$i.out"
+ local request_id=`cat /tmp/requestdb/certrequest_$i.out | grep "Request ID:" | awk '{print $3}'`
+ rlLog "Request ID=$request_id"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestshow_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestshow_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestshow_001$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequestshow_001$i.out"
+ rlAssertGrep "Operation Result: success" "/tmp/requestdb/certrequestshow_001$i.out"
+ #Agent Approve the certificate after reviewing the cert for the user
+ rlLog "Executing: pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ cert-request-review --action=approve $request_id"
+
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ cert-request-review --action=approve $request_id > /tmp/requestdb/certapprove_001$i.out" \
+ 0 \
+ "CA agent approve the cert"
+ rlAssertGrep "Approved certificate request $request_id" "/tmp/requestdb/certapprove_001$i.out"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestapprovedshow_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ rlAssertGrep "Status: complete" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ rlAssertGrep "Certificate ID:" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ local certificate_serial_number=`cat /tmp/requestdb/certrequestapprovedshow_001$i.out | grep "Certificate ID:" | awk '{print $3}'`
+ rlLog "Cerificate Serial Number=$certificate_serial_number"
+
+ #Verify the certificate is valid
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_001$i.out"
+ rlAssertGrep "Status: VALID" "/tmp/requestdb/certificate_show_001$i.out"
+
+ rlRun "sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' /tmp/requestdb/certificate_show_001$i.out > /tmp/requestdb/validcert_001$i.pem"
+ rlRun "certutil -d /tmp/requestdb -A -n $userid -i /tmp/requestdb/validcert_001$i.pem -t "u,u,u""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ user-add-cert $userid --input /tmp/requestdb/validcert_001$i.pem > /tmp/requestdb/useraddcert__001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+
+ elif [ $userid == $CA_adminE_user -o $userid == $CA_agentE_user ]; then
+ #=======Expired cert waiting on response to --output ticket https://fedorahosted.org/pki/ticket/674 =======#
+ local profile_file="/var/lib/pki/pki-tomcat/ca/profiles/ca/caUserCert.cfg"
+ default_days="policyset.userCertSet.2.default.params.range=180"
+ change_days="policyset.userCertSet.2.default.params.range=1"
+ rlLog "Executing: sed -e 's/$default_days/$change_days/g' -i $profile_file"
+ rlRun "sed -e 's/$default_days/$change_days/g' -i $profile_file"
+ rlLog "Restart the subsytem"
+ rlRun "systemctl restart pki-tomcatd\@pki-tomcat.service"
+ #cert-request-submit=====
+ #rlLog "Executing: pki cert-request-submit $temp_file"
+ #lRun "pki cert-request-submit $temp_file > /tmp/requestdb/certrequest_$i.out" 0 "Executing pki cert-request-submit"
+ rlRun "cat $profile_file"
+ rlRun "sleep 30"
+ rlLog "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ cert-request-submit $temp_file > /tmp/requestdb/certrequest_$i.out"
+
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ cert-request-submit $temp_file > /tmp/requestdb/certrequest_$i.out" \
+ 0 \
+ "Certificate request submit"
+
+ rlAssertGrep "Submitted certificate request" "/tmp/requestdb/certrequest_$i.out"
+ rlAssertGrep "Request ID:" "/tmp/requestdb/certrequest_$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequest_$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequest_$i.out"
+ local request_id=`cat /tmp/requestdb/certrequest_$i.out | grep "Request ID:" | awk '{print $3}'`
+ rlLog "Request ID=$request_id"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestshow_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestshow_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestshow_001$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequestshow_001$i.out"
+ rlAssertGrep "Operation Result: success" "/tmp/requestdb/certrequestshow_001$i.out"
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ cert-request-review --action=approve $request_id > /tmp/requestdb/certapprove_001$i.out" \
+ 0 \
+ "CA agent approve the cert"
+ rlLog "cat /tmp/requestdb/certapprove_001$i.out"
+ rlAssertGrep "Approved certificate request $request_id" "/tmp/requestdb/certapprove_001$i.out"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestapprovedshow_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ rlAssertGrep "Status: complete" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ rlAssertGrep "Certificate ID:" "/tmp/requestdb/certrequestapprovedshow_001$i.out"
+ local certificate_serial_number=`cat /tmp/requestdb/certrequestapprovedshow_001$i.out | grep "Certificate ID:" | awk '{print $3}'`
+ rlLog "Cerificate Serial Number=$certificate_serial_number"
+ #Verify the certificate is expired
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_001$i.out"
+ rlAssertGrep "Status: VALID" "/tmp/requestdb/certificate_show_001$i.out"
+ rlRun "sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' /tmp/requestdb/certificate_show_001$i.out > /tmp/requestdb/validcert_001$i.pem"
+ rlRun "certutil -d /tmp/requestdb -A -n $userid -i /tmp/requestdb/validcert_001$i.pem -t "u,u,u""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ user-add-cert $userid --input /tmp/requestdb/validcert_001$i.pem > /tmp/requestdb/useraddcert__001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ rlLog "Modifying profile back to the defaults"
+ rlRun "sed -e 's/$change_days/$default_days/g' -i $profile_file"
+ rlLog "Restart the subsytem"
+ rlRun "systemctl restart pki-tomcatd\@pki-tomcat.service"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlRun "sleep 30"
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_exp_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_exp_001$i.out"
+ rlAssertGrep "Status: EXPIRED" "/tmp/requestdb/certificate_show_exp_001$i.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ fi
+ fi
+ #Add the certificate to /tmp/requestdb
+ #note: certificate b664 at /tmp/requestdb/certificate_show_001$i.out
+ if [ $userid == $CA_adminUTCA_user ]; then
+ rlRun "certutil -d /tmp/dummydb -A -n $userid -i /opt/rhqa_pki/dummycert1.pem -t ",,""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ user-add-cert $userid --input /opt/rhqa_pki/dummycert1.pem > /tmp/requestdb/useraddcert__001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ elif [ $userid == $CA_agentUTCA_user ]; then
+ rlRun "certutil -d /tmp/dummydb -A -n $userid -i /opt/rhqa_pki/dummycert1.pem -t ",,""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ user-add-cert $userid --input /opt/rhqa_pki/dummycert1.pem > /tmp/requestdb/useraddcert__001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ #Revoke certificate of user CA_adminR and CA_agentR
+ elif [ $userid == $CA_adminR_user -o $userid == $CA_agentR_user ] ;then
+ rlLog "$userid"
+ rlLog "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ cert-revoke $certificate_serial_number --force --reason = Unspecified > /tmp/requestdb/revokecert__001$i.out"
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ca \
+ cert-revoke $certificate_serial_number --force --reason=Unspecified > /tmp/requestdb/revokecert__001$i.out" \
+ 0 \
+ "Certificate of user $userid is revoked"
+ rlAssertGrep "Serial Number: $certificate_serial_number" "/tmp/requestdb/revokecert__001$i.out"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/revokecert__001$i.out"
+ rlAssertGrep "Status: REVOKED" "/tmp/requestdb/revokecert__001$i.out"
+ fi
+ let i=$i+2
+ done
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-del-ca.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-del-ca.sh
new file mode 100755
index 000000000..b31a96325
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-del-ca.sh
@@ -0,0 +1,165 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+
+########################################################################
+# Test Suite Globals
+########################################################################
+user1=ca_agent2
+user1fullname="Test ca_agent"
+user2=abcdefghijklmnopqrstuvwxyx12345678
+user3=abc#
+user4=abc$
+user5=abc@
+user6=abc?
+user7=0
+
+run_pki-user-cli-user-del-ca_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-ca-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_del-001: Add users to test user-del functionality"
+ del_user=($CA_adminV_user $CA_adminR_user $CA_adminE_user $CA_adminUTCA_user $CA_agentV_user $CA_agentR_user $CA_agentE_user $CA_agentUTCA_user $CA_auditV_user $CA_operatorV_user)
+ #positive test cases
+ #Add users to CA using CA_adminV cert
+ i=1
+ while [ $i -lt 25 ] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test_user u$i"
+ let i=$i+1
+ done
+
+ #===Deleting users created using CA_adminV cert===#
+ i=1
+ while [ $i -lt 25 ] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del u$i > $TmpDir/pki-user-del-ca-user1-00$i.out" \
+ 0 \
+ "Deleted user u$i"
+ rlAssertGrep "Deleted user \"u$i\"" "$TmpDir/pki-user-del-ca-user1-00$i.out"
+ let i=$i+1
+ done
+ #Add users to CA using CA_adminV cert
+ i=1
+ while [ $i -lt 8 ] ; do
+ eval usr=\$user$i
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test_user $usr"
+ let i=$i+1
+ done
+
+ #===Deleting users(symbols) created using CA_adminV cert===#
+ j=1
+ while [ $j -lt 8 ] ; do
+ eval usr=\$user$j
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del $usr> $TmpDir/pki-user-del-ca-user2-00$j.out" \
+ 0 \
+ "Deleted user $usr"
+ rlAssertGrep "Deleted user \"$usr\"" "$TmpDir/pki-user-del-ca-user2-00$j.out"
+ let j=$j+1
+ done
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_del-002: Case sensitive userid, Negative test case"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test_user user_abc"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del USER_ABC > $TmpDir/pki-user-del-ca-user-002_1.out" \
+ 0 \
+ "Deleted user USER_ABC userid is not case sensitive"
+ rlAssertGrep "Deleted user \"USER_ABC\"" "$TmpDir/pki-user-del-ca-user-002_1.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_del-003: user id missing, Negative test case"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test_user test_user"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del > $TmpDir/pki-user-del-ca-user-003_1.out 2>&1" \
+ 1 \
+ "Cannot delete a user without userid"
+ rlAssertGrep "usage: user-del <User ID>" "$TmpDir/pki-user-del-ca-user-003_1.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del test_user > $TmpDir/pki-user-del-ca-user-003_2.out" \
+ 0 \
+ "Deleted user test_user"
+ rlAssertGrep "Deleted user \"test_user\"" "$TmpDir/pki-user-del-ca-user-003_2.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_del-004:Deleting users created with valid, revoked, expired and untrusted cert"
+ i=0
+ while [ $i -lt ${#del_user[@]} ] ; do
+ userid_del=${del_user[$i]}
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del $userid_del > $TmpDir/pki-user-del-ca-user4-00$i.out" \
+ 0 \
+ "Deleted user $userid_del"
+ rlAssertGrep "Deleted user \"$userid_del\"" "$TmpDir/pki-user-del-ca-user4-00$i.out"
+ let i=$i+1
+ done
+ rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlRun "popd"
+ rlRun "rm -rf /tmp/requestdb"
+ rlRun "rm -rf /tmp/dummydb"
+
+
+ rlPhaseEnd
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-find-ca.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-find-ca.sh
new file mode 100755
index 000000000..5a318a3fd
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-find-ca.sh
@@ -0,0 +1,249 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="ca_agent2"
+user1fullname="Test ca_agent"
+user2=abcdefghijklmnopqrstuvwxyx12345678
+user3=abc#
+user4=abc$
+user5=abc@
+user6=abc?
+user7=0
+
+
+########################################################################
+
+run_pki-user-cli-user-find-ca_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_show-ca-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ rlPhaseStartSetup "pki_user_cli_user_show-ca-startup-addusers:Add users to test the user-find functionality"
+ i=1
+ while [ $i -lt 25 ] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test_user u$i"
+ let i=$i+1
+ done
+ j=1
+ while [ $j -lt 8 ] ; do
+ eval usr=\$user$j
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test_user $usr"
+ let j=$j+1
+ done
+
+
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_find-ca-001: Find 5 users, --size=5"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=5 > $TmpDir/pki-user-find-ca-001.out 2>&1" \
+ 0 \
+ "Found 5 users"
+ rlAssertGrep "Number of entries returned 5" "$TmpDir/pki-user-find-ca-001.out"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-002: Find non user, --size=0"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=0 > $TmpDir/pki-user-find-ca-002.out 2>&1" \
+ 0 \
+ "Found no users"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-ca-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-003: Find all users, maximum possible value as input"
+ maximum_check=1000000
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$maximum_check > $TmpDir/pki-user-find-ca-003.out 2>&1" \
+ 0 \
+ "All users"
+ rlAssertGrep "Number of entries returned 46" "$TmpDir/pki-user-find-ca-003.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-004: Find users, check for negative input --size=-1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=-1 > $TmpDir/pki-user-find-ca-004.out 2>&1" \
+ 0 \
+ "No users returned as the size entered is negative value"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-ca-004.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-005: Find users for size input as noninteger, --size=abc"
+ size_noninteger="abc"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$size_noninteger > $TmpDir/pki-user-find-ca-005.out 2>&1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$size_noninteger > $TmpDir/pki-user-find-ca-005.out 2>&1" \
+ 1 \
+ "No users returned"
+ rlAssertGrep "NumberFormatException: For input string: \"$size_noninteger\"" "$TmpDir/pki-user-find-ca-005.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-006: Find users, check for no input --size= "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size= > $TmpDir/pki-user-find-ca-006.out 2>&1" \
+ 1 \
+ "No users returned, as --size= "
+ rlAssertGrep "NumberFormatException: For input string: \"""\"" "$TmpDir/pki-user-find-ca-006.out"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-007: Find users, --start=10 "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=10 > $TmpDir/pki-user-find-ca-007.out 2>&1" \
+ 0 \
+ "Displays users from the 10th user and the next to the maximum 20 users, if available "
+ rlAssertGrep "20 user(s) matched" "$TmpDir/pki-user-find-ca-007.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-008: Find users, --start=10000, maximum possible input "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=10000 > $TmpDir/pki-user-find-ca-008.out 2>&1" \
+ 0 \
+ "No users"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-ca-008.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-009: Find users, --start=0"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=0 > $TmpDir/pki-user-find-ca-009.out 2>&1" \
+ 0 \
+ "Displays from the zeroth user, maximum possible are 20 users in a page"
+ rlAssertGrep "Number of entries returned 20" "$TmpDir/pki-user-find-ca-009.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-0010: Find users, --start=-1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=-1 > $TmpDir/pki-user-find-ca-0010.out 2>&1" \
+ 0 \
+ "Maximum possible 20 users are returned, starting from the zeroth user"
+ rlAssertGrep "19 user(s) matched" "$TmpDir/pki-user-find-ca-0010.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ca-0011: Find users for size input as noninteger, --start=abc"
+ size_noninteger="abc"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=$size_noninteger > $TmpDir/pki-user-find-ca-0011.out 2>&1" \
+ 1 \
+ "Incorrect input to find user"
+ rlAssertGrep "NumberFormatException: For input string: \"$size_noninteger\"" "$TmpDir/pki-user-find-ca-0011.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_cleanup-001_36: Deleting the temp directory and users"
+ del_user=($CA_adminV_user $CA_adminR_user $CA_adminE_user $CA_adminUTCA_user $CA_agentV_user $CA_agentR_user $CA_agentE_user $CA_agentUTCA_user $CA_auditV_user $CA_operatorV_user)
+
+ #===Deleting users created using CA_adminV cert===#
+ i=1
+ while [ $i -lt 24] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del u$i > $TmpDir/pki-user-del-ca-user-00$i.out" \
+ 0 \
+ "Deleted user u$i"
+ rlAssertGrep "Deleted user \"u$i\"" "$TmpDir/pki-user-del-ca-user-00$i.out"
+ let i=$i+1
+ done
+ #===Deleting users(symbols) created using CA_adminV cert===#
+ j=1
+ while [ $j -lt 8 ] ; do
+ eval usr=\$user$j
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del $usr > $TmpDir/pki-user-del-ca-user-symbol-00$j.out" \
+ 0 \
+ "Deleted user $usr"
+ rlAssertGrep "Deleted user \"$usr\"" "$TmpDir/pki-user-del-ca-user-symbol-00$j.out"
+ let j=$j+1
+ done
+ i=0
+ while [ $i -lt ${#del_user[@]} ] ; do
+ userid_del=${del_user[$i]}
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del $userid_del > $TmpDir/pki-user-del-ca-00$i.out" \
+ 0 \
+ "Deleted user $userid_del"
+ rlAssertGrep "Deleted user \"$userid_del\"" "$TmpDir/pki-user-del-ca-00$i.out"
+ let i=$i+1
+ done
+
+
+ rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlRun "popd"
+ rlRun "rm -rf /tmp/requestdb"
+ rlRun "rm -rf /tmp/dummydb"
+
+ rlPhaseEnd
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-show-ca.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-show-ca.sh
new file mode 100755
index 000000000..34efa4bc0
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-show-ca.sh
@@ -0,0 +1,642 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+######################################################################################
+#pki-user-cli-user-ca.sh should be first executed prior to pki-user-cli-user-add-ca.sh
+#pki-user-cli-user-add-ca.sh should be first executed prior to pki-user-cli-user-add-ca.sh
+######################################################################################
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+########################################################################
+user1=ca_agent2
+user1fullname="Test ca_agent"
+user2=abcdefghijklmnopqrstuvwxyx12345678
+user3=abc#
+user4=abc$
+user5=abc@
+user6=abc?
+user7=0
+
+run_pki-user-cli-user-show-ca_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_show-ca-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ ##### Tests to show CA users ####
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001: Add a user to CA using CA_adminV"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user1 > $TmpDir/pki-user-show-ca-001.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-show-ca-001.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-show-ca-001.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-ca-001.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_1:maximum length of user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user2"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user2 > $TmpDir/pki-user-show-ca-001_1.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"$user2\"" "$TmpDir/pki-user-show-ca-001_1.out"
+ rlAssertGrep "User ID: $user2" "$TmpDir/pki-user-show-ca-001_1.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_1.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_2:User id with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user3"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user3 > $TmpDir/pki-user-show-ca-001_2.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"$user3\"" "$TmpDir/pki-user-show-ca-001_2.out"
+ rlAssertGrep "User ID: $user3" "$TmpDir/pki-user-show-ca-001_2.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_2.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_3:User id with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user4"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user4 > $TmpDir/pki-user-show-ca-001_3.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"$user4\"" "$TmpDir/pki-user-show-ca-001_3.out"
+ rlAssertGrep "User ID: abc\\$" "$TmpDir/pki-user-show-ca-001_3.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_3.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_4:User id with @ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user5"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user5 > $TmpDir/pki-user-show-ca-001_4.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"$user5\"" "$TmpDir/pki-user-show-ca-001_4.out"
+ rlAssertGrep "User ID: $user5" "$TmpDir/pki-user-show-ca-001_4.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_4.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_5:User id with ? character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user6"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user6 > $TmpDir/pki-user-show-ca-001_5.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"$user6\"" "$TmpDir/pki-user-show-ca-001_5.out"
+ rlAssertGrep "User ID: $user6" "$TmpDir/pki-user-show-ca-001_5.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_5.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_6:User id as 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test $user7"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show $user7 > $TmpDir/pki-user-show-ca-001_6.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"$user7\"" "$TmpDir/pki-user-show-ca-001_6.out"
+ rlAssertGrep "User ID: $user7" "$TmpDir/pki-user-show-ca-001_6.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_6.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_7:--email with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678 u1"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u1 > $TmpDir/pki-user-show-ca-001_7.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u1\"" "$TmpDir/pki-user-show-ca-001_7.out"
+ rlAssertGrep "User ID: u1" "$TmpDir/pki-user-show-ca-001_7.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_7.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-ca-001_7.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_8:--email with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678#?*@$ u2"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u2 > $TmpDir/pki-user-show-ca-001_8.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u2\"" "$TmpDir/pki-user-show-ca-001_8.out"
+ rlAssertGrep "User ID: u2" "$TmpDir/pki-user-show-ca-001_8.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_8.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-show-ca-001_8.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_9:--email with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=# u3"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u3 > $TmpDir/pki-user-show-ca-001_9.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u3\"" "$TmpDir/pki-user-show-ca-001_9.out"
+ rlAssertGrep "User ID: u3" "$TmpDir/pki-user-show-ca-001_9.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_9.out"
+ rlAssertGrep "Email: #" "$TmpDir/pki-user-show-ca-001_9.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_10:--email with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=* u4"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u4 > $TmpDir/pki-user-show-ca-001_10.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u4\"" "$TmpDir/pki-user-show-ca-001_10.out"
+ rlAssertGrep "User ID: u4" "$TmpDir/pki-user-show-ca-001_10.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_10.out"
+ rlAssertGrep "Email: *" "$TmpDir/pki-user-show-ca-001_10.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_11:--email with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=$ u5"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u5 > $TmpDir/pki-user-show-ca-001_11.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u5\"" "$TmpDir/pki-user-show-ca-001_11.out"
+ rlAssertGrep "User ID: u5" "$TmpDir/pki-user-show-ca-001_11.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_11.out"
+ rlAssertGrep "Email: \\$" "$TmpDir/pki-user-show-ca-001_11.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_12:--email as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=0 u6"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u6 > $TmpDir/pki-user-show-ca-001_12.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u6\"" "$TmpDir/pki-user-show-ca-001_12.out"
+ rlAssertGrep "User ID: u6" "$TmpDir/pki-user-show-ca-001_12.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_12.out"
+ rlAssertGrep "Email: 0" "$TmpDir/pki-user-show-ca-001_12.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_13:--state with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678 u7 "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u7 > $TmpDir/pki-user-show-ca-001_13.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u7\"" "$TmpDir/pki-user-show-ca-001_13.out"
+ rlAssertGrep "User ID: u7" "$TmpDir/pki-user-show-ca-001_13.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_13.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-ca-001_13.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_14:--state with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678#?*@$ u8"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u8 > $TmpDir/pki-user-show-ca-001_14.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u8\"" "$TmpDir/pki-user-show-ca-001_14.out"
+ rlAssertGrep "User ID: u8" "$TmpDir/pki-user-show-ca-001_14.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_14.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-show-ca-001_14.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_15:--state with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=# u9"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u9 > $TmpDir/pki-user-show-ca-001_15.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u9\"" "$TmpDir/pki-user-show-ca-001_15.out"
+ rlAssertGrep "User ID: u9" "$TmpDir/pki-user-show-ca-001_15.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_15.out"
+ rlAssertGrep "State: #" "$TmpDir/pki-user-show-ca-001_15.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_16:--state with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=* u10"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u10 > $TmpDir/pki-user-show-ca-001_16.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u10\"" "$TmpDir/pki-user-show-ca-001_16.out"
+ rlAssertGrep "User ID: u10" "$TmpDir/pki-user-show-ca-001_16.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_16.out"
+ rlAssertGrep "State: *" "$TmpDir/pki-user-show-ca-001_16.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_17:--state with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=$ u11"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u11 > $TmpDir/pki-user-show-ca-001_17.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u11\"" "$TmpDir/pki-user-show-ca-001_17.out"
+ rlAssertGrep "User ID: u11" "$TmpDir/pki-user-show-ca-001_17.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_17.out"
+ rlAssertGrep "State: \\$" "$TmpDir/pki-user-show-ca-001_17.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_18:--state as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=0 u12"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u12 > $TmpDir/pki-user-show-ca-001_18.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u12\"" "$TmpDir/pki-user-show-ca-001_18.out"
+ rlAssertGrep "User ID: u12" "$TmpDir/pki-user-show-ca-001_18.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_18.out"
+ rlAssertGrep "State: 0" "$TmpDir/pki-user-show-ca-001_18.out"
+ rlPhaseEnd
+ #https://www.redhat.com/archives/pki-users/2010-February/msg00015.html
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_19:--phone with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=abcdefghijklmnopqrstuvwxyx12345678 u13"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u13 > $TmpDir/pki-user-show-ca-001_19.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u13\"" "$TmpDir/pki-user-show-ca-001_19.out"
+ rlAssertGrep "User ID: u13" "$TmpDir/pki-user-show-ca-001_19.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_19.out"
+ rlAssertGrep "Phone: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-ca-001_19.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_24:--phone as negative number -1230 "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=-1230 u14"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u14 > $TmpDir/pki-user-show-ca-001_24.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u14\"" "$TmpDir/pki-user-show-ca-001_24.out"
+ rlAssertGrep "User ID: u14" "$TmpDir/pki-user-show-ca-001_24.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_24.out"
+ rlAssertGrep "Phone: -1230" "$TmpDir/pki-user-show-ca-001_24.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_25:--type as Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=Auditors u15"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u15 > $TmpDir/pki-user-show-ca-001_25.out" \
+ 0 \
+ "Show pki CA_adminV user"
+ rlAssertGrep "User \"u15\"" "$TmpDir/pki-user-show-ca-001_25.out"
+ rlAssertGrep "User ID: u15" "$TmpDir/pki-user-show-ca-001_25.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_25.out"
+ rlAssertGrep "Type: Auditors" "$TmpDir/pki-user-show-ca-001_25.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_26:--type Certificate Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Certificate Manager Agents\" u16"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u16 > $TmpDir/pki-user-show-ca-001_26.out" \
+ 0 \
+ "Show pki CA user"
+ rlAssertGrep "User \"u16\"" "$TmpDir/pki-user-show-ca-001_26.out"
+ rlAssertGrep "User ID: u16" "$TmpDir/pki-user-show-ca-001_26.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_26.out"
+ rlAssertGrep "Type: Certificate Manager Agents" "$TmpDir/pki-user-show-ca-001_26.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_27:--type Registration Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Registration Manager Agents\" u17"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u17 > $TmpDir/pki-user-show-ca-001_27.out" \
+ 0 \
+ "Show pki CA user"
+ rlAssertGrep "User \"u17\"" "$TmpDir/pki-user-show-ca-001_27.out"
+ rlAssertGrep "User ID: u17" "$TmpDir/pki-user-show-ca-001_27.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_27.out"
+ rlAssertGrep "Type: Registration Manager Agents" "$TmpDir/pki-user-show-ca-001_27.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_28:--type Subsytem Group "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Subsytem Group\" u18"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u18 > $TmpDir/pki-user-show-ca-001_28.out" \
+ 0 \
+ "Show pki CA user"
+ rlAssertGrep "User \"u18\"" "$TmpDir/pki-user-show-ca-001_28.out"
+ rlAssertGrep "User ID: u18" "$TmpDir/pki-user-show-ca-001_28.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_28.out"
+ rlAssertGrep "Type: Subsytem Group" "$TmpDir/pki-user-show-ca-001_28.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_29:--type Security Domain Administrators "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Security Domain Administrators\" u19"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u19 > $TmpDir/pki-user-show-ca-001_29.out" \
+ 0 \
+ "Show pki CA user"
+ rlAssertGrep "User \"u19\"" "$TmpDir/pki-user-show-ca-001_29.out"
+ rlAssertGrep "User ID: u19" "$TmpDir/pki-user-show-ca-001_29.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_29.out"
+ rlAssertGrep "Type: Security Domain Administrators" "$TmpDir/pki-user-show-ca-001_29.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_30:--type ClonedSubsystems "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=ClonedSubsystems u20"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u20 > $TmpDir/pki-user-show-ca-001_30.out" \
+ 0 \
+ "Show pki CA user"
+ rlAssertGrep "User \"u20\"" "$TmpDir/pki-user-show-ca-001_30.out"
+ rlAssertGrep "User ID: u20" "$TmpDir/pki-user-show-ca-001_30.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_30.out"
+ rlAssertGrep "Type: ClonedSubsystems" "$TmpDir/pki-user-show-ca-001_30.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_31:--type Trusted Managers "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Trusted Managers\" u21"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-show u21 > $TmpDir/pki-user-show-ca-001_31.out" \
+ 0 \
+ "Show pki CA user"
+ rlAssertGrep "User \"u21\"" "$TmpDir/pki-user-show-ca-001_31.out"
+ rlAssertGrep "User ID: u21" "$TmpDir/pki-user-show-ca-001_31.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ca-001_31.out"
+ rlAssertGrep "Type: Trusted Managers" "$TmpDir/pki-user-show-ca-001_31.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_32: Add a user to CA with -t option"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" u22"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-show u22 > $TmpDir/pki-user-show-ca-001_32.out" \
+ 0 \
+ "Show pki CA user"
+ rlAssertGrep "User \"u22\"" "$TmpDir/pki-user-show-ca-001_32.out"
+ rlAssertGrep "User ID: u22" "$TmpDir/pki-user-show-ca-001_32.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-ca-001_32.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_33: Add a user -- all options provided"
+ email="ca_agent2@myemail.com"
+ user_password="agent2Password"
+ phone="1234567890"
+ state="NC"
+ type="Administrators"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-add --fullName=\"$user1fullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ --type $type \
+ u23"
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-show u23 > $TmpDir/pki-user-show-ca-001_33.out" \
+ 0 \
+ "Show pki CA user"
+
+ rlAssertGrep "User \"u23\"" "$TmpDir/pki-user-show-ca-001_33.out"
+ rlAssertGrep "User ID: u23" "$TmpDir/pki-user-show-ca-001_33.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-ca-001_33.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-show-ca-001_33.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-show-ca-001_33.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-show-ca-001_33.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-show-ca-001_33.out"
+ rlPhaseEnd
+ #Negative Cases
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_34: Missing required option user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-show > $TmpDir/pki-user-show-ca-001_34.out 2>&1" \
+ 1 \
+ "Cannot show user without user id"
+ rlAssertGrep "usage: user-show <User ID>" "$TmpDir/pki-user-show-ca-001_34.out"
+ rlPhaseEnd
+ #====#
+ rlPhaseStartTest "pki_user_cli_user_show-CA-001_35: Checking if user id case sensitive "
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ -t ca \
+ user-show U23 > $TmpDir/pki-user-show-ca-001_35.out 2>&1" \
+ 0 \
+ "User ID is not case sensitive"
+ rlAssertGrep "User \"U23\"" "$TmpDir/pki-user-show-ca-001_35.out"
+ rlAssertGrep "User ID: u23" "$TmpDir/pki-user-show-ca-001_35.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-ca-001_35.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-show-ca-001_35.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-show-ca-001_35.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-show-ca-001_35.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-show-ca-001_35.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_cleanup-001_36: Deleting the temp directory and users"
+ del_user=($CA_adminV_user $CA_adminR_user $CA_adminE_user $CA_adminUTCA_user $CA_agentV_user $CA_agentR_user $CA_agentE_user $CA_agentUTCA_user $CA_auditV_user $CA_operatorV_user)
+
+ #===Deleting users created using CA_adminV cert===#
+ i=1
+ while [ $i -lt 24] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del u$i > $TmpDir/pki-user-del-ca-user-00$i.out" \
+ 0 \
+ "Deleted user u$i"
+ rlAssertGrep "Deleted user \"u$i\"" "$TmpDir/pki-user-del-ca-user-00$i.out"
+ let i=$i+1
+ done
+ #===Deleting users(symbols) created using CA_adminV cert===#
+ j=1
+ while [ $j -lt 8 ] ; do
+ eval usr=\$user$j
+ rlRun "pki -d /tmp/requestdb \
+ -n CA_adminV \
+ -c $nss_db_password \
+ user-del $usr > $TmpDir/pki-user-del-ca-user-symbol-00$j.out" \
+ 0 \
+ "Deleted user $usr"
+ rlAssertGrep "Deleted user \"$usr\"" "$TmpDir/pki-user-del-ca-user-symbol-00$j.out"
+ let j=$j+1
+ done
+ i=0
+ while [ $i -lt ${#del_user[@]} ] ; do
+ userid_del=${del_user[$i]}
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del $userid_del > $TmpDir/pki-user-del-ca-00$i.out" \
+ 0 \
+ "Deleted user $userid_del"
+ rlAssertGrep "Deleted user \"$userid_del\"" "$TmpDir/pki-user-del-ca-00$i.out"
+ let i=$i+1
+ done
+
+
+ rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlRun "popd"
+ rlRun "rm -rf /tmp/requestdb"
+ rlRun "rm -rf /tmp/dummydb"
+
+ rlPhaseEnd
+
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/runtest.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/runtest.sh
new file mode 100755
index 000000000..1721594f2
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ca/runtest.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/ca
+# Description: PKI USER CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include data-driven test data file:
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include test case file
+. ./pki-user-cli-user-ca.sh
+. ./pki-user-cli-user-add-ca.sh
+. ./pki-user-cli-user-show-ca.sh
+. ./pki-user-cli-user-find-ca.sh
+. ./pki-user-cli-user-del-ca.sh
+
+
+##############################################################################
+PACKAGE="pki-tools"
+
+
+rlJournalStart
+ rlPhaseStartSetup "pki-user-cli-startup: Check for pki-tools package"
+ rpm -qa | grep $PACKAGE
+ if [ $? -eq 0 ] ; then
+ rlPass "$PACKAGE package is installed"
+ else
+ rlFail "$PACKAGE package NOT found!"
+ fi
+ rlPhaseEnd
+
+ # Execute pki user ca config tests
+ run_pki-user-cli-user-ca_tests
+ # Execute pki user-add-ca tests
+ run_pki-user-cli-user-add-ca_tests
+ # Execute pki user-show-ca tests
+ run_pki-user-cli-user-show-ca_tests
+ # Execute pki user-find-ca tests
+ run_pki-user-cli-user-find-ca_tests
+ # Execute pki user-del-ca tests
+ run_pki-user-cli-user-del-ca_tests
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/Makefile b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/Makefile
new file mode 100644
index 000000000..002cedd9e
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/Makefile
@@ -0,0 +1,75 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/kra
+# Description: RHCS pki-user-add CLI tests
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/kra
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) pki-user-cli-user-kra.sh pki-user-cli-user-add-kra.sh pki-user-cli-user-show-kra.sh pki-user-cli-user-find-kra.sh pki-user-cli-user-del-kra.sh runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod 777 pki-user-cli-user-kra.sh
+ chmod 777 pki-user-cli-user-add-kra.sh
+ chmod 777 pki-user-cli-user-show-kra.sh
+ chmod 777 pki-user-cli-user-find-kra.sh
+ chmod 777 pki-user-cli-user-del-kra.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod 777 pki-user-cli-user-kra.sh
+ chmod 777 pki-user-cli-user-add-kra.sh
+ chmod 777 pki-user-cli-user-show-kra.sh
+ chmod 777 pki-user-cli-user-find-kra.sh
+ chmod 777 pki-user-cli-user-del-kra.sh
+
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: RHCS quickinstall" >> $(METADATA)
+ @echo "Type: Functional" >> $(METADATA)
+ @echo "TestTime: 60m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/PURPOSE b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/PURPOSE
new file mode 100644
index 000000000..f4f8eb49e
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+Description: pki user CLI tests
+Author: Asha Akkiangady <aakkiang@redhat.com>
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-add-kra.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-add-kra.sh
new file mode 100755
index 000000000..e7ce1ddcd
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-add-kra.sh
@@ -0,0 +1,1192 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+######################################################################################
+#pki-user-cli-user-kra.sh should be first executed prior to pki-user-cli-user-add-kra.sh
+#pki-user-cli-user-kra.sh
+######################################################################################
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="kra_agent2"
+user1fullname="Test kra_agent"
+
+########################################################################
+
+run_pki-user-cli-user-add-kra_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-kra-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ #====Ticket corresponding to pki_user_cli_user_add-configtest : https://fedorahosted.org/pki/ticket/519=====#
+ rlPhaseStartTest "pki_user_cli_user_add-configtest: pki user-add configuration test"
+ rlRun "pki user-add > $TmpDir/pki_user_add_cfg.out" \
+ 1 \
+ "https://fedorahosted.org/pki/ticket/519"
+ rlAssertGrep "usage: user-add <User ID> \[OPTIONS...\]" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--email <email> Email" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--fullName <fullName> Full name" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--password <password> Password" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--phone <phone> Phone" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--state <state> State" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--type <type> Type" "$TmpDir/pki_user_add_cfg.out"
+ rlPhaseEnd
+ ##### Tests to add KRA users using a user of admin group with a valid cert####
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001: Add a user to KRA using KRA_adminV"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1" \
+ 0 \
+ "Add user $user1 to KRA_adminV"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user1 > $TmpDir/pki-user-add-kra-001.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-add-kra-001.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-kra-001.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-kra-001.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_1:maximum length of user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abcdefghijklmnopqrstuvwxyx12345678 " \
+ 0 \
+ "Added user using KRA_adminV with maximum user id length"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show abcdefghijklmnopqrstuvwxyx12345678 > $TmpDir/pki-user-add-kra-001_1.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"abcdefghijklmnopqrstuvwxyx12345678\"" "$TmpDir/pki-user-add-kra-001_1.out"
+ rlAssertGrep "User ID: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-kra-001_1.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_1.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del abcdefghijklmnopqrstuvwxyx12345678 " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_2:User id with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc# " \
+ 0 \
+ "Added user using KRA_adminV, user id with # character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show abc# > $TmpDir/pki-user-add-kra-001_2.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"abc#\"" "$TmpDir/pki-user-add-kra-001_2.out"
+ rlAssertGrep "User ID: abc#" "$TmpDir/pki-user-add-kra-001_2.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_2.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del abc# " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_3:User id with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc$ " \
+ 0 \
+ "Added user using KRA_adminV, user id with $ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show abc$ > $TmpDir/pki-user-add-kra-001_3.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"abc$\"" "$TmpDir/pki-user-add-kra-001_3.out"
+ rlAssertGrep "User ID: abc\\$" "$TmpDir/pki-user-add-kra-001_3.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_3.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del abc$ " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_4:User id with @ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc@ " \
+ 0 \
+ "Added user using KRA_adminV, user id with @ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show abc@ > $TmpDir/pki-user-add-kra-001_4.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"abc@\"" "$TmpDir/pki-user-add-kra-001_4.out"
+ rlAssertGrep "User ID: abc@" "$TmpDir/pki-user-add-kra-001_4.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_4.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del abc@ " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_5:User id with ? character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc? " \
+ 0 \
+ "Added user using KRA_adminV, user id with ? character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show abc? > $TmpDir/pki-user-add-kra-001_5.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"abc?\"" "$TmpDir/pki-user-add-kra-001_5.out"
+ rlAssertGrep "User ID: abc?" "$TmpDir/pki-user-add-kra-001_5.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_5.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del abc? " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_6:User id as 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test 0 " \
+ 0 \
+ "Added user using KRA_adminV, user id 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show 0 > $TmpDir/pki-user-add-kra-001_6.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"0\"" "$TmpDir/pki-user-add-kra-001_6.out"
+ rlAssertGrep "User ID: 0" "$TmpDir/pki-user-add-kra-001_6.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_6.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del 0 " \
+ 0 \
+ "Delete user from KRA"
+
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_7:--email with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678 a " \
+ 0 \
+ "Added user using KRA_adminV with maximum --email length"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show a > $TmpDir/pki-user-add-kra-001_7.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"a\"" "$TmpDir/pki-user-add-kra-001_7.out"
+ rlAssertGrep "User ID: a" "$TmpDir/pki-user-add-kra-001_7.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_7.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-kra-001_7.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del a" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_8:--email with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678#?*@$ b " \
+ 0 \
+ "Added user using KRA_adminV with maximum --email length and character symbols in it"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show b > $TmpDir/pki-user-add-kra-001_8.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"b\"" "$TmpDir/pki-user-add-kra-001_8.out"
+ rlAssertGrep "User ID: b" "$TmpDir/pki-user-add-kra-001_8.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_8.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-add-kra-001_8.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del b" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_9:--email with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=# d " \
+ 0 \
+ "Added user using KRA_adminV with --email # character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show d > $TmpDir/pki-user-add-kra-001_9.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"d\"" "$TmpDir/pki-user-add-kra-001_9.out"
+ rlAssertGrep "User ID: d" "$TmpDir/pki-user-add-kra-001_9.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_9.out"
+ rlAssertGrep "Email: #" "$TmpDir/pki-user-add-kra-001_9.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del d " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_10:--email with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=* e " \
+ 0 \
+ "Added user using KRA_adminV with --email * character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show e > $TmpDir/pki-user-add-kra-001_10.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"e\"" "$TmpDir/pki-user-add-kra-001_10.out"
+ rlAssertGrep "User ID: e" "$TmpDir/pki-user-add-kra-001_10.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_10.out"
+ rlAssertGrep "Email: *" "$TmpDir/pki-user-add-kra-001_10.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del e " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_11:--email with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=$ f " \
+ 0 \
+ "Added user using KRA_adminV with --email $ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show f > $TmpDir/pki-user-add-kra-001_11.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"f\"" "$TmpDir/pki-user-add-kra-001_11.out"
+ rlAssertGrep "User ID: f" "$TmpDir/pki-user-add-kra-001_11.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_11.out"
+ rlAssertGrep "Email: \\$" "$TmpDir/pki-user-add-kra-001_11.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del f " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_12:--email as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=0 z " \
+ 0 \
+ "Added user using KRA_adminV with --email 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show z > $TmpDir/pki-user-add-kra-001_12.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"z\"" "$TmpDir/pki-user-add-kra-001_12.out"
+ rlAssertGrep "User ID: z" "$TmpDir/pki-user-add-kra-001_12.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_12.out"
+ rlAssertGrep "Email: 0" "$TmpDir/pki-user-add-kra-001_12.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del z" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_13:--state with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678 h " \
+ 0 \
+ "Added user using KRA_adminV with maximum --state length"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show h > $TmpDir/pki-user-add-kra-001_13.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"h\"" "$TmpDir/pki-user-add-kra-001_13.out"
+ rlAssertGrep "User ID: h" "$TmpDir/pki-user-add-kra-001_13.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_13.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-kra-001_13.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del h " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_14:--state with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678#?*@$ i " \
+ 0 \
+ "Added user using KRA_adminV with maximum --state length and character symbols in it"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show i > $TmpDir/pki-user-add-kra-001_14.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"i\"" "$TmpDir/pki-user-add-kra-001_14.out"
+ rlAssertGrep "User ID: i" "$TmpDir/pki-user-add-kra-001_14.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_14.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-add-kra-001_14.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del i " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_15:--state with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=# j " \
+ 0 \
+ "Added user using KRA_adminV with --state # character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show j > $TmpDir/pki-user-add-kra-001_15.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"j\"" "$TmpDir/pki-user-add-kra-001_15.out"
+ rlAssertGrep "User ID: j" "$TmpDir/pki-user-add-kra-001_15.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_15.out"
+ rlAssertGrep "State: #" "$TmpDir/pki-user-add-kra-001_15.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del j" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_16:--state with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=* k " \
+ 0 \
+ "Added user using KRA_adminV with --state * character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show k > $TmpDir/pki-user-add-kra-001_16.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"k\"" "$TmpDir/pki-user-add-kra-001_16.out"
+ rlAssertGrep "User ID: k" "$TmpDir/pki-user-add-kra-001_16.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_16.out"
+ rlAssertGrep "State: *" "$TmpDir/pki-user-add-kra-001_16.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del k " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_17:--state with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=$ l " \
+ 0 \
+ "Added user using KRA_adminV with --state $ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show l > $TmpDir/pki-user-add-kra-001_17.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"l\"" "$TmpDir/pki-user-add-kra-001_17.out"
+ rlAssertGrep "User ID: l" "$TmpDir/pki-user-add-kra-001_17.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_17.out"
+ rlAssertGrep "State: \\$" "$TmpDir/pki-user-add-kra-001_17.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del l " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_18:--state as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=0 m " \
+ 0 \
+ "Added user using KRA_adminV with --state 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show m > $TmpDir/pki-user-add-kra-001_18.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"m\"" "$TmpDir/pki-user-add-kra-001_18.out"
+ rlAssertGrep "User ID: m" "$TmpDir/pki-user-add-kra-001_18.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_18.out"
+ rlAssertGrep "State: 0" "$TmpDir/pki-user-add-kra-001_18.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del m" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_19:--phone with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=abcdefghijklmnopqrstuvwxyx12345678 n " \
+ 0 \
+ "Added user using KRA_adminV with maximum --phone length"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show n > $TmpDir/pki-user-add-kra-001_19.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"n\"" "$TmpDir/pki-user-add-kra-001_19.out"
+ rlAssertGrep "User ID: n" "$TmpDir/pki-user-add-kra-001_19.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_19.out"
+ rlAssertGrep "Phone: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-kra-001_19.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del n " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_20:--phone with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=abcdefghijklmnopqrstuvwxyx12345678#?*@$ o > $TmpDir/pki-user-add-kra-001_20.out 2>&1"\
+ 1 \
+ "Cannot add user using KRA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-kra-001_20.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_21:--phone with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=# p > $TmpDir/pki-user-add-kra-001_21.out 2>&1" \
+ 1 \
+ "Cannot add user using KRA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-kra-001_21.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_22:--phone with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=* q > $TmpDir/pki-user-add-kra-001_22.out 2>&1" \
+ 1 \
+ "Cannot add user using KRA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-kra-001_22.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_23:--phone with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=$ r > $TmpDir/pki-user-add-kra-001_23.out 2>&1" \
+ 1 \
+ "Cannot add user using KRA_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-kra-001_23.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_24:--phone as negative number -1230 "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=-1230 s " \
+ 0 \
+ "Added user using KRA_adminV with --phone -1230"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show s > $TmpDir/pki-user-add-kra-001_24.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"s\"" "$TmpDir/pki-user-add-kra-001_24.out"
+ rlAssertGrep "User ID: s" "$TmpDir/pki-user-add-kra-001_24.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_24.out"
+ rlAssertGrep "Phone: -1230" "$TmpDir/pki-user-add-kra-001_24.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del s " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_25:--type as Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=Auditors t " \
+ 0 \
+ "Added user using KRA_adminV with --type Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show t > $TmpDir/pki-user-add-kra-001_25.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"t\"" "$TmpDir/pki-user-add-kra-001_25.out"
+ rlAssertGrep "User ID: t" "$TmpDir/pki-user-add-kra-001_25.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_25.out"
+ rlAssertGrep "Type: Auditors" "$TmpDir/pki-user-add-kra-001_25.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del t " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_26:--type Data Recovery Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Certificate Manager Agents\" t" \
+ 0 \
+ "Added user using KRA_adminV --type Certificate Manager Agents"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show t > $TmpDir/pki-user-add-kra-001_26.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"t\"" "$TmpDir/pki-user-add-kra-001_26.out"
+ rlAssertGrep "User ID: t" "$TmpDir/pki-user-add-kra-001_26.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_26.out"
+ rlAssertGrep "Type: Certificate Manager Agents" "$TmpDir/pki-user-add-kra-001_26.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del t " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_27:--type Registration Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Registration Manager Agents\" u " \
+ 0 \
+ "Added user using KRA_adminV with --type Registration Manager Agents"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u > $TmpDir/pki-user-add-kra-001_27.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u\"" "$TmpDir/pki-user-add-kra-001_27.out"
+ rlAssertGrep "User ID: u" "$TmpDir/pki-user-add-kra-001_27.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_27.out"
+ rlAssertGrep "Type: Registration Manager Agents" "$TmpDir/pki-user-add-kra-001_27.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del u" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_28:--type Subsytem Group "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Subsytem Group\" v " \
+ 0 \
+ "Added user using KRA_adminV with --type Subsytem Group"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show v > $TmpDir/pki-user-add-kra-001_28.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"v\"" "$TmpDir/pki-user-add-kra-001_28.out"
+ rlAssertGrep "User ID: v" "$TmpDir/pki-user-add-kra-001_28.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_28.out"
+ rlAssertGrep "Type: Subsytem Group" "$TmpDir/pki-user-add-kra-001_28.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del v" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_29:--type Security Domain Administrators "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Security Domain Administrators\" w " \
+ 0 \
+ "Added user using KRA_adminV with --type Security Domain Administrators"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show w > $TmpDir/pki-user-add-kra-001_29.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"w\"" "$TmpDir/pki-user-add-kra-001_29.out"
+ rlAssertGrep "User ID: w" "$TmpDir/pki-user-add-kra-001_29.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_29.out"
+ rlAssertGrep "Type: Security Domain Administrators" "$TmpDir/pki-user-add-kra-001_29.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del w" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_30:--type ClonedSubsystems "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=ClonedSubsystems x " \
+ 0 \
+ "Added user using KRA_adminV with --type ClonedSubsystems"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show x > $TmpDir/pki-user-add-kra-001_30.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"x\"" "$TmpDir/pki-user-add-kra-001_30.out"
+ rlAssertGrep "User ID: x" "$TmpDir/pki-user-add-kra-001_30.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_30.out"
+ rlAssertGrep "Type: ClonedSubsystems" "$TmpDir/pki-user-add-kra-001_30.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del x " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-001_31:--type Trusted Managers "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Trusted Managers\" y " \
+ 0 \
+ "Added user using KRA_adminV with --type Trusted Managers"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show y > $TmpDir/pki-user-add-kra-001_31.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"y\"" "$TmpDir/pki-user-add-kra-001_31.out"
+ rlAssertGrep "User ID: y" "$TmpDir/pki-user-add-kra-001_31.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-kra-001_31.out"
+ rlAssertGrep "Type: Trusted Managers" "$TmpDir/pki-user-add-kra-001_31.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del y " \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-002: Add a duplicate user to KRA"
+ command="pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"New user\" $user1 > $TmpDir/pki-user-add-kra-002.out 2>&1 "
+
+ rlLog "Command=$command"
+ expmsg="ConflictingOperationException: Entry already exists."
+ rlRun "$command" 1 "Add duplicate user"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-kra-002.out"
+ rlLog "Clean-up:"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del $user1" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-003: Add a user to KRA with -t option"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$user1fullname\" $user1"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-003.out" \
+ 0 \
+ "Add user $user1 to KRA"
+ rlAssertGrep "Added user \"$user1\"" "$TmpDir/pki-user-add-kra-003.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-kra-003.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-kra-003.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-show $user1 > $TmpDir/pki-user-add-kra-003_1.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-add-kra-003_1.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-kra-003_1.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-kra-003_1.out"
+ rlLog "Clean-up:"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-del $user1" \
+ 0 \
+ "Delete user from KRA"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-004: Add a user -- missing required option user id"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$user1fullname\" "
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$user1fullname\" > $TmpDir/pki-user-add-kra-004.out" \
+ 1\
+ "Add user -- missing required option user id"
+ rlAssertGrep "usage: user-add <User ID> \[OPTIONS...\]" "$TmpDir/pki-user-add-kra-004.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-005: Add a user -- missing required option --fullName"
+ command="pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add $user1 > $TmpDir/pki-user-add-kra-005.out 2>&1"
+ expmsg="Error: Missing required option: fullName"
+ rlLog "Executing: $command"
+ rlRun "$command" 1 "Add a user -- missing required option --fullName"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-kra-005.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-006: Add a user -- all options provided"
+ email="kra_agent2@myemail.com"
+ user_password="agent2Password"
+ phone="1234567890"
+ state="NC"
+ type="Administrators"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$user1fullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ --type $type \
+ $user1"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$user1fullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ --type $type \
+ $user1 > $TmpDir/pki-user-add-kra-006_1.out" \
+ 0 \
+ "Add user $user1 to KRA -- all options provided"
+ rlAssertGrep "Added user \"$user1\"" "$TmpDir/pki-user-add-kra-006_1.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-kra-006_1.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-kra-006_1.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-add-kra-006_1.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-add-kra-006_1.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-add-kra-006_1.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-add-kra-006_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-show $user1 > $TmpDir/pki-user-add-kra-006.out" \
+ 0 \
+ "Show pki KRA user"
+
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-add-kra-006.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-kra-006.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-kra-006.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-add-kra-006.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-add-kra-006.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-add-kra-006.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-add-kra-006.out"
+ rlLog "Clean-up:"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-del $user1" \
+ 0 \
+ "Delete user from KRA"
+
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-007: Add user to multiple groups"
+ user=multigroup_user
+ userfullname="Multiple Group User"
+ email="multiplegroup@myemail.com"
+ user_password="admin2Password"
+ phone="1234567890"
+ state="NC"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$userfullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ $user"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$userfullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ $user" \
+ 0 \
+ "Add user $user using KRA_adminV"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ group-add-member Administrators $user > $TmpDir/pki-user-add-kra-007_1.out" \
+ 0 \
+ "Add user $user to Administrators group"
+
+ rlAssertGrep "Added group member \"$user\"" "$TmpDir/pki-user-add-kra-007_1.out"
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-kra-007_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ group-find-member Administrators > $TmpDir/pki-user-add-kra-007.out" \
+ 0 \
+ "Show pki group-find-member Administrators"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ group-add-member \"Certificate Manager Agents\" $user > $TmpDir/pki-user-add-kra-007_1_1.out" \
+ 0 \
+ "Add user $user to Administrators group"
+
+ rlAssertGrep "Added group member \"$user\"" "$TmpDir/pki-user-add-kra-007_1_1.out"
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-kra-007_1_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ group-find-member \"Certificate Manager Agents\" > $TmpDir/pki-user-add-kra-007_2.out" \
+ 0 \
+ "Show pki group-find-member Administrators"
+
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-kra-007_2.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-del $user" \
+ 0 \
+ "Delete user $user "
+
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-008: Add user with --password "
+ userpw="pass"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" --password=$userpw $user1 > $TmpDir/pki-user-add-kra-008.out 2>&1"
+ expmsg="PKIException: The password must be at least 8 characters"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$user1fullname\" --password=$userpw $user1 > $TmpDir/pki-user-add-kra-008.out 2>&1" \
+ 1 \
+ "Add a user --must be at least 8 characters --password"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-kra-008.out"
+
+ rlPhaseEnd
+
+ ##### Tests to add users using revoked cert#####
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-009: Cannot add user using a revoked cert KRA_adminR"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-revoke-adminR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a user having revoked cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-kra-revoke-adminR-002.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-009_1: Cannot add user using a agent or a revoked cert KRA_agentR"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-revoke-agentR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a user having revoked cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-kra-revoke-agentR-002.out"
+ rlPhaseEnd
+
+
+ ##### Tests to add users using an agent user#####
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0010: Cannot add user using a KRA_agentV user"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_agentV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_agentV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-agentV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-kra-agentV-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0011: Cannot add user using a KRA_agentR user"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-agentR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-kra-agentR-002.out"
+ rlPhaseEnd
+ ##### Tests to add users using expired cert#####
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0012: Cannot add user using a KRA_adminE cert"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_adminE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-adminE-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "RuntimeException: java.io.IOException: SocketException cannot read on socket" "$TmpDir/pki-user-add-kra-adminE-002.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0013: Cannot add user using a KRA_agentE cert"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_agentE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_agentE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-agentE-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "RuntimeException: java.io.IOException: SocketException cannot read on socket" "$TmpDir/pki-user-add-kra-agentE-002.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ rlPhaseEnd
+
+ ##### Tests to add users using audit users#####
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0012: Cannot add user using a KRA_auditV"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_auditV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_auditV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-auditV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a audit cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-kra-auditV-002.out"
+ rlPhaseEnd
+
+ ##### Tests to add users using operator user###
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0013: Cannot add user using a KRA_operatorV"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n KRA_operatorV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_operatorV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-operatorV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a operator cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-kra-operatorV-002.out"
+ rlPhaseEnd
+
+
+ ##### Tests to add users using KRA_adminUTKRA and KRA_agentUTKRA user's certificate will be issued by an untrusted KRA users#####
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0014: Cannot add user using a KRA_adminUTKRA"
+
+ rlLog "Executing: pki -d /tmp/dummydb \
+ -n KRA_adminUTKRA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/dummydb \
+ -n KRA_adminUTKRA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-adminUTKRA-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a untrusted cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-kra-adminUTKRA-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-KRA-0014: Cannot add user using a KRA_agentUTKRA"
+
+ rlLog "Executing: pki -d /tmp/dummydb \
+ -n KRA_agentUTKRA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/dummydb \
+ -n KRA_agentUTKRA \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-kra-agentUTKRA-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a untrusted cert"
+ rlAssertGrep "RuntimeException: java.net.SocketException: Object not found: org.mozilla.jss.crypto.ObjectNotFoundException" "$TmpDir/pki-user-add-kra-agentUTKRA-002.out"
+ rlPhaseEnd
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-del-kra.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-del-kra.sh
new file mode 100755
index 000000000..059523ae1
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-del-kra.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+run_pki-user-cli-user-del-kra_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-kra-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_user_cli_user_add-cleanup: Delete temp dir"
+ del_user=($KRA_adminV_user $KRA_adminR_user $KRA_adminE_user $KRA_adminUTKRA_user $KRA_agentV_user $KRA_agentR_user $KRA_agentE_user $KRA_agentUTKRA_user $KRA_auditV_user $KRA_operatorV_user)
+
+ #===Deleting users created using KRA_adminV cert===#
+ i=1
+ while [ $i -lt 25 ] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del u$i > $TmpDir/pki-user-del-kra-user-00$i.out" \
+ 0 \
+ "Deleted user u$i"
+ rlAssertGrep "Deleted user \"u$i\"" "$TmpDir/pki-user-del-kra-user-00$i.out"
+ let i=$i+1
+ done
+ #===Deleting users(symbols) created using KRA_adminV cert===#
+ j=1
+ while [ $j -lt 8 ] ; do
+ eval usr=\$user$j
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-del $usr > $TmpDir/pki-user-del-kra-user-symbol-00$j.out" \
+ 0 \
+ "Deleted user $usr"
+ rlAssertGrep "Deleted user \"$usr\"" "$TmpDir/pki-user-del-kra-user-symbol-00$j.out"
+ let j=$j+1
+ done
+ i=0
+ while [ $i -lt ${#del_user[@]} ] ; do
+ userid_del=${del_user[$i]}
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del $userid_del > $TmpDir/pki-user-del-kra-00$i.out" \
+ 0 \
+ "Deleted user $userid_del"
+ rlAssertGrep "Deleted user \"$userid_del\"" "$TmpDir/pki-user-del-kra-00$i.out"
+ let i=$i+1
+ done
+
+
+# rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+# rlRun "popd"
+ # rlRun "rm -rf /tmp/requestdb"
+ # rlRun "rm -rf /tmp/dummydb"
+
+
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-find-kra.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-find-kra.sh
new file mode 100755
index 000000000..9b8f03a1f
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-find-kra.sh
@@ -0,0 +1,220 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="kra_agent2"
+user1fullname="Test kra_agent"
+
+
+########################################################################
+
+run_pki-user-cli-user-find-kra_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_find-startup: Create temp directory and import KRA agent cert into a nss certificate db and trust KRA root cert"
+ admin_cert_nickname="PKI Administrator for $KRA_DOMAIN"
+ nss_db_password="Password"
+ rlLog "Admin Certificate is located at: $KRA_ADMIN_CERT_LOKRATION"
+ rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
+ rlRun "pushd $TmpDir"
+ rlLog "Temp Directory = $TmpDir"
+ rlRun "mkdir $TmpDir/nssdb"
+ rlLog "importP12File $KRA_ADMIN_CERT_LOKRATION $KRA_CLIENT_PKCS12_PASSWORD $TmpDir/nssdb $nss_db_password $admin_cert_nickname"
+ rlRun "importP12File $KRA_ADMIN_CERT_LOKRATION $KRA_CLIENT_PKCS12_PASSWORD $TmpDir/nssdb $nss_db_password $admin_cert_nickname" 0 "Import Admin certificate to $TmpDir/nssdb"
+ rlRun "install_and_trust_KRA_cert $KRA_SERVER_ROOT $TmpDir/nssdb"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-KRA-add: Add users to KRA"
+ i=1
+ while [ $i -le 5 ] ; do
+ rlLog "Adding user user1$i"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-add --fullName=\"fullname1$i\" user1$i > $TmpDir/pki-user-find-kra-a00$i.out 2>&1" \
+ 0 \
+ "Add user user1$i to KRA"
+ rlAssertGrep "Added user \"user1$i\"" "$TmpDir/pki-user-find-kra-a00$i.out"
+ rlAssertGrep "User ID: user1$i" "$TmpDir/pki-user-find-kra-a00$i.out"
+ rlAssertGrep "Full name: fullname1$i" "$TmpDir/pki-user-find-kra-a00$i.out"
+ let i=$i+1
+ done
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-001: Find 5 users, --size=5"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=5 > $TmpDir/pki-user-find-kra-001.out 2>&1" \
+ 0 \
+ "Found 5 users"
+ rlAssertGrep "Number of entries returned 5" "$TmpDir/pki-user-find-kra-001.out"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-002: Find non user, --size=0"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=0 > $TmpDir/pki-user-find-kra-002.out 2>&1" \
+ 0 \
+ "Found no users"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-kra-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-003: Find all users, maximum possible value as input"
+ maximum_check=1000000
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$maximum_check > $TmpDir/pki-user-find-kra-003.out 2>&1" \
+ 0 \
+ "All users"
+ rlAssertGrep "Number of entries returned " "$TmpDir/pki-user-find-kra-003.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-004: Find users, check for negative input --size=-1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=-1 > $TmpDir/pki-user-find-kra-004.out 2>&1" \
+ 0 \
+ "No users returned as the size entered is negative value"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-kra-004.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-005: Find users for size input as noninteger, --size=abc"
+ size_noninteger="abc"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$size_noninteger > $TmpDir/pki-user-find-kra-005.out 2>&1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$size_noninteger > $TmpDir/pki-user-find-kra-005.out 2>&1" \
+ 1 \
+ "Found 5 users"
+ rlAssertGrep "NumberFormatException: For input string: \"$size_noninteger\"" "$TmpDir/pki-user-find-kra-005.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-006: Find users, check for no input --size= "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size= > $TmpDir/pki-user-find-kra-006.out 2>&1" \
+ 1 \
+ "No users returned, as --size= "
+ rlAssertGrep "NumberFormatException: For input string: \"""\"" "$TmpDir/pki-user-find-kra-006.out"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-007: Find users, --start=10 "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=10 > $TmpDir/pki-user-find-kra-007.out 2>&1" \
+ 0 \
+ "Displays users from the 10th user and the next to the maximum 20 users, if available "
+ rlAssertGrep "Number of entries returned " "$TmpDir/pki-user-find-kra-007.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-008: Find users, --start=10000, maximum possible input "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=10000 > $TmpDir/pki-user-find-kra-008.out 2>&1" \
+ 0 \
+ "No users"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-kra-008.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-009: Find users, --start=0"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=0 > $TmpDir/pki-user-find-kra-009.out 2>&1" \
+ 0 \
+ "Displays from the zeroth user, maximum possible are 20 users in a page"
+ rlAssertGrep "Number of entries returned" "$TmpDir/pki-user-find-kra-009.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-0010: Find users, --start=-1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=-1 > $TmpDir/pki-user-find-kra-0010.out 2>&1" \
+ 0 \
+ "Maximum possible 20 users are returned, starting from the zeroth user"
+ rlAssertGrep "Number of entries returned" "$TmpDir/pki-user-find-kra-0010.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-kra-0011: Find users for size input as noninteger, --start=abc"
+ size_noninteger="abc"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=$size_noninteger > $TmpDir/pki-user-find-kra-0011.out 2>&1" \
+ 1 \
+ "Incorrect input to find user"
+ rlAssertGrep "NumberFormatException: For input string: \"$size_noninteger\"" "$TmpDir/pki-user-find-kra-0011.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "Cleanup: Delete the KRA users"
+ i=1
+ while [ $i -le 5 ] ; do
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del user1$i" \
+ 0 \
+ "Delete user user1$i"
+ let i=$i+1
+ done
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_user_cli_user_find-cleanup: Delete temp dir"
+# rlRun "popd"
+# rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlPhaseEnd
+
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-kra.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-kra.sh
new file mode 100755
index 000000000..36aa55db0
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-kra.sh
@@ -0,0 +1,336 @@
+#!/bin/bash
+#!/usr/bin/expect -f
+
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+KRA_adminV_user=KRA_adminV
+KRA_adminV_fullName=KRA_Admin_ValidCert
+KRA_adminR_user=KRA_adminR
+KRA_adminR_fullName=KRA_Admin_RevokedCert
+KRA_adminE_user=KRA_adminE
+KRA_adminE_fullName=KRA_admin_ExpiredCert
+KRA_adminUTKRA_user=KRA_adminUTCA
+KRA_adminUTKRA_fullName=KRA_Admin_CertIssuedByUntrustedCA
+
+KRA_agentV_user=KRA_agentV
+KRA_agentV_fullName=KRA_Agent_ValidCert
+KRA_agentR_user=KRA_agentR
+KRA_agentR_fullName=KRA_Agent_RevokedCert
+KRA_agentE_user=KRA_agentE
+KRA_agentE_fullName=KRA_agent_ExpiredCert
+KRA_agentUTKRA_user=KRA_agentUTCA
+KRA_agentUTKRA_fullName=KRA_Agent_CertIssuedByUntrustedCA
+
+KRA_auditV_user=KRA_auditV
+KRA_auditV_fullName=KRA_Audit_ValidCert
+KRA_operatorV_user=KRA_operatorV
+KRA_operatorV_fullName=KRA_Operator_ValidCert
+
+export KRA_adminV_user KRA_adminR_user KRA_adminE_user KRA_adminUTKRA_user KRA_agentV_user KRA_agentR_user KRA_agentE_user KRA_agentUTKRA_user KRA_auditV_user KRA_operatorV_user
+######################################################################
+
+run_pki-user-cli-user-kra_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-kra-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ rlPhaseStartSetup "pki_user_cli_user_kra-startup: Importing kra agent cert into certificate db and trust KRA root cert"
+ rlRun "install_and_trust_KRA_cert $KRA_SERVER_ROOT $TmpDir/nssdb"
+ rlRun "install_and_trust_KRA_cert $KRA_SERVER_ROOT /tmp/requestdb"
+ rlPhaseEnd
+ rlPhaseStartSetup "Creating user, create user and add it to the user, add user to the group"
+ user=($KRA_adminV_user $KRA_adminV_fullName $KRA_adminR_user $KRA_adminR_fullName $KRA_adminE_user $KRA_adminE_fullName $KRA_adminUTKRA_user $KRA_adminUTKRA_fullName $KRA_agentV_user $KRA_agentV_fullName $KRA_agentR_user $KRA_agentR_fullName $KRA_agentE_user $KRA_agentE_fullName $KRA_agentUTKRA_user $KRA_agentUTKRA_fullName $KRA_auditV_user $KRA_auditV_fullName $KRA_operatorV_user $KRA_operatorV_fullName)
+ i=0
+ while [ $i -lt ${#user[@]} ] ; do
+ userid=${user[$i]}
+ userfullName=${user[$i+1]}
+
+ #Create $userid user
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$userfullName\" $userid"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ user-add --fullName=\"$userfullName\" $userid" \
+ 0 \
+ "Add user $userid to KRA"
+
+ #=====Adding user to respective group. Administrator, Date Recovery Manager Agent, Auditor=====#
+ if [ $userid == $KRA_adminV_user -o $userid == $KRA_adminR_user -o $userid == $KRA_adminE_user -o $userid == $KRA_adminUTKRA_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ group-add-member Administrators $userid > $TmpDir/pki-user-add-kra-group001$i.out" \
+ 0 \
+ "Add user $userid to Administrators group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-kra-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-kra-group001$i.out"
+ elif [ $userid == $KRA_agentV_user -o $userid == $KRA_agentR_user -o $userid == $KRA_agentE_user -o $userid == $KRA_agentUTKRA_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ group-add-member \"Data Recovery Manager Agents\" $userid > $TmpDir/pki-user-add-kra-group001$i.out" \
+ 0 \
+ "Add user $userid to Data Recovery Manager Agents group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-kra-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-kra-group001$i.out"
+
+ elif [ $userid == $KRA_auditV_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ group-add-member Auditors $userid > $TmpDir/pki-user-add-kra-group001$i.out" \
+ 0 \
+ "Add user $userid to Auditors group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-kra-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-kra-group001$i.out"
+
+ elif [ $userid == $KRA_operatorV_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ group-add-member \"Trusted Managers\" $userid > $TmpDir/pki-user-add-kra-group001$i.out" \
+ 0 \
+ "Add user $userid to Trusted Managers group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-kra-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-kra-group001$i.out"
+ fi
+ #================#
+
+ if [ $userid == $KRA_adminV_user -o $userid == $KRA_adminR_user -o $userid == $KRA_adminE_user -o $userid == $KRA_agentV_user -o $userid == $KRA_agentR_user -o $userid == $KRA_agentE_user -o $userid == $KRA_auditV_user -o $userid == $KRA_operatorV_user ]; then
+
+ #Create a cert and add it to the $userid user
+ rlLog "Admin Certificate is located at: $KRA_ADMIN_CERT_LOCATION"
+ local sample_request_file1="/opt/rhqa_pki/cert_request_caUserCert1_1.in"
+ local sample_request_file2="/opt/rhqa_pki/cert_request_caUserCert1_2.in"
+ local temp_file="/tmp/requestdb/certrequest_kra_001$i.in"
+ #rlRun "create_certdb \"/tmp/requestdb\" Password" 0 "Create a certificate db"
+ rlRun "generate_PKCS10 \"/tmp/requestdb\" Password rsa 2048 \"/tmp/requestdb/request_kra_001$i.out\" \"CN=adminV\" " 0 "generate PKCS10 certificate"
+
+ rlLog "Create a certificate request XML file.."
+ local search_string1="<InputAttr name=\"cert_request_type\">crmf<\/InputAttr>"
+ local replace_string1="\<InputAttr name=\"cert_request_type\"\>pkcs10\<\/InputAttr\>"
+ rlRun "sed -e '/-----BEGIN NEW CERTIFICATE REQUEST-----/d' -i /tmp/requestdb/request_kra_001$i.out"
+ rlRun "sed -e '/-----END NEW CERTIFICATE REQUEST-----/d' -i /tmp/requestdb/request_kra_001$i.out"
+ #local cert_request=`cat /tmp/request_001$i.out`
+ rlRun "cat $sample_request_file1 /tmp/requestdb/request_kra_001$i.out $sample_request_file2 > $temp_file"
+ rlLog "Executing: sed -e 's/$search_string1/$replace_string1/' -i $temp_file"
+ rlRun "sed -e 's/$search_string1/$replace_string1/' -i $temp_file"
+ local search_string2="testuser"
+ local replace_string2=$userid
+ rlLog "Executing: sed -e 's/$search_string2/$replace_string2/g' -i $temp_file"
+ rlRun "sed -e 's/$search_string2/$replace_string2/g' -i $temp_file"
+ local search_string3="Test User"
+ local replace_string3=$userfullName
+ rlLog "Executing: sed -e 's/$search_string3/$replace_string3/g' -i $temp_file"
+ rlRun "sed -e 's/$search_string3/$replace_string3/g' -i $temp_file"
+
+ if [ $userid == $KRA_adminV_user -o $userid == $KRA_adminR_user -o $userid == $KRA_agentV_user -o $userid == $KRA_agentR_user -o $userid == $KRA_auditV_user -o $userid == $KRA_operatorV_user ]; then
+ #cert-request-submit=====
+ rlLog "Executing: pki cert-request-submit $temp_file"
+ rlRun "pki cert-request-submit $temp_file > /tmp/requestdb/certrequest_kra_$i.out" 0 "Executing pki cert-request-submit"
+ rlAssertGrep "Submitted certificate request" "/tmp/requestdb/certrequest_kra_$i.out"
+ rlAssertGrep "Request ID:" "/tmp/requestdb/certrequest_kra_$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequest_kra_$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequest_kra_$i.out"
+ local request_id=`cat /tmp/requestdb/certrequest_kra_$i.out | grep "Request ID:" | awk '{print $3}'`
+ rlLog "Request ID=$request_id"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestshow_kra_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ rlAssertGrep "Operation Result: success" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ #Agent Approve the certificate after reviewing the cert for the user
+ rlLog "Executing: pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ cert-request-review --action=approve $request_id"
+
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ cert-request-review --action=approve $request_id > /tmp/requestdb/certapprove_kra_001$i.out" \
+ 0 \
+ "KRA agent approve the cert"
+ rlAssertGrep "Approved certificate request $request_id" "/tmp/requestdb/certapprove_kra_001$i.out"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestapprovedshow_kra_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ rlAssertGrep "Status: complete" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ rlAssertGrep "Certificate ID:" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ local certificate_serial_number=`cat /tmp/requestdb/certrequestapprovedshow_kra_001$i.out | grep "Certificate ID:" | awk '{print $3}'`
+ rlLog "Cerificate Serial Number=$certificate_serial_number"
+
+ #Verify the certificate is valid
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_kra_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_kra_001$i.out"
+ rlAssertGrep "Status: VALID" "/tmp/requestdb/certificate_show_kra_001$i.out"
+
+ rlRun "sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' /tmp/requestdb/certificate_show_kra_001$i.out > /tmp/requestdb/validcert_kra_001$i.pem"
+ rlRun "certutil -d /tmp/requestdb -A -n $userid -i /tmp/requestdb/validcert_kra_001$i.pem -t "u,u,u""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ user-add-cert $userid --input /tmp/requestdb/validcert_kra_001$i.pem > /tmp/requestdb/useraddcert_kra_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+
+ elif [ $userid == $KRA_adminE_user -o $userid == $KRA_agentE_user ]; then
+ #=======Expired cert waiting on response to --output ticket https://fedorahosted.org/pki/ticket/674 =======#
+ local profile_file="/var/lib/pki/pki-tomcat/ca/profiles/ca/caUserCert.cfg"
+ default_days="policyset.userCertSet.2.default.params.range=180"
+ change_days="policyset.userCertSet.2.default.params.range=1"
+ rlLog "Executing: sed -e 's/$default_days/$change_days/g' -i $profile_file"
+ rlRun "sed -e 's/$default_days/$change_days/g' -i $profile_file"
+ rlLog "Restart the subsytem"
+ rlRun "systemctl restart pki-tomcatd\@pki-tomcat.service"
+ #cert-request-submit=====
+ rlLog "Executing: pki cert-request-submit $temp_file"
+ rlRun "pki cert-request-submit $temp_file > /tmp/requestdb/certrequest_kra_$i.out" 0 "Executing pki cert-request-submit"
+ rlAssertGrep "Submitted certificate request" "/tmp/requestdb/certrequest_kra_$i.out"
+ rlAssertGrep "Request ID:" "/tmp/requestdb/certrequest_kra_$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequest_kra_$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequest_kra_$i.out"
+ local request_id=`cat /tmp/requestdb/certrequest_kra_$i.out | grep "Request ID:" | awk '{print $3}'`
+ rlLog "Request ID=$request_id"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestshow_kra_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ rlAssertGrep "Operation Result: success" "/tmp/requestdb/certrequestshow_kra_001$i.out"
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ cert-request-review --action=approve $request_id > /tmp/requestdb/certapprove_kra_001$i.out" \
+ 0 \
+ "KRA agent approve the cert"
+ rlLog "cat /tmp/requestdb/certapprove_kra_001$i.out"
+ rlAssertGrep "Approved certificate request $request_id" "/tmp/requestdb/certapprove_kra_001$i.out"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestapprovedshow_kra_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ rlAssertGrep "Status: complete" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ rlAssertGrep "Certificate ID:" "/tmp/requestdb/certrequestapprovedshow_kra_001$i.out"
+ local certificate_serial_number=`cat /tmp/requestdb/certrequestapprovedshow_kra_001$i.out | grep "Certificate ID:" | awk '{print $3}'`
+ rlLog "Cerificate Serial Number=$certificate_serial_number"
+ #Verify the certificate is expired
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_kra_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_kra_001$i.out"
+ rlAssertGrep "Status: VALID" "/tmp/requestdb/certificate_show_kra_001$i.out"
+ rlRun "sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' /tmp/requestdb/certificate_show_kra_001$i.out > /tmp/requestdb/validcert_kra_001$i.pem"
+ rlRun "certutil -d /tmp/requestdb -A -n $userid -i /tmp/requestdb/validcert_kra_001$i.pem -t "u,u,u""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ user-add-cert $userid --input /tmp/requestdb/validcert_kra_001$i.pem > /tmp/requestdb/useraddcert_kra_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ rlLog "Modifying profile back to the defaults"
+ rlRun "sed -e 's/$change_days/$default_days/g' -i $profile_file"
+ rlLog "Restart the subsytem"
+ rlRun "systemctl restart pki-tomcatd\@pki-tomcat.service"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_exp_kra_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_exp_kra_001$i.out"
+ rlAssertGrep "Status: EXPIRED" "/tmp/requestdb/certificate_show_exp_kra_001$i.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ fi
+ fi
+ #Add the certificate to /tmp/requestdb
+ #note: certificate b664 at /tmp/requestdb/certificate_show_kra_001$i.out
+ if [ $userid == $KRA_adminUTKRA_user ]; then
+ rlRun "certutil -d /tmp/dummydb -A -n $userid -i /opt/rhqa_pki/dummycert1.pem -t ",,""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ user-add-cert $userid --input /opt/rhqa_pki/dummycert1.pem > /tmp/requestdb/useraddcert_kra_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ elif [ $userid == $KRA_agentUTKRA_user ]; then
+ rlRun "certutil -d /tmp/dummydb -A -n $userid -i /opt/rhqa_pki/dummycert1.pem -t ",,""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ user-add-cert $userid --input /opt/rhqa_pki/dummycert1.pem > /tmp/requestdb/useraddcert_kra_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ #Revoke certificate of user KRA_adminR and KRA_agentR
+ elif [ $userid == $KRA_adminR_user -o $userid == $KRA_agentR_user ] ;then
+ rlLog "$userid"
+ rlLog "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ cert-revoke $certificate_serial_number --force --reason = Unspecified > /tmp/requestdb/revokecert_kra_001$i.out"
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t kra \
+ cert-revoke $certificate_serial_number --force --reason=Unspecified > /tmp/requestdb/revokecert_kra_001$i.out" \
+ 0 \
+ "Certificate of user $userid is revoked"
+ rlAssertGrep "Serial Number: $certificate_serial_number" "/tmp/requestdb/revokecert_kra_001$i.out"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/revokecert_kra_001$i.out"
+ rlAssertGrep "Status: REVOKED" "/tmp/requestdb/revokecert_kra_001$i.out"
+ fi
+ let i=$i+2
+ done
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-show-kra.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-show-kra.sh
new file mode 100755
index 000000000..ee57254b9
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/pki-user-cli-user-show-kra.sh
@@ -0,0 +1,446 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+######################################################################################
+#pki-user-cli-user-kra.sh should be first executed prior to pki-user-cli-user-add-kra.sh
+#pki-user-cli-user-add-kra.sh should be first executed prior to pki-user-cli-user-add-kra.sh
+######################################################################################
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+########################################################################
+
+run_pki-user-cli-user-show-kra_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_show-kra-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ ##### Tests to show KRA users ####
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001: Add a user to KRA using KRA_adminV"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user1 > $TmpDir/pki-user-show-kra-001.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-show-kra-001.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-show-kra-001.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-kra-001.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_1:maximum length of user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user2 > $TmpDir/pki-user-show-kra-001_1.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user2\"" "$TmpDir/pki-user-show-kra-001_1.out"
+ rlAssertGrep "User ID: $user2" "$TmpDir/pki-user-show-kra-001_1.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_1.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_2:User id with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user3 > $TmpDir/pki-user-show-kra-001_2.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user3\"" "$TmpDir/pki-user-show-kra-001_2.out"
+ rlAssertGrep "User ID: $user3" "$TmpDir/pki-user-show-kra-001_2.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_2.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_3:User id with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user4 > $TmpDir/pki-user-show-kra-001_3.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user4\"" "$TmpDir/pki-user-show-kra-001_3.out"
+ rlAssertGrep "User ID: abc\\$" "$TmpDir/pki-user-show-kra-001_3.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_3.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_4:User id with @ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user5 > $TmpDir/pki-user-show-kra-001_4.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user5\"" "$TmpDir/pki-user-show-kra-001_4.out"
+ rlAssertGrep "User ID: $user5" "$TmpDir/pki-user-show-kra-001_4.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_4.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_5:User id with ? character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user6 > $TmpDir/pki-user-show-kra-001_5.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user6\"" "$TmpDir/pki-user-show-kra-001_5.out"
+ rlAssertGrep "User ID: $user6" "$TmpDir/pki-user-show-kra-001_5.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_5.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_6:User id as 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show $user7 > $TmpDir/pki-user-show-kra-001_6.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"$user7\"" "$TmpDir/pki-user-show-kra-001_6.out"
+ rlAssertGrep "User ID: $user7" "$TmpDir/pki-user-show-kra-001_6.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_6.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_7:--email with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u1 > $TmpDir/pki-user-show-kra-001_7.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u1\"" "$TmpDir/pki-user-show-kra-001_7.out"
+ rlAssertGrep "User ID: u1" "$TmpDir/pki-user-show-kra-001_7.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_7.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-kra-001_7.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_8:--email with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u2 > $TmpDir/pki-user-show-kra-001_8.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u2\"" "$TmpDir/pki-user-show-kra-001_8.out"
+ rlAssertGrep "User ID: u2" "$TmpDir/pki-user-show-kra-001_8.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_8.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-show-kra-001_8.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_9:--email with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u3 > $TmpDir/pki-user-show-kra-001_9.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u3\"" "$TmpDir/pki-user-show-kra-001_9.out"
+ rlAssertGrep "User ID: u3" "$TmpDir/pki-user-show-kra-001_9.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_9.out"
+ rlAssertGrep "Email: #" "$TmpDir/pki-user-show-kra-001_9.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_10:--email with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u4 > $TmpDir/pki-user-show-kra-001_10.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u4\"" "$TmpDir/pki-user-show-kra-001_10.out"
+ rlAssertGrep "User ID: u4" "$TmpDir/pki-user-show-kra-001_10.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_10.out"
+ rlAssertGrep "Email: *" "$TmpDir/pki-user-show-kra-001_10.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_11:--email with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u5 > $TmpDir/pki-user-show-kra-001_11.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u5\"" "$TmpDir/pki-user-show-kra-001_11.out"
+ rlAssertGrep "User ID: u5" "$TmpDir/pki-user-show-kra-001_11.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_11.out"
+ rlAssertGrep "Email: \\$" "$TmpDir/pki-user-show-kra-001_11.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_12:--email as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u6 > $TmpDir/pki-user-show-kra-001_12.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u6\"" "$TmpDir/pki-user-show-kra-001_12.out"
+ rlAssertGrep "User ID: u6" "$TmpDir/pki-user-show-kra-001_12.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_12.out"
+ rlAssertGrep "Email: 0" "$TmpDir/pki-user-show-kra-001_12.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_13:--state with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u7 > $TmpDir/pki-user-show-kra-001_13.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u7\"" "$TmpDir/pki-user-show-kra-001_13.out"
+ rlAssertGrep "User ID: u7" "$TmpDir/pki-user-show-kra-001_13.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_13.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-kra-001_13.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_14:--state with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u8 > $TmpDir/pki-user-show-kra-001_14.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u8\"" "$TmpDir/pki-user-show-kra-001_14.out"
+ rlAssertGrep "User ID: u8" "$TmpDir/pki-user-show-kra-001_14.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_14.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-show-kra-001_14.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_15:--state with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u9 > $TmpDir/pki-user-show-kra-001_15.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u9\"" "$TmpDir/pki-user-show-kra-001_15.out"
+ rlAssertGrep "User ID: u9" "$TmpDir/pki-user-show-kra-001_15.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_15.out"
+ rlAssertGrep "State: #" "$TmpDir/pki-user-show-kra-001_15.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_16:--state with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u10 > $TmpDir/pki-user-show-kra-001_16.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u10\"" "$TmpDir/pki-user-show-kra-001_16.out"
+ rlAssertGrep "User ID: u10" "$TmpDir/pki-user-show-kra-001_16.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_16.out"
+ rlAssertGrep "State: *" "$TmpDir/pki-user-show-kra-001_16.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_17:--state with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u11 > $TmpDir/pki-user-show-kra-001_17.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u11\"" "$TmpDir/pki-user-show-kra-001_17.out"
+ rlAssertGrep "User ID: u11" "$TmpDir/pki-user-show-kra-001_17.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_17.out"
+ rlAssertGrep "State: \\$" "$TmpDir/pki-user-show-kra-001_17.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_18:--state as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u12 > $TmpDir/pki-user-show-kra-001_18.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u12\"" "$TmpDir/pki-user-show-kra-001_18.out"
+ rlAssertGrep "User ID: u12" "$TmpDir/pki-user-show-kra-001_18.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_18.out"
+ rlAssertGrep "State: 0" "$TmpDir/pki-user-show-kra-001_18.out"
+ rlPhaseEnd
+ #https://www.redhat.com/archives/pki-users/2010-February/msg00015.html
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_19:--phone with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u13 > $TmpDir/pki-user-show-kra-001_19.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u13\"" "$TmpDir/pki-user-show-kra-001_19.out"
+ rlAssertGrep "User ID: u13" "$TmpDir/pki-user-show-kra-001_19.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_19.out"
+ rlAssertGrep "Phone: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-kra-001_19.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_24:--phone as negative number -1230 "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u14 > $TmpDir/pki-user-show-kra-001_24.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u14\"" "$TmpDir/pki-user-show-kra-001_24.out"
+ rlAssertGrep "User ID: u14" "$TmpDir/pki-user-show-kra-001_24.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_24.out"
+ rlAssertGrep "Phone: -1230" "$TmpDir/pki-user-show-kra-001_24.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_25:--type as Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u15 > $TmpDir/pki-user-show-kra-001_25.out" \
+ 0 \
+ "Show pki KRA_adminV user"
+ rlAssertGrep "User \"u15\"" "$TmpDir/pki-user-show-kra-001_25.out"
+ rlAssertGrep "User ID: u15" "$TmpDir/pki-user-show-kra-001_25.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_25.out"
+ rlAssertGrep "Type: Auditors" "$TmpDir/pki-user-show-kra-001_25.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_26:--type Certificate Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u16 > $TmpDir/pki-user-show-kra-001_26.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u16\"" "$TmpDir/pki-user-show-kra-001_26.out"
+ rlAssertGrep "User ID: u16" "$TmpDir/pki-user-show-kra-001_26.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_26.out"
+ rlAssertGrep "Type: Certificate Manager Agents" "$TmpDir/pki-user-show-kra-001_26.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_27:--type Registration Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u17 > $TmpDir/pki-user-show-kra-001_27.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u17\"" "$TmpDir/pki-user-show-kra-001_27.out"
+ rlAssertGrep "User ID: u17" "$TmpDir/pki-user-show-kra-001_27.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_27.out"
+ rlAssertGrep "Type: Registration Manager Agents" "$TmpDir/pki-user-show-kra-001_27.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_28:--type Subsytem Group "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u18 > $TmpDir/pki-user-show-kra-001_28.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u18\"" "$TmpDir/pki-user-show-kra-001_28.out"
+ rlAssertGrep "User ID: u18" "$TmpDir/pki-user-show-kra-001_28.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_28.out"
+ rlAssertGrep "Type: Subsytem Group" "$TmpDir/pki-user-show-kra-001_28.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_29:--type Security Domain Administrators "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u19 > $TmpDir/pki-user-show-kra-001_29.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u19\"" "$TmpDir/pki-user-show-kra-001_29.out"
+ rlAssertGrep "User ID: u19" "$TmpDir/pki-user-show-kra-001_29.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_29.out"
+ rlAssertGrep "Type: Security Domain Administrators" "$TmpDir/pki-user-show-kra-001_29.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_30:--type ClonedSubsystems "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u20 > $TmpDir/pki-user-show-kra-001_30.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u20\"" "$TmpDir/pki-user-show-kra-001_30.out"
+ rlAssertGrep "User ID: u20" "$TmpDir/pki-user-show-kra-001_30.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_30.out"
+ rlAssertGrep "Type: ClonedSubsystems" "$TmpDir/pki-user-show-kra-001_30.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_31:--type Trusted Managers "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ user-show u21 > $TmpDir/pki-user-show-kra-001_31.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u21\"" "$TmpDir/pki-user-show-kra-001_31.out"
+ rlAssertGrep "User ID: u21" "$TmpDir/pki-user-show-kra-001_31.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-kra-001_31.out"
+ rlAssertGrep "Type: Trusted Managers" "$TmpDir/pki-user-show-kra-001_31.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_32: Add a user to KRA with -t option"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-show u22 > $TmpDir/pki-user-show-kra-001_32.out" \
+ 0 \
+ "Show pki KRA user"
+ rlAssertGrep "User \"u22\"" "$TmpDir/pki-user-show-kra-001_32.out"
+ rlAssertGrep "User ID: u22" "$TmpDir/pki-user-show-kra-001_32.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-kra-001_32.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_33: Add a user -- all options provided"
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-show u23 > $TmpDir/pki-user-show-kra-001_33.out" \
+ 0 \
+ "Show pki KRA user"
+
+ rlAssertGrep "User \"u23\"" "$TmpDir/pki-user-show-kra-001_33.out"
+ rlAssertGrep "User ID: u23" "$TmpDir/pki-user-show-kra-001_33.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-kra-001_33.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-show-kra-001_33.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-show-kra-001_33.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-show-kra-001_33.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-show-kra-001_33.out"
+ rlPhaseEnd
+ #Negative Cases
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_34: Missing required option user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-show > $TmpDir/pki-user-show-kra-001_34.out 2>&1" \
+ 1 \
+ "Cannot show user without user id"
+ rlAssertGrep "usage: user-show <User ID>" "$TmpDir/pki-user-show-kra-001_34.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-KRA-001_35: Checking if user id case sensitive "
+ rlRun "pki -d /tmp/requestdb \
+ -n KRA_adminV \
+ -c $nss_db_password \
+ -t kra \
+ user-show U23 > $TmpDir/pki-user-show-kra-001_35.out 2>&1" \
+ 1 \
+ "Cannot show user since the user id is case sensitive"
+ rlAssertGrep "UserNotFoundException: User U23 not found" "$TmpDir/pki-user-show-kra-001_35.out"
+ rlPhaseEnd
+
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/runtest.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/runtest.sh
new file mode 100755
index 000000000..9d2f88208
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/kra/runtest.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/kra
+# Description: PKI USER CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include data-driven test data file:
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include test case file
+. ./pki-user-cli-user-kra.sh
+. ./pki-user-cli-user-add-kra.sh
+. ./pki-user-cli-user-show-kra.sh
+. ./pki-user-cli-user-find-kra.sh
+. ./pki-user-cli-user-del-kra.sh
+
+
+##############################################################################
+PACKAGE="pki-tools"
+
+
+rlJournalStart
+ rlPhaseStartSetup "pki-user-cli-startup: Check for pki-tools package"
+ rpm -qa | grep $PACKAGE
+ if [ $? -eq 0 ] ; then
+ rlPass "$PACKAGE package is installed"
+ else
+ rlFail "$PACKAGE package NOT found!"
+ fi
+ rlPhaseEnd
+
+ # Execute pki user ca config tests
+ run_pki-user-cli-user-kra_tests
+ # Execute pki user-add-kra tests
+ run_pki-user-cli-user-add-kra_tests
+ # Execute pki user-show-kra tests
+ run_pki-user-cli-user-show-kra_tests
+ # Execute pki user-find-kra tests
+ run_pki-user-cli-user-find-kra_tests
+ #Execute pki user-del-kra tests
+ run_pki-user-cli-user-del-kra_tests
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/Makefile b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/Makefile
new file mode 100644
index 000000000..fbef4b54f
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/Makefile
@@ -0,0 +1,75 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/ocsp
+# Description: RHCS pki-user-add CLI tests
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/ocsp
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) pki-user-cli-user-ocsp.sh pki-user-cli-user-add-ocsp.sh pki-user-cli-user-show-ocsp.sh pki-user-cli-user-find-ocsp.sh pki-user-cli-user-del-ocsp.sh runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod 777 pki-user-cli-user-ocsp.sh
+ chmod 777 pki-user-cli-user-add-ocsp.sh
+ chmod 777 pki-user-cli-user-show-ocsp.sh
+ chmod 777 pki-user-cli-user-find-ocsp.sh
+ chmod 777 pki-user-cli-user-del-ocsp.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod 777 pki-user-cli-user-ocsp.sh
+ chmod 777 pki-user-cli-user-add-ocsp.sh
+ chmod 777 pki-user-cli-user-show-ocsp.sh
+ chmod 777 pki-user-cli-user-find-ocsp.sh
+ chmod 777 pki-user-cli-user-del-ocsp.sh
+
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: RHCS quickinstall" >> $(METADATA)
+ @echo "Type: Functional" >> $(METADATA)
+ @echo "TestTime: 60m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/PURPOSE b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/PURPOSE
new file mode 100644
index 000000000..f4f8eb49e
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+Description: pki user CLI tests
+Author: Asha Akkiangady <aakkiang@redhat.com>
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-add-ocsp.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-add-ocsp.sh
new file mode 100755
index 000000000..e795b121e
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-add-ocsp.sh
@@ -0,0 +1,1192 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+######################################################################################
+#pki-user-cli-user-ca.sh should be first executed prior to pki-user-cli-user-add-ca.sh
+#pki-user-cli-user-ocsp.sh
+######################################################################################
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="ocsp_agent2"
+user1fullname="Test ocsp_agent"
+
+########################################################################
+
+run_pki-user-cli-user-add-ocsp_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-ocsp-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ #====Ticket corresponding to pki_user_cli_user_add-configtest : https://fedorahosted.org/pki/ticket/519=====#
+ rlPhaseStartTest "pki_user_cli_user_add-configtest: pki user-add configuration test"
+ rlRun "pki user-add > $TmpDir/pki_user_add_cfg.out" \
+ 1 \
+ "https://fedorahosted.org/pki/ticket/519"
+ rlAssertGrep "usage: user-add <User ID> \[OPTIONS...\]" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--email <email> Email" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--fullName <fullName> Full name" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--password <password> Password" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--phone <phone> Phone" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--state <state> State" "$TmpDir/pki_user_add_cfg.out"
+ rlAssertGrep "\--type <type> Type" "$TmpDir/pki_user_add_cfg.out"
+ rlPhaseEnd
+ ##### Tests to add OCSP users using a user of admin group with a valid cert####
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001: Add a user to OCSP using OCSP_adminV"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1" \
+ 0 \
+ "Add user $user1 to OCSP_adminV"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user1 > $TmpDir/pki-user-add-ocsp-001.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-add-ocsp-001.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-ocsp-001.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ocsp-001.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_1:maximum length of user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abcdefghijklmnopqrstuvwxyx12345678 " \
+ 0 \
+ "Added user using OCSP_adminV with maximum user id length"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show abcdefghijklmnopqrstuvwxyx12345678 > $TmpDir/pki-user-add-ocsp-001_1.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"abcdefghijklmnopqrstuvwxyx12345678\"" "$TmpDir/pki-user-add-ocsp-001_1.out"
+ rlAssertGrep "User ID: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-ocsp-001_1.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_1.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del abcdefghijklmnopqrstuvwxyx12345678 " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_2:User id with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc# " \
+ 0 \
+ "Added user using OCSP_adminV, user id with # character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show abc# > $TmpDir/pki-user-add-ocsp-001_2.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"abc#\"" "$TmpDir/pki-user-add-ocsp-001_2.out"
+ rlAssertGrep "User ID: abc#" "$TmpDir/pki-user-add-ocsp-001_2.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_2.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del abc# " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_3:User id with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc$ " \
+ 0 \
+ "Added user using OCSP_adminV, user id with $ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show abc$ > $TmpDir/pki-user-add-ocsp-001_3.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"abc$\"" "$TmpDir/pki-user-add-ocsp-001_3.out"
+ rlAssertGrep "User ID: abc\\$" "$TmpDir/pki-user-add-ocsp-001_3.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_3.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del abc$ " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_4:User id with @ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc@ " \
+ 0 \
+ "Added user using OCSP_adminV, user id with @ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show abc@ > $TmpDir/pki-user-add-ocsp-001_4.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"abc@\"" "$TmpDir/pki-user-add-ocsp-001_4.out"
+ rlAssertGrep "User ID: abc@" "$TmpDir/pki-user-add-ocsp-001_4.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_4.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del abc@ " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_5:User id with ? character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test abc? " \
+ 0 \
+ "Added user using OCSP_adminV, user id with ? character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show abc? > $TmpDir/pki-user-add-ocsp-001_5.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"abc?\"" "$TmpDir/pki-user-add-ocsp-001_5.out"
+ rlAssertGrep "User ID: abc?" "$TmpDir/pki-user-add-ocsp-001_5.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_5.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del abc? " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_6:User id as 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test 0 " \
+ 0 \
+ "Added user using OCSP_adminV, user id 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show 0 > $TmpDir/pki-user-add-ocsp-001_6.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"0\"" "$TmpDir/pki-user-add-ocsp-001_6.out"
+ rlAssertGrep "User ID: 0" "$TmpDir/pki-user-add-ocsp-001_6.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_6.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del 0 " \
+ 0 \
+ "Delete user from OCSP"
+
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_7:--email with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678 a " \
+ 0 \
+ "Added user using OCSP_adminV with maximum --email length"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show a > $TmpDir/pki-user-add-ocsp-001_7.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"a\"" "$TmpDir/pki-user-add-ocsp-001_7.out"
+ rlAssertGrep "User ID: a" "$TmpDir/pki-user-add-ocsp-001_7.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_7.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-ocsp-001_7.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del a" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_8:--email with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=abcdefghijklmnopqrstuvwxyx12345678#?*@$ b " \
+ 0 \
+ "Added user using OCSP_adminV with maximum --email length and character symbols in it"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show b > $TmpDir/pki-user-add-ocsp-001_8.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"b\"" "$TmpDir/pki-user-add-ocsp-001_8.out"
+ rlAssertGrep "User ID: b" "$TmpDir/pki-user-add-ocsp-001_8.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_8.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-add-ocsp-001_8.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del b" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_9:--email with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=# d " \
+ 0 \
+ "Added user using OCSP_adminV with --email # character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show d > $TmpDir/pki-user-add-ocsp-001_9.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"d\"" "$TmpDir/pki-user-add-ocsp-001_9.out"
+ rlAssertGrep "User ID: d" "$TmpDir/pki-user-add-ocsp-001_9.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_9.out"
+ rlAssertGrep "Email: #" "$TmpDir/pki-user-add-ocsp-001_9.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del d " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_10:--email with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=* e " \
+ 0 \
+ "Added user using OCSP_adminV with --email * character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show e > $TmpDir/pki-user-add-ocsp-001_10.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"e\"" "$TmpDir/pki-user-add-ocsp-001_10.out"
+ rlAssertGrep "User ID: e" "$TmpDir/pki-user-add-ocsp-001_10.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_10.out"
+ rlAssertGrep "Email: *" "$TmpDir/pki-user-add-ocsp-001_10.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del e " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_11:--email with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=$ f " \
+ 0 \
+ "Added user using OCSP_adminV with --email $ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show f > $TmpDir/pki-user-add-ocsp-001_11.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"f\"" "$TmpDir/pki-user-add-ocsp-001_11.out"
+ rlAssertGrep "User ID: f" "$TmpDir/pki-user-add-ocsp-001_11.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_11.out"
+ rlAssertGrep "Email: \\$" "$TmpDir/pki-user-add-ocsp-001_11.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del f " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_12:--email as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --email=0 z " \
+ 0 \
+ "Added user using OCSP_adminV with --email 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show z > $TmpDir/pki-user-add-ocsp-001_12.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"z\"" "$TmpDir/pki-user-add-ocsp-001_12.out"
+ rlAssertGrep "User ID: z" "$TmpDir/pki-user-add-ocsp-001_12.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_12.out"
+ rlAssertGrep "Email: 0" "$TmpDir/pki-user-add-ocsp-001_12.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del z" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_13:--state with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678 h " \
+ 0 \
+ "Added user using OCSP_adminV with maximum --state length"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show h > $TmpDir/pki-user-add-ocsp-001_13.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"h\"" "$TmpDir/pki-user-add-ocsp-001_13.out"
+ rlAssertGrep "User ID: h" "$TmpDir/pki-user-add-ocsp-001_13.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_13.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-ocsp-001_13.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del h " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_14:--state with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=abcdefghijklmnopqrstuvwxyx12345678#?*@$ i " \
+ 0 \
+ "Added user using OCSP_adminV with maximum --state length and character symbols in it"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show i > $TmpDir/pki-user-add-ocsp-001_14.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"i\"" "$TmpDir/pki-user-add-ocsp-001_14.out"
+ rlAssertGrep "User ID: i" "$TmpDir/pki-user-add-ocsp-001_14.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_14.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-add-ocsp-001_14.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del i " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_15:--state with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=# j " \
+ 0 \
+ "Added user using OCSP_adminV with --state # character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show j > $TmpDir/pki-user-add-ocsp-001_15.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"j\"" "$TmpDir/pki-user-add-ocsp-001_15.out"
+ rlAssertGrep "User ID: j" "$TmpDir/pki-user-add-ocsp-001_15.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_15.out"
+ rlAssertGrep "State: #" "$TmpDir/pki-user-add-ocsp-001_15.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del j" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_16:--state with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=* k " \
+ 0 \
+ "Added user using OCSP_adminV with --state * character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show k > $TmpDir/pki-user-add-ocsp-001_16.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"k\"" "$TmpDir/pki-user-add-ocsp-001_16.out"
+ rlAssertGrep "User ID: k" "$TmpDir/pki-user-add-ocsp-001_16.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_16.out"
+ rlAssertGrep "State: *" "$TmpDir/pki-user-add-ocsp-001_16.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del k " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_17:--state with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=$ l " \
+ 0 \
+ "Added user using OCSP_adminV with --state $ character"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show l > $TmpDir/pki-user-add-ocsp-001_17.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"l\"" "$TmpDir/pki-user-add-ocsp-001_17.out"
+ rlAssertGrep "User ID: l" "$TmpDir/pki-user-add-ocsp-001_17.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_17.out"
+ rlAssertGrep "State: \\$" "$TmpDir/pki-user-add-ocsp-001_17.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del l " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_18:--state as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --state=0 m " \
+ 0 \
+ "Added user using OCSP_adminV with --state 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show m > $TmpDir/pki-user-add-ocsp-001_18.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"m\"" "$TmpDir/pki-user-add-ocsp-001_18.out"
+ rlAssertGrep "User ID: m" "$TmpDir/pki-user-add-ocsp-001_18.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_18.out"
+ rlAssertGrep "State: 0" "$TmpDir/pki-user-add-ocsp-001_18.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del m" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_19:--phone with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=abcdefghijklmnopqrstuvwxyx12345678 n " \
+ 0 \
+ "Added user using OCSP_adminV with maximum --phone length"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show n > $TmpDir/pki-user-add-ocsp-001_19.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"n\"" "$TmpDir/pki-user-add-ocsp-001_19.out"
+ rlAssertGrep "User ID: n" "$TmpDir/pki-user-add-ocsp-001_19.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_19.out"
+ rlAssertGrep "Phone: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-add-ocsp-001_19.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del n " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_20:--phone with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=abcdefghijklmnopqrstuvwxyx12345678#?*@$ o > $TmpDir/pki-user-add-ocsp-001_20.out 2>&1"\
+ 1 \
+ "Cannot add user using OCSP_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ocsp-001_20.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_21:--phone with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=# p > $TmpDir/pki-user-add-ocsp-001_21.out 2>&1" \
+ 1 \
+ "Cannot add user using OCSP_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ocsp-001_21.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_22:--phone with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=* q > $TmpDir/pki-user-add-ocsp-001_22.out 2>&1" \
+ 1 \
+ "Cannot add user using OCSP_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ocsp-001_22.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_23:--phone with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=$ r > $TmpDir/pki-user-add-ocsp-001_23.out 2>&1" \
+ 1 \
+ "Cannot add user using OCSP_adminV with maximum --phone with character symbols in it"
+ rlAssertGrep "PKIException: LDAP error (21): error result" "$TmpDir/pki-user-add-ocsp-001_23.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_24:--phone as negative number -1230 "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --phone=-1230 s " \
+ 0 \
+ "Added user using OCSP_adminV with --phone -1230"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show s > $TmpDir/pki-user-add-ocsp-001_24.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"s\"" "$TmpDir/pki-user-add-ocsp-001_24.out"
+ rlAssertGrep "User ID: s" "$TmpDir/pki-user-add-ocsp-001_24.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_24.out"
+ rlAssertGrep "Phone: -1230" "$TmpDir/pki-user-add-ocsp-001_24.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del s " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_25:--type as Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=Auditors t " \
+ 0 \
+ "Added user using OCSP_adminV with --type Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show t > $TmpDir/pki-user-add-ocsp-001_25.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"t\"" "$TmpDir/pki-user-add-ocsp-001_25.out"
+ rlAssertGrep "User ID: t" "$TmpDir/pki-user-add-ocsp-001_25.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_25.out"
+ rlAssertGrep "Type: Auditors" "$TmpDir/pki-user-add-ocsp-001_25.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del t " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_26:--type Data Recovery Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Certificate Manager Agents\" t" \
+ 0 \
+ "Added user using OCSP_adminV --type Certificate Manager Agents"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show t > $TmpDir/pki-user-add-ocsp-001_26.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"t\"" "$TmpDir/pki-user-add-ocsp-001_26.out"
+ rlAssertGrep "User ID: t" "$TmpDir/pki-user-add-ocsp-001_26.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_26.out"
+ rlAssertGrep "Type: Certificate Manager Agents" "$TmpDir/pki-user-add-ocsp-001_26.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del t " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_27:--type Registration Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Registration Manager Agents\" u " \
+ 0 \
+ "Added user using OCSP_adminV with --type Registration Manager Agents"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u > $TmpDir/pki-user-add-ocsp-001_27.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u\"" "$TmpDir/pki-user-add-ocsp-001_27.out"
+ rlAssertGrep "User ID: u" "$TmpDir/pki-user-add-ocsp-001_27.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_27.out"
+ rlAssertGrep "Type: Registration Manager Agents" "$TmpDir/pki-user-add-ocsp-001_27.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del u" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_28:--type Subsytem Group "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Subsytem Group\" v " \
+ 0 \
+ "Added user using OCSP_adminV with --type Subsytem Group"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show v > $TmpDir/pki-user-add-ocsp-001_28.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"v\"" "$TmpDir/pki-user-add-ocsp-001_28.out"
+ rlAssertGrep "User ID: v" "$TmpDir/pki-user-add-ocsp-001_28.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_28.out"
+ rlAssertGrep "Type: Subsytem Group" "$TmpDir/pki-user-add-ocsp-001_28.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del v" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_29:--type Security Domain Administrators "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Security Domain Administrators\" w " \
+ 0 \
+ "Added user using OCSP_adminV with --type Security Domain Administrators"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show w > $TmpDir/pki-user-add-ocsp-001_29.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"w\"" "$TmpDir/pki-user-add-ocsp-001_29.out"
+ rlAssertGrep "User ID: w" "$TmpDir/pki-user-add-ocsp-001_29.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_29.out"
+ rlAssertGrep "Type: Security Domain Administrators" "$TmpDir/pki-user-add-ocsp-001_29.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del w" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_30:--type ClonedSubsystems "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=ClonedSubsystems x " \
+ 0 \
+ "Added user using OCSP_adminV with --type ClonedSubsystems"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show x > $TmpDir/pki-user-add-ocsp-001_30.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"x\"" "$TmpDir/pki-user-add-ocsp-001_30.out"
+ rlAssertGrep "User ID: x" "$TmpDir/pki-user-add-ocsp-001_30.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_30.out"
+ rlAssertGrep "Type: ClonedSubsystems" "$TmpDir/pki-user-add-ocsp-001_30.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del x " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-001_31:--type Trusted Managers "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=test --type=\"Trusted Managers\" y " \
+ 0 \
+ "Added user using OCSP_adminV with --type Trusted Managers"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show y > $TmpDir/pki-user-add-ocsp-001_31.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"y\"" "$TmpDir/pki-user-add-ocsp-001_31.out"
+ rlAssertGrep "User ID: y" "$TmpDir/pki-user-add-ocsp-001_31.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-add-ocsp-001_31.out"
+ rlAssertGrep "Type: Trusted Managers" "$TmpDir/pki-user-add-ocsp-001_31.out"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del y " \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-002: Add a duplicate user to CA"
+ command="pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"New user\" $user1 > $TmpDir/pki-user-add-ocsp-002.out 2>&1 "
+
+ rlLog "Command=$command"
+ expmsg="ConflictingOperationException: Entry already exists."
+ rlRun "$command" 1 "Add duplicate user"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-ocsp-002.out"
+ rlLog "Clean-up:"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del $user1" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-003: Add a user to OCSP with -t option"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$user1fullname\" $user1"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-003.out" \
+ 0 \
+ "Add user $user1 to CA"
+ rlAssertGrep "Added user \"$user1\"" "$TmpDir/pki-user-add-ocsp-003.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-ocsp-003.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ocsp-003.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-show $user1 > $TmpDir/pki-user-add-ocsp-003_1.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-add-ocsp-003_1.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-ocsp-003_1.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ocsp-003_1.out"
+ rlLog "Clean-up:"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-del $user1" \
+ 0 \
+ "Delete user from OCSP"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-004: Add a user -- missing required option user id"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$user1fullname\" "
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$user1fullname\" > $TmpDir/pki-user-add-ocsp-004.out" \
+ 1\
+ "Add user -- missing required option user id"
+ rlAssertGrep "usage: user-add <User ID> \[OPTIONS...\]" "$TmpDir/pki-user-add-ocsp-004.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-005: Add a user -- missing required option --fullName"
+ command="pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add $user1 > $TmpDir/pki-user-add-ocsp-005.out 2>&1"
+ expmsg="Error: Missing required option: fullName"
+ rlLog "Executing: $command"
+ rlRun "$command" 1 "Add a user -- missing required option --fullName"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-ocsp-005.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-006: Add a user -- all options provided"
+ email="ocsp_agent2@myemail.com"
+ user_password="agent2Password"
+ phone="1234567890"
+ state="NC"
+ type="Administrators"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$user1fullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ --type $type \
+ $user1"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$user1fullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ --type $type \
+ $user1 > $TmpDir/pki-user-add-ocsp-006_1.out" \
+ 0 \
+ "Add user $user1 to OCSP -- all options provided"
+ rlAssertGrep "Added user \"$user1\"" "$TmpDir/pki-user-add-ocsp-006_1.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-ocsp-006_1.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ocsp-006_1.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-add-ocsp-006_1.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-add-ocsp-006_1.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-add-ocsp-006_1.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-add-ocsp-006_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-show $user1 > $TmpDir/pki-user-add-ocsp-006.out" \
+ 0 \
+ "Show pki OCSP user"
+
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-add-ocsp-006.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-add-ocsp-006.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-add-ocsp-006.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-add-ocsp-006.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-add-ocsp-006.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-add-ocsp-006.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-add-ocsp-006.out"
+ rlLog "Clean-up:"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-del $user1" \
+ 0 \
+ "Delete user from OCSP"
+
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-007: Add user to multiple groups"
+ user=multigroup_user
+ userfullname="Multiple Group User"
+ email="multiplegroup@myemail.com"
+ user_password="admin2Password"
+ phone="1234567890"
+ state="NC"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$userfullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ $user"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$userfullname\" \
+ --email $email \
+ --password $user_password \
+ --phone $phone \
+ --state $state \
+ $user" \
+ 0 \
+ "Add user $user using OCSP_adminV"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ group-add-member Administrators $user > $TmpDir/pki-user-add-ocsp-007_1.out" \
+ 0 \
+ "Add user $user to Administrators group"
+
+ rlAssertGrep "Added group member \"$user\"" "$TmpDir/pki-user-add-ocsp-007_1.out"
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-ocsp-007_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ group-find-member Administrators > $TmpDir/pki-user-add-ocsp-007.out" \
+ 0 \
+ "Show pki group-find-member Administrators"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ group-add-member \"Certificate Manager Agents\" $user > $TmpDir/pki-user-add-ocsp-007_1_1.out" \
+ 0 \
+ "Add user $user to Administrators group"
+
+ rlAssertGrep "Added group member \"$user\"" "$TmpDir/pki-user-add-ocsp-007_1_1.out"
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-ocsp-007_1_1.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ group-find-member \"Certificate Manager Agents\" > $TmpDir/pki-user-add-ocsp-007_2.out" \
+ 0 \
+ "Show pki group-find-member Administrators"
+
+ rlAssertGrep "User: $user" "$TmpDir/pki-user-add-ocsp-007_2.out"
+
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-del $user" \
+ 0 \
+ "Delete user $user "
+
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-008: Add user with --password "
+ userpw="pass"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" --password=$userpw $user1 > $TmpDir/pki-user-add-ocsp-008.out 2>&1"
+ expmsg="PKIException: The password must be at least 8 characters"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$user1fullname\" --password=$userpw $user1 > $TmpDir/pki-user-add-ocsp-008.out 2>&1" \
+ 1 \
+ "Add a user --must be at least 8 characters --password"
+ rlAssertGrep "$expmsg" "$TmpDir/pki-user-add-ocsp-008.out"
+
+ rlPhaseEnd
+
+ ##### Tests to add users using revoked cert#####
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-009: Cannot add user using a revoked cert OCSP_adminR"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-revoke-adminR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a user having revoked cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ocsp-revoke-adminR-002.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-009_1: Cannot add user using a agent or a revoked cert OCSP_agentR"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-revoke-agentR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a user having revoked cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ocsp-revoke-agentR-002.out"
+ rlPhaseEnd
+
+
+ ##### Tests to add users using an agent user#####
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0010: Cannot add user using a OCSP_agentV user"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_agentV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_agentV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-agentV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-ocsp-agentV-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0011: Cannot add user using a OCSP_agentR user"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_agentR \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-agentR-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ocsp-agentR-002.out"
+ rlPhaseEnd
+ ##### Tests to add users using expired cert#####
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0012: Cannot add user using a OCSP_adminE cert"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_adminE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-adminE-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "RuntimeException: java.io.IOException: SocketException cannot read on socket" "$TmpDir/pki-user-add-ocsp-adminE-002.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0013: Cannot add user using a OCSP_agentE cert"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_agentE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_agentE \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-agentE-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a agent cert"
+ rlAssertGrep "RuntimeException: java.io.IOException: SocketException cannot read on socket" "$TmpDir/pki-user-add-ocsp-agentE-002.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ rlPhaseEnd
+
+ ##### Tests to add users using audit users#####
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0012: Cannot add user using a OCSP_auditV"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_auditV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_auditV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-auditV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a audit cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-ocsp-auditV-002.out"
+ rlPhaseEnd
+
+ ##### Tests to add users using operator user###
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0013: Cannot add user using a OCSP_operatorV"
+
+ rlLog "Executing: pki -d /tmp/requestdb \
+ -n OCSP_operatorV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_operatorV \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-operatorV-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a operator cert"
+ rlAssertGrep "ForbiddenException: Authorization failed on resource: certServer.ca.users, operation: execute" "$TmpDir/pki-user-add-ocsp-operatorV-002.out"
+ rlPhaseEnd
+
+
+ ##### Tests to add users using OCSP_adminUTOCSP and OCSP_agentUTOCSP user's certificate will be issued by an untrusted OCSP users#####
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0014: Cannot add user using a OCSP_adminUTOCSP"
+
+ rlLog "Executing: pki -d /tmp/dummydb \
+ -n OCSP_adminUTOCSP \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/dummydb \
+ -n OCSP_adminUTOCSP \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-adminUTOCSP-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a untrusted cert"
+ rlAssertGrep "ClientResponseFailure: Error status 401 Unauthorized returned" "$TmpDir/pki-user-add-ocsp-adminUTOCSP-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_add-OCSP-0014: Cannot add user using a OCSP_agentUTOCSP"
+
+ rlLog "Executing: pki -d /tmp/dummydb \
+ -n OCSP_agentUTOCSP \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1"
+ rlRun "pki -d /tmp/dummydb \
+ -n OCSP_agentUTOCSP \
+ -c $nss_db_password \
+ user-add --fullName=\"$user1fullname\" $user1 > $TmpDir/pki-user-add-ocsp-agentUTOCSP-002.out 2>&1" \
+ 1 \
+ "Cannot add user $user1 using a untrusted cert"
+ rlAssertGrep "RuntimeException: java.net.SocketException: Object not found: org.mozilla.jss.crypto.ObjectNotFoundException" "$TmpDir/pki-user-add-ocsp-agentUTOCSP-002.out"
+ rlPhaseEnd
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-del-ocsp.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-del-ocsp.sh
new file mode 100755
index 000000000..d4515a749
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-del-ocsp.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+run_pki-user-cli-user-del-ocsp_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-ocsp-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_user_cli_user_add-cleanup: Delete temp dir"
+ del_user=($OCSP_adminV_user $OCSP_adminR_user $OCSP_adminE_user $OCSP_adminUTOCSP_user $OCSP_agentV_user $OCSP_agentR_user $OCSP_agentE_user $OCSP_agentUTOCSP_user $OCSP_auditV_user $OCSP_operatorV_user)
+
+ #===Deleting users created using OCSP_adminV cert===#
+ i=1
+ while [ $i -lt 25 ] ; do
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del u$i > $TmpDir/pki-user-del-ocsp-user-00$i.out" \
+ 0 \
+ "Deleted user u$i"
+ rlAssertGrep "Deleted user \"u$i\"" "$TmpDir/pki-user-del-ocsp-user-00$i.out"
+ let i=$i+1
+ done
+ #===Deleting users(symbols) created using OCSP_adminV cert===#
+ j=1
+ while [ $j -lt 8 ] ; do
+ eval usr=\$user$j
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-del $usr > $TmpDir/pki-user-del-ocsp-user-symbol-00$j.out" \
+ 0 \
+ "Deleted user $usr"
+ rlAssertGrep "Deleted user \"$usr\"" "$TmpDir/pki-user-del-ocsp-user-symbol-00$j.out"
+ let j=$j+1
+ done
+ i=0
+ while [ $i -lt ${#del_user[@]} ] ; do
+ userid_del=${del_user[$i]}
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del $userid_del > $TmpDir/pki-user-del-ocsp-00$i.out" \
+ 0 \
+ "Deleted user $userid_del"
+ rlAssertGrep "Deleted user \"$userid_del\"" "$TmpDir/pki-user-del-ocsp-00$i.out"
+ let i=$i+1
+ done
+
+
+# rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+# rlRun "popd"
+ # rlRun "rm -rf /tmp/requestdb"
+ # rlRun "rm -rf /tmp/dummydb"
+
+
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-find-ocsp.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-find-ocsp.sh
new file mode 100755
index 000000000..5de2e53f8
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-find-ocsp.sh
@@ -0,0 +1,220 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+user1="ocsp_agent2"
+user1fullname="Test ocsp_agent"
+
+
+########################################################################
+
+run_pki-user-cli-user-find-ocsp_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_find-startup: Create temp directory and import OCSP agent cert into a nss certificate db and trust OCSP root cert"
+ admin_cert_nickname="PKI Administrator for $OCSP_DOMAIN"
+ nss_db_password="Password"
+ rlLog "Admin Certificate is located at: $OCSP_ADMIN_CERT_LOOCSPTION"
+ rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
+ rlRun "pushd $TmpDir"
+ rlLog "Temp Directory = $TmpDir"
+ rlRun "mkdir $TmpDir/nssdb"
+ rlLog "importP12File $OCSP_ADMIN_CERT_LOOCSPTION $OCSP_CLIENT_PKCS12_PASSWORD $TmpDir/nssdb $nss_db_password $admin_cert_nickname"
+ rlRun "importP12File $OCSP_ADMIN_CERT_LOOCSPTION $OCSP_CLIENT_PKCS12_PASSWORD $TmpDir/nssdb $nss_db_password $admin_cert_nickname" 0 "Import Admin certificate to $TmpDir/nssdb"
+ rlRun "install_and_trust_OCSP_cert $OCSP_SERVER_ROOT $TmpDir/nssdb"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-OCSP-add: Add users to OCSP"
+ i=1
+ while [ $i -le 5 ] ; do
+ rlLog "Adding user user1$i"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-add --fullName=\"fullname1$i\" user1$i > $TmpDir/pki-user-find-ocsp-a00$i.out 2>&1" \
+ 0 \
+ "Add user user1$i to OCSP"
+ rlAssertGrep "Added user \"user1$i\"" "$TmpDir/pki-user-find-ocsp-a00$i.out"
+ rlAssertGrep "User ID: user1$i" "$TmpDir/pki-user-find-ocsp-a00$i.out"
+ rlAssertGrep "Full name: fullname1$i" "$TmpDir/pki-user-find-ocsp-a00$i.out"
+ let i=$i+1
+ done
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-001: Find 5 users, --size=5"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=5 > $TmpDir/pki-user-find-ocsp-001.out 2>&1" \
+ 0 \
+ "Found 5 users"
+ rlAssertGrep "Number of entries returned 5" "$TmpDir/pki-user-find-ocsp-001.out"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-002: Find non user, --size=0"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=0 > $TmpDir/pki-user-find-ocsp-002.out 2>&1" \
+ 0 \
+ "Found no users"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-ocsp-002.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-003: Find all users, maximum possible value as input"
+ maximum_check=1000000
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$maximum_check > $TmpDir/pki-user-find-ocsp-003.out 2>&1" \
+ 0 \
+ "All users"
+ rlAssertGrep "Number of entries returned " "$TmpDir/pki-user-find-ocsp-003.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-004: Find users, check for negative input --size=-1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=-1 > $TmpDir/pki-user-find-ocsp-004.out 2>&1" \
+ 0 \
+ "No users returned as the size entered is negative value"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-ocsp-004.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-005: Find users for size input as noninteger, --size=abc"
+ size_noninteger="abc"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$size_noninteger > $TmpDir/pki-user-find-ocsp-005.out 2>&1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size=$size_noninteger > $TmpDir/pki-user-find-ocsp-005.out 2>&1" \
+ 1 \
+ "Found 5 users"
+ rlAssertGrep "NumberFormatException: For input string: \"$size_noninteger\"" "$TmpDir/pki-user-find-ocsp-005.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-006: Find users, check for no input --size= "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --size= > $TmpDir/pki-user-find-ocsp-006.out 2>&1" \
+ 1 \
+ "No users returned, as --size= "
+ rlAssertGrep "NumberFormatException: For input string: \"""\"" "$TmpDir/pki-user-find-ocsp-006.out"
+ rlPhaseEnd
+
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-007: Find users, --start=10 "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=10 > $TmpDir/pki-user-find-ocsp-007.out 2>&1" \
+ 0 \
+ "Displays users from the 10th user and the next to the maximum 20 users, if available "
+ rlAssertGrep "Number of entries returned " "$TmpDir/pki-user-find-ocsp-007.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-008: Find users, --start=10000, maximum possible input "
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=10000 > $TmpDir/pki-user-find-ocsp-008.out 2>&1" \
+ 0 \
+ "No users"
+ rlAssertGrep "Number of entries returned 0" "$TmpDir/pki-user-find-ocsp-008.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-009: Find users, --start=0"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=0 > $TmpDir/pki-user-find-ocsp-009.out 2>&1" \
+ 0 \
+ "Displays from the zeroth user, maximum possible are 20 users in a page"
+ rlAssertGrep "Number of entries returned" "$TmpDir/pki-user-find-ocsp-009.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-0010: Find users, --start=-1"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=-1 > $TmpDir/pki-user-find-ocsp-0010.out 2>&1" \
+ 0 \
+ "Maximum possible 20 users are returned, starting from the zeroth user"
+ rlAssertGrep "Number of entries returned" "$TmpDir/pki-user-find-ocsp-0010.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_find-ocsp-0011: Find users for size input as noninteger, --start=abc"
+ size_noninteger="abc"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-find --start=$size_noninteger > $TmpDir/pki-user-find-ocsp-0011.out 2>&1" \
+ 1 \
+ "Incorrect input to find user"
+ rlAssertGrep "NumberFormatException: For input string: \"$size_noninteger\"" "$TmpDir/pki-user-find-ocsp-0011.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "Cleanup: Delete the OCSP users"
+ i=1
+ while [ $i -le 5 ] ; do
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ user-del user1$i" \
+ 0 \
+ "Delete user user1$i"
+ let i=$i+1
+ done
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_user_cli_user_find-cleanup: Delete temp dir"
+# rlRun "popd"
+# rlRun "rm -r $TmpDir" 0 "Removing temp directory"
+ rlPhaseEnd
+
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-ocsp.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-ocsp.sh
new file mode 100755
index 000000000..2f6952ac8
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-ocsp.sh
@@ -0,0 +1,336 @@
+#!/bin/bash
+#!/usr/bin/expect -f
+
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+########################################################################
+# Test Suite Globals
+########################################################################
+OCSP_adminV_user=OCSP_adminV
+OCSP_adminV_fullName=OCSP_Admin_ValidCert
+OCSP_adminR_user=OCSP_adminR
+OCSP_adminR_fullName=OCSP_Admin_RevokedCert
+OCSP_adminE_user=OCSP_adminE
+OCSP_adminE_fullName=OCSP_admin_ExpiredCert
+OCSP_adminUTOCSP_user=OCSP_adminUTCA
+OCSP_adminUTOCSP_fullName=OCSP_Admin_CertIssuedByUntrustedCA
+
+OCSP_agentV_user=OCSP_agentV
+OCSP_agentV_fullName=OCSP_Agent_ValidCert
+OCSP_agentR_user=OCSP_agentR
+OCSP_agentR_fullName=OCSP_Agent_RevokedCert
+OCSP_agentE_user=OCSP_agentE
+OCSP_agentE_fullName=OCSP_agent_ExpiredCert
+OCSP_agentUTOCSP_user=OCSP_agentUTCA
+OCSP_agentUTOCSP_fullName=OCSP_Agent_CertIssuedByUntrustedCA
+
+OCSP_auditV_user=OCSP_auditV
+OCSP_auditV_fullName=OCSP_Audit_ValidCert
+OCSP_operatorV_user=OCSP_operatorV
+OCSP_operatorV_fullName=OCSP_Operator_ValidCert
+
+export OCSP_adminV_user OCSP_adminR_user OCSP_adminE_user OCSP_adminUTOCSP_user OCSP_agentV_user OCSP_agentR_user OCSP_agentE_user OCSP_agentUTOCSP_user OCSP_auditV_user OCSP_operatorV_user
+######################################################################
+
+run_pki-user-cli-user-ocsp_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_add-ocsp-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ rlPhaseStartSetup "pki_user_cli_user_ocsp-startup: Importing ocsp agent cert into certificate db and trust OCSP root cert"
+ rlRun "install_and_trust_OCSP_cert $OCSP_SERVER_ROOT $TmpDir/nssdb"
+ rlRun "install_and_trust_OCSP_cert $OCSP_SERVER_ROOT /tmp/requestdb"
+ rlPhaseEnd
+ rlPhaseStartSetup "Creating user, create user and add it to the user, add user to the group"
+ user=($OCSP_adminV_user $OCSP_adminV_fullName $OCSP_adminR_user $OCSP_adminR_fullName $OCSP_adminE_user $OCSP_adminE_fullName $OCSP_adminUTOCSP_user $OCSP_adminUTOCSP_fullName $OCSP_agentV_user $OCSP_agentV_fullName $OCSP_agentR_user $OCSP_agentR_fullName $OCSP_agentE_user $OCSP_agentE_fullName $OCSP_agentUTOCSP_user $OCSP_agentUTOCSP_fullName $OCSP_auditV_user $OCSP_auditV_fullName $OCSP_operatorV_user $OCSP_operatorV_fullName)
+ i=0
+ while [ $i -lt ${#user[@]} ] ; do
+ userid=${user[$i]}
+ userfullName=${user[$i+1]}
+
+ #Create $userid user
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$userfullName\" $userid"
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add --fullName=\"$userfullName\" $userid" \
+ 0 \
+ "Add user $userid to OCSP"
+
+ #=====Adding user to respective group. Administrator, Date Recovery Manager Agent, Auditor=====#
+ if [ $userid == $OCSP_adminV_user -o $userid == $OCSP_adminR_user -o $userid == $OCSP_adminE_user -o $userid == $OCSP_adminUTOCSP_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ group-add-member Administrators $userid > $TmpDir/pki-user-add-ocsp-group001$i.out" \
+ 0 \
+ "Add user $userid to Administrators group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+ elif [ $userid == $OCSP_agentV_user -o $userid == $OCSP_agentR_user -o $userid == $OCSP_agentE_user -o $userid == $OCSP_agentUTOCSP_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ group-add-member \"Data Recovery Manager Agents\" $userid > $TmpDir/pki-user-add-ocsp-group001$i.out" \
+ 0 \
+ "Add user $userid to Data Recovery Manager Agents group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+
+ elif [ $userid == $OCSP_auditV_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ group-add-member Auditors $userid > $TmpDir/pki-user-add-ocsp-group001$i.out" \
+ 0 \
+ "Add user $userid to Auditors group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+
+ elif [ $userid == $OCSP_operatorV_user ]; then
+ rlRun "pki -d $TmpDir/nssdb \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ group-add-member \"Trusted Managers\" $userid > $TmpDir/pki-user-add-ocsp-group001$i.out" \
+ 0 \
+ "Add user $userid to Trusted Managers group"
+ rlAssertGrep "Added group member \"$userid\"" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+ rlAssertGrep "User: $userid" "$TmpDir/pki-user-add-ocsp-group001$i.out"
+ fi
+ #================#
+
+ if [ $userid == $OCSP_adminV_user -o $userid == $OCSP_adminR_user -o $userid == $OCSP_adminE_user -o $userid == $OCSP_agentV_user -o $userid == $OCSP_agentR_user -o $userid == $OCSP_agentE_user -o $userid == $OCSP_auditV_user -o $userid == $OCSP_operatorV_user ]; then
+
+ #Create a cert and add it to the $userid user
+ rlLog "Admin Certificate is located at: $OCSP_ADMIN_CERT_LOCATION"
+ local sample_request_file1="/opt/rhqa_pki/cert_request_caUserCert1_1.in"
+ local sample_request_file2="/opt/rhqa_pki/cert_request_caUserCert1_2.in"
+ local temp_file="/tmp/requestdb/certrequest_ocsp_001$i.in"
+ #rlRun "create_certdb \"/tmp/requestdb\" Password" 0 "Create a certificate db"
+ rlRun "generate_PKCS10 \"/tmp/requestdb\" Password rsa 2048 \"/tmp/requestdb/request_ocsp_001$i.out\" \"CN=adminV\" " 0 "generate PKCS10 certificate"
+
+ rlLog "Create a certificate request XML file.."
+ local search_string1="<InputAttr name=\"cert_request_type\">crmf<\/InputAttr>"
+ local replace_string1="\<InputAttr name=\"cert_request_type\"\>pkcs10\<\/InputAttr\>"
+ rlRun "sed -e '/-----BEGIN NEW CERTIFICATE REQUEST-----/d' -i /tmp/requestdb/request_ocsp_001$i.out"
+ rlRun "sed -e '/-----END NEW CERTIFICATE REQUEST-----/d' -i /tmp/requestdb/request_ocsp_001$i.out"
+ #local cert_request=`cat /tmp/request_001$i.out`
+ rlRun "cat $sample_request_file1 /tmp/requestdb/request_ocsp_001$i.out $sample_request_file2 > $temp_file"
+ rlLog "Executing: sed -e 's/$search_string1/$replace_string1/' -i $temp_file"
+ rlRun "sed -e 's/$search_string1/$replace_string1/' -i $temp_file"
+ local search_string2="testuser"
+ local replace_string2=$userid
+ rlLog "Executing: sed -e 's/$search_string2/$replace_string2/g' -i $temp_file"
+ rlRun "sed -e 's/$search_string2/$replace_string2/g' -i $temp_file"
+ local search_string3="Test User"
+ local replace_string3=$userfullName
+ rlLog "Executing: sed -e 's/$search_string3/$replace_string3/g' -i $temp_file"
+ rlRun "sed -e 's/$search_string3/$replace_string3/g' -i $temp_file"
+
+ if [ $userid == $OCSP_adminV_user -o $userid == $OCSP_adminR_user -o $userid == $OCSP_agentV_user -o $userid == $OCSP_agentR_user -o $userid == $OCSP_auditV_user -o $userid == $OCSP_operatorV_user ]; then
+ #cert-request-submit=====
+ rlLog "Executing: pki cert-request-submit $temp_file"
+ rlRun "pki cert-request-submit $temp_file > /tmp/requestdb/certrequest_ocsp_$i.out" 0 "Executing pki cert-request-submit"
+ rlAssertGrep "Submitted certificate request" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ rlAssertGrep "Request ID:" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ local request_id=`cat /tmp/requestdb/certrequest_ocsp_$i.out | grep "Request ID:" | awk '{print $3}'`
+ rlLog "Request ID=$request_id"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestshow_ocsp_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ rlAssertGrep "Operation Result: success" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ #Agent Approve the certificate after reviewing the cert for the user
+ rlLog "Executing: pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ cert-request-review --action=approve $request_id"
+
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ cert-request-review --action=approve $request_id > /tmp/requestdb/certapprove_ocsp_001$i.out" \
+ 0 \
+ "OCSP agent approve the cert"
+ rlAssertGrep "Approved certificate request $request_id" "/tmp/requestdb/certapprove_ocsp_001$i.out"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ rlAssertGrep "Status: complete" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ rlAssertGrep "Certificate ID:" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ local certificate_serial_number=`cat /tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out | grep "Certificate ID:" | awk '{print $3}'`
+ rlLog "Cerificate Serial Number=$certificate_serial_number"
+
+ #Verify the certificate is valid
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_ocsp_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_ocsp_001$i.out"
+ rlAssertGrep "Status: VALID" "/tmp/requestdb/certificate_show_ocsp_001$i.out"
+
+ rlRun "sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' /tmp/requestdb/certificate_show_ocsp_001$i.out > /tmp/requestdb/validcert_ocsp_001$i.pem"
+ rlRun "certutil -d /tmp/requestdb -A -n $userid -i /tmp/requestdb/validcert_ocsp_001$i.pem -t "u,u,u""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add-cert $userid --input /tmp/requestdb/validcert_ocsp_001$i.pem > /tmp/requestdb/useraddcert_ocsp_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+
+ elif [ $userid == $OCSP_adminE_user -o $userid == $OCSP_agentE_user ]; then
+ #=======Expired cert waiting on response to --output ticket https://fedorahosted.org/pki/ticket/674 =======#
+ local profile_file="/var/lib/pki/pki-tomcat/ca/profiles/ca/caUserCert.cfg"
+ default_days="policyset.userCertSet.2.default.params.range=180"
+ change_days="policyset.userCertSet.2.default.params.range=1"
+ rlLog "Executing: sed -e 's/$default_days/$change_days/g' -i $profile_file"
+ rlRun "sed -e 's/$default_days/$change_days/g' -i $profile_file"
+ rlLog "Restart the subsytem"
+ rlRun "systemctl restart pki-tomcatd\@pki-tomcat.service"
+ #cert-request-submit=====
+ rlLog "Executing: pki cert-request-submit $temp_file"
+ rlRun "pki cert-request-submit $temp_file > /tmp/requestdb/certrequest_ocsp_$i.out" 0 "Executing pki cert-request-submit"
+ rlAssertGrep "Submitted certificate request" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ rlAssertGrep "Request ID:" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequest_ocsp_$i.out"
+ local request_id=`cat /tmp/requestdb/certrequest_ocsp_$i.out | grep "Request ID:" | awk '{print $3}'`
+ rlLog "Request ID=$request_id"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestshow_ocsp_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ rlAssertGrep "Status: pending" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ rlAssertGrep "Operation Result: success" "/tmp/requestdb/certrequestshow_ocsp_001$i.out"
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ cert-request-review --action=approve $request_id > /tmp/requestdb/certapprove_ocsp_001$i.out" \
+ 0 \
+ "KRA agent approve the cert"
+ rlLog "cat /tmp/requestdb/certapprove_ocsp_001$i.out"
+ rlAssertGrep "Approved certificate request $request_id" "/tmp/requestdb/certapprove_ocsp_001$i.out"
+ rlRun "pki cert-request-show $request_id > /tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out" 0 "Executing pki cert-request-show $request_id"
+ rlAssertGrep "Request ID: $request_id" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ rlAssertGrep "Type: enrollment" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ rlAssertGrep "Status: complete" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ rlAssertGrep "Certificate ID:" "/tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out"
+ local certificate_serial_number=`cat /tmp/requestdb/certrequestapprovedshow_ocsp_001$i.out | grep "Certificate ID:" | awk '{print $3}'`
+ rlLog "Cerificate Serial Number=$certificate_serial_number"
+ #Verify the certificate is expired
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_ocsp_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_ocsp_001$i.out"
+ rlAssertGrep "Status: VALID" "/tmp/requestdb/certificate_show_ocsp_001$i.out"
+ rlRun "sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' /tmp/requestdb/certificate_show_ocsp_001$i.out > /tmp/requestdb/validcert_ocsp_001$i.pem"
+ rlRun "certutil -d /tmp/requestdb -A -n $userid -i /tmp/requestdb/validcert_ocsp_001$i.pem -t "u,u,u""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add-cert $userid --input /tmp/requestdb/validcert_ocsp_001$i.pem > /tmp/requestdb/useraddcert_ocsp_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ rlLog "Modifying profile back to the defaults"
+ rlRun "sed -e 's/$change_days/$default_days/g' -i $profile_file"
+ rlLog "Restart the subsytem"
+ rlRun "systemctl restart pki-tomcatd\@pki-tomcat.service"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date --set='next day'" 0 "Set System date a day ahead"
+ rlRun "date"
+ rlRun "pki cert-show $certificate_serial_number --encoded > /tmp/requestdb/certificate_show_exp_ocsp_001$i.out" 0 "Executing pki cert-show $certificate_serial_number"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/certificate_show_exp_ocsp_001$i.out"
+ rlAssertGrep "Status: EXPIRED" "/tmp/requestdb/certificate_show_exp_ocsp_001$i.out"
+ rlRun "date --set='2 days ago'" 0 "Set System back to the present day"
+ fi
+ fi
+ #Add the certificate to /tmp/requestdb
+ #note: certificate b664 at /tmp/requestdb/certificate_show_ocsp_001$i.out
+ if [ $userid == $OCSP_adminUTOCSP_user ]; then
+ rlRun "certutil -d /tmp/dummydb -A -n $userid -i /opt/rhqa_pki/dummycert1.pem -t ",,""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add-cert $userid --input /opt/rhqa_pki/dummycert1.pem > /tmp/requestdb/useraddcert_ocsp_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ elif [ $userid == $OCSP_agentUTOCSP_user ]; then
+ rlRun "certutil -d /tmp/dummydb -A -n $userid -i /opt/rhqa_pki/dummycert1.pem -t ",,""
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ user-add-cert $userid --input /opt/rhqa_pki/dummycert1.pem > /tmp/requestdb/useraddcert_ocsp_001$i.out" \
+ 0 \
+ "Cert is added to the user $userid"
+ #Revoke certificate of user OCSP_adminR and OCSP_agentR
+ elif [ $userid == $OCSP_adminR_user -o $userid == $OCSP_agentR_user ] ;then
+ rlLog "$userid"
+ rlLog "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ cert-revoke $certificate_serial_number --force --reason = Unspecified > /tmp/requestdb/revokecert_ocsp_001$i.out"
+ rlRun "pki -d /tmp/requestdb/ \
+ -n \"$admin_cert_nickname\" \
+ -c $nss_db_password \
+ -t ocsp \
+ cert-revoke $certificate_serial_number --force --reason=Unspecified > /tmp/requestdb/revokecert_ocsp_001$i.out" \
+ 0 \
+ "Certificate of user $userid is revoked"
+ rlAssertGrep "Serial Number: $certificate_serial_number" "/tmp/requestdb/revokecert_ocsp_001$i.out"
+ rlAssertGrep "Subject: UID=$userid,E=$userid@example.com,CN=$userfullName,OU=Engineering,O=Example,C=US" "/tmp/requestdb/revokecert_ocsp_001$i.out"
+ rlAssertGrep "Status: REVOKED" "/tmp/requestdb/revokecert_ocsp_001$i.out"
+ fi
+ let i=$i+2
+ done
+ rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-show-ocsp.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-show-ocsp.sh
new file mode 100755
index 000000000..5d0bbd8a6
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/pki-user-cli-user-show-ocsp.sh
@@ -0,0 +1,446 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli
+# Description: PKI user-add CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following ipa cli commands needs to be tested:
+# pki-user-cli-user-add Add users to pki subsystems.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/pki-cert-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+######################################################################################
+#pki-user-cli-user-ocsp.sh should be first executed prior to pki-user-cli-user-add-ocsp.sh
+#pki-user-cli-user-add-ocsp.sh should be first executed prior to pki-user-cli-user-add-ocsp.sh
+######################################################################################
+
+########################################################################
+# Test Suite Globals
+########################################################################
+
+########################################################################
+
+run_pki-user-cli-user-show-ocsp_tests(){
+ rlPhaseStartSetup "pki_user_cli_user_show-ocsp-startup:Getting the temp directory and nss certificate db "
+ rlLog "nss_db directory = $TmpDir/nssdb"
+ rlLog "temp directory = /tmp/requestdb"
+ rlPhaseEnd
+ ##### Tests to show OCSP users ####
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001: Add a user to OCSP using OCSP_adminV"
+ rlLog "Executing: pki -d $TmpDir/nssdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user1"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user1 > $TmpDir/pki-user-show-ocsp-001.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user1\"" "$TmpDir/pki-user-show-ocsp-001.out"
+ rlAssertGrep "User ID: $user1" "$TmpDir/pki-user-show-ocsp-001.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-ocsp-001.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_1:maximum length of user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user2 > $TmpDir/pki-user-show-ocsp-001_1.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user2\"" "$TmpDir/pki-user-show-ocsp-001_1.out"
+ rlAssertGrep "User ID: $user2" "$TmpDir/pki-user-show-ocsp-001_1.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_1.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_2:User id with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user3 > $TmpDir/pki-user-show-ocsp-001_2.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user3\"" "$TmpDir/pki-user-show-ocsp-001_2.out"
+ rlAssertGrep "User ID: $user3" "$TmpDir/pki-user-show-ocsp-001_2.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_2.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_3:User id with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user4 > $TmpDir/pki-user-show-ocsp-001_3.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user4\"" "$TmpDir/pki-user-show-ocsp-001_3.out"
+ rlAssertGrep "User ID: abc\\$" "$TmpDir/pki-user-show-ocsp-001_3.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_3.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_4:User id with @ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user5 > $TmpDir/pki-user-show-ocsp-001_4.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user5\"" "$TmpDir/pki-user-show-ocsp-001_4.out"
+ rlAssertGrep "User ID: $user5" "$TmpDir/pki-user-show-ocsp-001_4.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_4.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_5:User id with ? character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user6 > $TmpDir/pki-user-show-ocsp-001_5.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user6\"" "$TmpDir/pki-user-show-ocsp-001_5.out"
+ rlAssertGrep "User ID: $user6" "$TmpDir/pki-user-show-ocsp-001_5.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_5.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_6:User id as 0"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show $user7 > $TmpDir/pki-user-show-ocsp-001_6.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"$user7\"" "$TmpDir/pki-user-show-ocsp-001_6.out"
+ rlAssertGrep "User ID: $user7" "$TmpDir/pki-user-show-ocsp-001_6.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_6.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_7:--email with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u1 > $TmpDir/pki-user-show-ocsp-001_7.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u1\"" "$TmpDir/pki-user-show-ocsp-001_7.out"
+ rlAssertGrep "User ID: u1" "$TmpDir/pki-user-show-ocsp-001_7.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_7.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-ocsp-001_7.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_8:--email with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u2 > $TmpDir/pki-user-show-ocsp-001_8.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u2\"" "$TmpDir/pki-user-show-ocsp-001_8.out"
+ rlAssertGrep "User ID: u2" "$TmpDir/pki-user-show-ocsp-001_8.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_8.out"
+ rlAssertGrep "Email: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-show-ocsp-001_8.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_9:--email with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u3 > $TmpDir/pki-user-show-ocsp-001_9.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u3\"" "$TmpDir/pki-user-show-ocsp-001_9.out"
+ rlAssertGrep "User ID: u3" "$TmpDir/pki-user-show-ocsp-001_9.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_9.out"
+ rlAssertGrep "Email: #" "$TmpDir/pki-user-show-ocsp-001_9.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_10:--email with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u4 > $TmpDir/pki-user-show-ocsp-001_10.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u4\"" "$TmpDir/pki-user-show-ocsp-001_10.out"
+ rlAssertGrep "User ID: u4" "$TmpDir/pki-user-show-ocsp-001_10.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_10.out"
+ rlAssertGrep "Email: *" "$TmpDir/pki-user-show-ocsp-001_10.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_11:--email with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u5 > $TmpDir/pki-user-show-ocsp-001_11.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u5\"" "$TmpDir/pki-user-show-ocsp-001_11.out"
+ rlAssertGrep "User ID: u5" "$TmpDir/pki-user-show-ocsp-001_11.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_11.out"
+ rlAssertGrep "Email: \\$" "$TmpDir/pki-user-show-ocsp-001_11.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_12:--email as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u6 > $TmpDir/pki-user-show-ocsp-001_12.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u6\"" "$TmpDir/pki-user-show-ocsp-001_12.out"
+ rlAssertGrep "User ID: u6" "$TmpDir/pki-user-show-ocsp-001_12.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_12.out"
+ rlAssertGrep "Email: 0" "$TmpDir/pki-user-show-ocsp-001_12.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_13:--state with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u7 > $TmpDir/pki-user-show-ocsp-001_13.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u7\"" "$TmpDir/pki-user-show-ocsp-001_13.out"
+ rlAssertGrep "User ID: u7" "$TmpDir/pki-user-show-ocsp-001_13.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_13.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-ocsp-001_13.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_14:--state with maximum length and symbols "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u8 > $TmpDir/pki-user-show-ocsp-001_14.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u8\"" "$TmpDir/pki-user-show-ocsp-001_14.out"
+ rlAssertGrep "User ID: u8" "$TmpDir/pki-user-show-ocsp-001_14.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_14.out"
+ rlAssertGrep "State: abcdefghijklmnopqrstuvwxyx12345678\\#\\?*$@" "$TmpDir/pki-user-show-ocsp-001_14.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_15:--state with # character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u9 > $TmpDir/pki-user-show-ocsp-001_15.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u9\"" "$TmpDir/pki-user-show-ocsp-001_15.out"
+ rlAssertGrep "User ID: u9" "$TmpDir/pki-user-show-ocsp-001_15.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_15.out"
+ rlAssertGrep "State: #" "$TmpDir/pki-user-show-ocsp-001_15.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_16:--state with * character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u10 > $TmpDir/pki-user-show-ocsp-001_16.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u10\"" "$TmpDir/pki-user-show-ocsp-001_16.out"
+ rlAssertGrep "User ID: u10" "$TmpDir/pki-user-show-ocsp-001_16.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_16.out"
+ rlAssertGrep "State: *" "$TmpDir/pki-user-show-ocsp-001_16.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_17:--state with $ character "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u11 > $TmpDir/pki-user-show-ocsp-001_17.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u11\"" "$TmpDir/pki-user-show-ocsp-001_17.out"
+ rlAssertGrep "User ID: u11" "$TmpDir/pki-user-show-ocsp-001_17.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_17.out"
+ rlAssertGrep "State: \\$" "$TmpDir/pki-user-show-ocsp-001_17.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_18:--state as number 0 "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u12 > $TmpDir/pki-user-show-ocsp-001_18.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u12\"" "$TmpDir/pki-user-show-ocsp-001_18.out"
+ rlAssertGrep "User ID: u12" "$TmpDir/pki-user-show-ocsp-001_18.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_18.out"
+ rlAssertGrep "State: 0" "$TmpDir/pki-user-show-ocsp-001_18.out"
+ rlPhaseEnd
+ #https://www.redhat.com/archives/pki-users/2010-February/msg00015.html
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_19:--phone with maximum length "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u13 > $TmpDir/pki-user-show-ocsp-001_19.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u13\"" "$TmpDir/pki-user-show-ocsp-001_19.out"
+ rlAssertGrep "User ID: u13" "$TmpDir/pki-user-show-ocsp-001_19.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_19.out"
+ rlAssertGrep "Phone: abcdefghijklmnopqrstuvwxyx12345678" "$TmpDir/pki-user-show-ocsp-001_19.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_24:--phone as negative number -1230 "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u14 > $TmpDir/pki-user-show-ocsp-001_24.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u14\"" "$TmpDir/pki-user-show-ocsp-001_24.out"
+ rlAssertGrep "User ID: u14" "$TmpDir/pki-user-show-ocsp-001_24.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_24.out"
+ rlAssertGrep "Phone: -1230" "$TmpDir/pki-user-show-ocsp-001_24.out"
+ rlPhaseEnd
+
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_25:--type as Auditors"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u15 > $TmpDir/pki-user-show-ocsp-001_25.out" \
+ 0 \
+ "Show pki OCSP_adminV user"
+ rlAssertGrep "User \"u15\"" "$TmpDir/pki-user-show-ocsp-001_25.out"
+ rlAssertGrep "User ID: u15" "$TmpDir/pki-user-show-ocsp-001_25.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_25.out"
+ rlAssertGrep "Type: Auditors" "$TmpDir/pki-user-show-ocsp-001_25.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_26:--type Certificate Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u16 > $TmpDir/pki-user-show-ocsp-001_26.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u16\"" "$TmpDir/pki-user-show-ocsp-001_26.out"
+ rlAssertGrep "User ID: u16" "$TmpDir/pki-user-show-ocsp-001_26.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_26.out"
+ rlAssertGrep "Type: Certificate Manager Agents" "$TmpDir/pki-user-show-ocsp-001_26.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_27:--type Registration Manager Agents "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u17 > $TmpDir/pki-user-show-ocsp-001_27.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u17\"" "$TmpDir/pki-user-show-ocsp-001_27.out"
+ rlAssertGrep "User ID: u17" "$TmpDir/pki-user-show-ocsp-001_27.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_27.out"
+ rlAssertGrep "Type: Registration Manager Agents" "$TmpDir/pki-user-show-ocsp-001_27.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_28:--type Subsytem Group "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u18 > $TmpDir/pki-user-show-ocsp-001_28.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u18\"" "$TmpDir/pki-user-show-ocsp-001_28.out"
+ rlAssertGrep "User ID: u18" "$TmpDir/pki-user-show-ocsp-001_28.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_28.out"
+ rlAssertGrep "Type: Subsytem Group" "$TmpDir/pki-user-show-ocsp-001_28.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_29:--type Security Domain Administrators "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u19 > $TmpDir/pki-user-show-ocsp-001_29.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u19\"" "$TmpDir/pki-user-show-ocsp-001_29.out"
+ rlAssertGrep "User ID: u19" "$TmpDir/pki-user-show-ocsp-001_29.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_29.out"
+ rlAssertGrep "Type: Security Domain Administrators" "$TmpDir/pki-user-show-ocsp-001_29.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_30:--type ClonedSubsystems "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u20 > $TmpDir/pki-user-show-ocsp-001_30.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u20\"" "$TmpDir/pki-user-show-ocsp-001_30.out"
+ rlAssertGrep "User ID: u20" "$TmpDir/pki-user-show-ocsp-001_30.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_30.out"
+ rlAssertGrep "Type: ClonedSubsystems" "$TmpDir/pki-user-show-ocsp-001_30.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_31:--type Trusted Managers "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ user-show u21 > $TmpDir/pki-user-show-ocsp-001_31.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u21\"" "$TmpDir/pki-user-show-ocsp-001_31.out"
+ rlAssertGrep "User ID: u21" "$TmpDir/pki-user-show-ocsp-001_31.out"
+ rlAssertGrep "Full name: test" "$TmpDir/pki-user-show-ocsp-001_31.out"
+ rlAssertGrep "Type: Trusted Managers" "$TmpDir/pki-user-show-ocsp-001_31.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_32: Add a user to OCSP with -t option"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-show u22 > $TmpDir/pki-user-show-ocsp-001_32.out" \
+ 0 \
+ "Show pki OCSP user"
+ rlAssertGrep "User \"u22\"" "$TmpDir/pki-user-show-ocsp-001_32.out"
+ rlAssertGrep "User ID: u22" "$TmpDir/pki-user-show-ocsp-001_32.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-ocsp-001_32.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_33: Add a user -- all options provided"
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-show u23 > $TmpDir/pki-user-show-ocsp-001_33.out" \
+ 0 \
+ "Show pki OCSP user"
+
+ rlAssertGrep "User \"u23\"" "$TmpDir/pki-user-show-ocsp-001_33.out"
+ rlAssertGrep "User ID: u23" "$TmpDir/pki-user-show-ocsp-001_33.out"
+ rlAssertGrep "Full name: $user1fullname" "$TmpDir/pki-user-show-ocsp-001_33.out"
+ rlAssertGrep "Email: $email" "$TmpDir/pki-user-show-ocsp-001_33.out"
+ rlAssertGrep "Phone: $phone" "$TmpDir/pki-user-show-ocsp-001_33.out"
+ rlAssertGrep "Type: $type" "$TmpDir/pki-user-show-ocsp-001_33.out"
+ rlAssertGrep "State: $state" "$TmpDir/pki-user-show-ocsp-001_33.out"
+ rlPhaseEnd
+ #Negative Cases
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_34: Missing required option user id "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-show > $TmpDir/pki-user-show-ocsp-001_34.out 2>&1" \
+ 1 \
+ "Cannot show user without user id"
+ rlAssertGrep "usage: user-show <User ID>" "$TmpDir/pki-user-show-ocsp-001_34.out"
+ rlPhaseEnd
+ rlPhaseStartTest "pki_user_cli_user_show-OCSP-001_35: Checking if user id case sensitive "
+ rlRun "pki -d /tmp/requestdb \
+ -n OCSP_adminV \
+ -c $nss_db_password \
+ -t ocsp \
+ user-show U23 > $TmpDir/pki-user-show-ocsp-001_35.out 2>&1" \
+ 1 \
+ "Cannot show user since the user id is case sensitive"
+ rlAssertGrep "UserNotFoundException: User U23 not found" "$TmpDir/pki-user-show-ocsp-001_35.out"
+ rlPhaseEnd
+
+
+
+}
diff --git a/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/runtest.sh b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/runtest.sh
new file mode 100755
index 000000000..e4a12f121
--- /dev/null
+++ b/tests/dogtag/acceptance/cli-tests/pki-user-cli/ocsp/runtest.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/cli-tests/pki-user-cli/ocsp
+# Description: PKI USER CLI tests
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include data-driven test data file:
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include test case file
+. ./pki-user-cli-user-ocsp.sh
+. ./pki-user-cli-user-add-ocsp.sh
+. ./pki-user-cli-user-show-ocsp.sh
+. ./pki-user-cli-user-find-ocsp.sh
+. ./pki-user-cli-user-del-ocsp.sh
+
+
+##############################################################################
+PACKAGE="pki-tools"
+
+
+rlJournalStart
+ rlPhaseStartSetup "pki-user-cli-startup: Check for pki-tools package"
+ rpm -qa | grep $PACKAGE
+ if [ $? -eq 0 ] ; then
+ rlPass "$PACKAGE package is installed"
+ else
+ rlFail "$PACKAGE package NOT found!"
+ fi
+ rlPhaseEnd
+
+ # Execute pki user ca config tests
+ run_pki-user-cli-user-ocsp_tests
+ # Execute pki user-add-ocsp tests
+ run_pki-user-cli-user-add-ocsp_tests
+ # Execute pki user-show-ocsp tests
+ run_pki-user-cli-user-show-ocsp_tests
+ # Execute pki user-find-ocsp tests
+ run_pki-user-cli-user-find-ocsp_tests
+ #Execute pki user-del-ocsp tests
+ run_pki-user-cli-user-del-ocsp_tests
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/acceptance/quickinstall/Makefile b/tests/dogtag/acceptance/quickinstall/Makefile
new file mode 100644
index 000000000..7494edc92
--- /dev/null
+++ b/tests/dogtag/acceptance/quickinstall/Makefile
@@ -0,0 +1,64 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/quickinstall
+# Description: RHCS Quick Install
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/CoreOS/rhcs/acceptance/quickinstall
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) runtest.sh Makefile PURPOSE rhcs-install.sh rhcs-install-lib.sh rhds-install.sh
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod a+x runtest.sh
+ chmod a+x rhcs-install.sh rhcs-install-lib.sh rhds-install.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: RHCS quickinstall" >> $(METADATA)
+ @echo "Type: Functional" >> $(METADATA)
+ @echo "TestTime: 60m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/acceptance/quickinstall/PURPOSE b/tests/dogtag/acceptance/quickinstall/PURPOSE
new file mode 100644
index 000000000..e2ab40386
--- /dev/null
+++ b/tests/dogtag/acceptance/quickinstall/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/acceptance/quickinstall
+Description: RHCS Quickinstall
+Author: Asha Akkiangady <aakkiang@redhat.com>
diff --git a/tests/dogtag/acceptance/quickinstall/rhcs-install-lib.sh b/tests/dogtag/acceptance/quickinstall/rhcs-install-lib.sh
new file mode 100644
index 000000000..ba751d617
--- /dev/null
+++ b/tests/dogtag/acceptance/quickinstall/rhcs-install-lib.sh
@@ -0,0 +1,388 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# rhcs_install.sh of /CoreOS/rhcs/acceptance/quickinstall
+# Description: CS quickinstall acceptance tests for new install
+# functions.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# Date : Feb 21, 2013
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# ROLE=MASTER, CLONE, SUBCA, EXTERNAL
+# SUBSYSTEMS=CA, KRA, OCSP, RA, TKS, TPS
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/rhcs-install-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include tests
+. ./acceptance/quickinstall/rhds-install.sh
+
+#Copy rhcs-install-lib.sh to /opt/rhqa_pki/
+ rm -f /opt/rhqa_pki/rhcs-install-lib.sh
+ cp -a ./acceptance/quickinstall/rhcs-install-lib.sh /opt/rhqa_pki/.
+
+###########################################################
+# CA INSTALL TESTS #
+###########################################################
+rhcs_install_ca() {
+ rlPhaseStartTest "rhcs_install_ca - Install RHCS CA Server"
+ local INSTANCECFG="/tmp/ca_instance.inf"
+ local INSTANCE_CREATE_OUT="/tmp/ca_instance_create.out"
+ local PKI_SECURITY_DOMAIN_USER=$CA_ADMIN_USER
+ rlLog "$FUNCNAME"
+ rhcs_install_prep_disableFirewall
+
+ #Install RHDS packages
+ rhcs_install_set_ldap_vars
+
+ #Install and configure RHDS instance
+ rlLog "Creating LDAP server Instance to configure CA"
+ rlRun "rhds_install $CA_LDAP_PORT $CA_LDAP_INSTANCE_NAME \"$LDAP_ROOTDN\" $LDAP_ROOTDNPWD $LDAP_BASEDN" 0 "Installing RHDS instance for CA install" 0 "Install LDAP Instance"
+
+ #Install CA
+ rlLog "Creating CA Instance"
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlLog "Setting up Dogtag CA instance ............."
+ echo "[DEFAULT]" > $INSTANCECFG
+ echo "pki_admin_password= $CA_ADMIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_backup_password= $CA_BACKUP_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_pkcs12_password= $CA_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_ds_password= $LDAP_ROOTDNPWD" >> $INSTANCECFG
+ echo "pki_security_domain_password= $CA_SECURITY_DOMAIN_PASSWORD" >> $INSTANCECFG
+ echo "[CA]" >> $INSTANCECFG
+ echo "pki_ds_ldap_port= $CA_LDAP_PORT" >> $INSTANCECFG
+ # echo "pki_enable_java_debugger=True" >> $INSTANCECFG
+ cat $INSTANCECFG
+
+ CA_DOMAIN=`hostname -d`
+ echo "export CA_DOMAIN=$CA_DOMAIN" >> /opt/rhqa_pki/env.sh
+
+ rlLog "EXECUTING: pkispawn -s CA -f $INSTANCECFG -v "
+ rlRun "pkispawn -s CA -f $INSTANCECFG -v > $INSTANCE_CREATE_OUT 2>&1"
+ rlRun "cat $INSTANCE_CREATE_OUT"
+ exp_message1="Administrator's username: $PKI_SECURITY_DOMAIN_USER"
+ rlAssertGrep "$exp_message1" "$INSTANCE_CREATE_OUT"
+ exp_message1_1="Administrator's PKCS #12 file:"
+ rlAssertGrep "$exp_message1_1" "$INSTANCE_CREATE_OUT"
+ exp_message2="$CA_DOMAIN"
+ rlAssertGrep "$exp_message2" "$INSTANCE_CREATE_OUT"
+ exp_message3_1="To check the status of the subsystem:"
+ rlAssertGrep "$exp_message3_1" "$INSTANCE_CREATE_OUT"
+ exp_message3_2="systemctl status pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message3_2" "$INSTANCE_CREATE_OUT"
+ exp_message4_1="To restart the subsystem:"
+ rlAssertGrep "$exp_message4_1" "$INSTANCE_CREATE_OUT"
+ exp_message4_2=" systemctl restart pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message4_2" "$INSTANCE_CREATE_OUT"
+ exp_message5="The URL for the subsystem is:"
+ rlAssertGrep "$exp_message5" "$INSTANCE_CREATE_OUT"
+ exp_message5_1="https://$HOSTNAME:8443/ca"
+ rlAssertGrep "$exp_message5_1" "$INSTANCE_CREATE_OUT"
+
+ echo "export CA_SERVER_ROOT=/var/lib/pki/pki-tomcat/ca" >> /opt/rhqa_pki/env.sh
+
+
+ else
+ #RHEL7 CS CA install tests here
+ rlLog "Setting up RHEL7 CA instance ............."
+ fi
+ rlPhaseEnd
+}
+
+###########################################################
+# KRA INSTALL TESTS #
+###########################################################
+rhcs_install_kra() {
+ rlPhaseStartTest "rhcs_install_kra - Install RHCS KRA Server"
+ rlLog "$FUNCNAME"
+ local INSTANCECFG="/tmp/kra_instance.inf"
+ local INSTANCE_CREATE_OUT="/tmp/kra_instance_create.out"
+ local PKI_SECURITY_DOMAIN_PORT=$CA_SECURE_PORT
+ local PKI_SECURITY_DOMAIN_USER=$CA_ADMIN_USER
+
+ rhcs_install_prep_disableFirewall
+
+
+ #Install and configure RHDS instance
+ rlLog "Creating LDAP server Instance to configure KRA"
+ rlRun "rhds_install $KRA_LDAP_PORT $KRA_LDAP_INSTANCE_NAME \"$LDAP_ROOTDN\" $LDAP_ROOTDNPWD $LDAP_BASEDN" 0 "Installing RHDS instance for KRA install" 0 "Install LDAP Instance"
+
+ #Install KRA
+ rlLog "Creating KRA Instance"
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlLog "Setting up Dogtag KRA instance ............."
+ echo "[DEFAULT]" > $INSTANCECFG
+ echo "pki_admin_password= $KRA_ADMIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_backup_password= $KRA_BACKUP_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_pkcs12_password= $KRA_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_database_password= $KRA_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_ds_password= $LDAP_ROOTDNPWD" >> $INSTANCECFG
+ echo "pki_security_domain_password= $CA_SECURITY_DOMAIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_security_domain_hostname= $HOSTNAME" >> $INSTANCECFG
+ echo "pki_security_domain_https_port= $PKI_SECURITY_DOMAIN_PORT" >> $INSTANCECFG
+ echo "pki_security_domain_user= $PKI_SECURITY_DOMAIN_USER" >> $INSTANCECFG
+ echo "pki_issueing_ca_uri= https://$HOSTNAME:$PKI_SECURITY_DOMAIN_PORT" >> $INSTANCECFG
+ echo "[KRA]" >> $INSTANCECFG
+ echo "pki_ds_ldap_port= $KRA_LDAP_PORT" >> $INSTANCECFG
+ cat $INSTANCECFG
+
+ rlLog "EXECUTING: pkispawn -s KRA -f $INSTANCECFG -v "
+ rlRun "pkispawn -s KRA -f $INSTANCECFG -v > $INSTANCE_CREATE_OUT 2>&1"
+ cat $INSTANCE_CREATE_OUT
+ exp_message1="Administrator's username: $KRA_ADMIN_USER"
+ rlAssertGrep "$exp_message1" "$INSTANCE_CREATE_OUT"
+ exp_message4="To check the status of the subsystem:"
+ rlAssertGrep "$exp_message4" "$INSTANCE_CREATE_OUT"
+ exp_message5="systemctl status pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message5" "$INSTANCE_CREATE_OUT"
+ exp_message6="To restart the subsystem:"
+ rlAssertGrep "$exp_message6" "$INSTANCE_CREATE_OUT"
+ exp_message7=" systemctl restart pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message7" "$INSTANCE_CREATE_OUT"
+ exp_message8="The URL for the subsystem is:"
+ rlAssertGrep "$exp_message8" "$INSTANCE_CREATE_OUT"
+ exp_message8_1="https://$HOSTNAME:8443/kra"
+ rlAssertGrep "$exp_message8_1" "$INSTANCE_CREATE_OUT"
+ echo "export CA_ADMIN_CERT_LOCATION=/root/.dogtag/pki-tomcat/ca_admin_cert.p12" >> /opt/rhqa_pki/env.sh
+
+ echo "export KRA_SERVER_ROOT=/var/lib/pki/pki-tomcat/kra" >> /opt/rhqa_pki/env.sh
+ else
+ #RHEL7 CS KRA install tests here
+ rlLog "Setting up RHEL7 KRA instance ............."
+ fi
+ rlPhaseEnd
+}
+
+###########################################################
+# OCSP INSTALL TESTS #
+###########################################################
+rhcs_install_ocsp() {
+ rlPhaseStartTest "rhcs_install_ocsp - Install RHCS OCSP Server"
+ rlLog "$FUNCNAME"
+ local INSTANCECFG="/tmp/ocsp_instance.inf"
+ local INSTANCE_CREATE_OUT="/tmp/ocsp_instance_create.out"
+ local PKI_SECURITY_DOMAIN_PORT=$CA_SECURE_PORT
+ local PKI_SECURITY_DOMAIN_USER=$CA_ADMIN_USER
+
+ rhcs_install_prep_disableFirewall
+
+ #Install and configure RHDS instance
+ rlLog "Creating LDAP server Instance to configure OCSP"
+ rlRun "rhds_install $OCSP_LDAP_PORT $OCSP_LDAP_INSTANCE_NAME \"$LDAP_ROOTDN\" $LDAP_ROOTDNPWD $LDAP_BASEDN" 0 "Installing RHDS instance for OCSP install" 0 "Install LDAP Instance"
+
+ #Install OCSP
+ rlLog "Creating OCSP Instance"
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlLog "Setting up Dogtag OCSP instance ............."
+ echo "[DEFAULT]" > $INSTANCECFG
+ echo "pki_admin_password= $OCSP_ADMIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_backup_password= $OCSP_BACKUP_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_pkcs12_password= $OCSP_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_database_password= $OCSP_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_ds_password= $LDAP_ROOTDNPWD" >> $INSTANCECFG
+ echo "pki_security_domain_password= $CA_SECURITY_DOMAIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_security_domain_hostname= $HOSTNAME" >> $INSTANCECFG
+ echo "pki_security_domain_https_port= $PKI_SECURITY_DOMAIN_PORT" >> $INSTANCECFG
+ echo "pki_security_domain_user= $PKI_SECURITY_DOMAIN_USER" >> $INSTANCECFG
+ echo "pki_issueing_ca_uri= https://$HOSTNAME:$PKI_SECURITY_DOMAIN_PORT" >> $INSTANCECFG
+ echo "[OCSP]" >> $INSTANCECFG
+ echo "pki_ds_ldap_port= $OCSP_LDAP_PORT" >> $INSTANCECFG
+ cat $INSTANCECFG
+
+ rlLog "EXECUTING: pkispawn -s OCSP -f $INSTANCECFG -v "
+ rlRun "pkispawn -s OCSP -f $INSTANCECFG -v > $INSTANCE_CREATE_OUT 2>&1"
+
+ cat $INSTANCE_CREATE_OUT
+ exp_message1="Administrator's username: $OCSP_ADMIN_USER"
+ rlAssertGrep "$exp_message1" "$INSTANCE_CREATE_OUT"
+ exp_message3_1="To check the status of the subsystem:"
+ rlAssertGrep "$exp_message3_1" "$INSTANCE_CREATE_OUT"
+ exp_message3_2="systemctl status pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message3_2" "$INSTANCE_CREATE_OUT"
+ exp_message4_1="To restart the subsystem:"
+ rlAssertGrep "$exp_message4_1" "$INSTANCE_CREATE_OUT"
+ exp_message4_2=" systemctl restart pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message4_2" "$INSTANCE_CREATE_OUT"
+ exp_message5="The URL for the subsystem is:"
+ rlAssertGrep "$exp_message5" "$INSTANCE_CREATE_OUT"
+ exp_message5_1="https://$HOSTNAME:8443/ocsp"
+ rlAssertGrep "$exp_message5_1" "$INSTANCE_CREATE_OUT"
+ echo "export CA_ADMIN_CERT_LOCATION=/root/.dogtag/pki-tomcat/ca_admin_cert.p12" >> /opt/rhqa_pki/env.sh
+
+
+ echo "export OCSP_SERVER_ROOT=/var/lib/pki/pki-tomcat/ocsp" >> /opt/rhqa_pki/env.sh
+
+ else
+ #RHEL7 CS OCSP install tests here
+ rlLog "Setting up RHEL7 OCSP instance ............."
+ fi
+ rlPhaseEnd
+}
+###########################################################
+# TKS INSTALL TESTS #
+###########################################################
+rhcs_install_tks() {
+ rlPhaseStartTest "rhcs_install_tks - Install RHCS TKS Server"
+ rlLog "$FUNCNAME"
+ local INSTANCECFG="/tmp/tks_instance.inf"
+ local INSTANCE_CREATE_OUT="/tmp/tks_instance_create.out"
+ local PKI_SECURITY_DOMAIN_PORT=$CA_SECURE_PORT
+ local PKI_SECURITY_DOMAIN_USER=$CA_ADMIN_USER
+
+ rhcs_install_prep_disableFirewall
+
+ #Install and configure RHDS instance
+ rlLog "Creating LDAP server Instance to configure TKS"
+ rlRun "rhds_install $TKS_LDAP_PORT $TKS_LDAP_INSTANCE_NAME \"$LDAP_ROOTDN\" $LDAP_ROOTDNPWD $LDAP_BASEDN" 0 "Installing RHDS instance for TKS install" 0 "Install LDAP Instance"
+
+ #Install TKS
+ rlLog "Creating TKS Instance"
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlLog "Setting up Dogtag TKS instance ............."
+ echo "[DEFAULT]" > $INSTANCECFG
+ echo "pki_admin_password= $TKS_ADMIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_backup_password= $TKS_BACKUP_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_pkcs12_password= $TKS_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_database_password= $TKS_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_ds_password= $LDAP_ROOTDNPWD" >> $INSTANCECFG
+ echo "pki_security_domain_password= $CA_SECURITY_DOMAIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_security_domain_hostname= $HOSTNAME" >> $INSTANCECFG
+ echo "pki_security_domain_https_port= $PKI_SECURITY_DOMAIN_PORT" >> $INSTANCECFG
+ echo "pki_security_domain_user= $PKI_SECURITY_DOMAIN_USER" >> $INSTANCECFG
+ echo "pki_issueing_ca_uri= https://$HOSTNAME:$PKI_SECURITY_DOMAIN_PORT" >> $INSTANCECFG
+ echo "[TKS]" >> $INSTANCECFG
+ echo "pki_ds_ldap_port= $TKS_LDAP_PORT" >> $INSTANCECFG
+ cat $INSTANCECFG
+ rlLog "EXECUTING: pkispawn -s TKS -f $INSTANCECFG -v "
+ rlRun "pkispawn -s TKS -f $INSTANCECFG -v > $INSTANCE_CREATE_OUT 2>&1"
+
+ cat $INSTANCE_CREATE_OUT
+ exp_message1="Administrator's username: $TKS_ADMIN_USER"
+ rlAssertGrep "$exp_message1" "$INSTANCE_CREATE_OUT"
+ exp_message3_1="To check the status of the subsystem:"
+ rlAssertGrep "$exp_message3_1" "$INSTANCE_CREATE_OUT"
+ exp_message3_2="systemctl status pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message3_2" "$INSTANCE_CREATE_OUT"
+ exp_message4_1="To restart the subsystem:"
+ rlAssertGrep "$exp_message4_1" "$INSTANCE_CREATE_OUT"
+ exp_message4_2=" systemctl restart pki-tomcatd\\\@pki-tomcat.service"
+ rlAssertGrep "$exp_message4_2" "$INSTANCE_CREATE_OUT"
+ exp_message5="The URL for the subsystem is:"
+ rlAssertGrep "$exp_message5" "$INSTANCE_CREATE_OUT"
+ exp_message5_1="https://$HOSTNAME:8443/tks"
+ rlAssertGrep "$exp_message5_1" "$INSTANCE_CREATE_OUT"
+ echo "export CA_ADMIN_CERT_LOCATION=/root/.dogtag/pki-tomcat/ca_admin_cert.p12" >> /opt/rhqa_pki/env.sh
+
+
+ echo "export TKS_SERVER_ROOT=/var/lib/pki/pki-tomcat/tks" >> /opt/rhqa_pki/env.sh
+
+ else
+ #RHEL7 CS TKS install tests here
+ rlLog "Setting up RHEL7 TKS instance ............."
+ fi
+ rlPhaseEnd
+}
+
+
+###########################################################
+# CA INSTALL TESTS #
+###########################################################
+rhcs_install_ca_only() {
+ rlPhaseStartTest "rhcs_install_ca_only - Install RHCS CA Server"
+ local INSTANCECFG="/tmp/ca_instance.inf"
+ local INSTANCE_CREATE_OUT="/tmp/ca_instance_create.out"
+ local LDAP_PORT="1500"
+ rlLog "$FUNCNAME"
+
+ rhcs_install_prep_disableFirewall
+
+ #Install and configure RHDS instance
+ rlLog "Creating LDAP server Instance"
+ rhcs_install_set_ldap_vars
+ rlRun "rhds_install $LDAP_PORT $CA_LDAP_INSTANCE_NAME \"$LDAP_ROOTDN\" $LDAP_ROOTDNPWD $LDAP_BASEDN" 0 "Installing RHDS instance for CA install" 0 "Install LDAP Instance"
+
+ #Install CA
+ rlLog "Creating CA Instance"
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlLog "Setting up Dogtag CA instance ............."
+ echo "[DEFAULT]" > $INSTANCECFG
+ echo "pki_admin_password= $CA_ADMIN_PASSWORD" >> $INSTANCECFG
+ echo "pki_backup_password= $CA_BACKUP_PASSWORD" >> $INSTANCECFG
+ echo "pki_client_pkcs12_password= $CA_CLIENT_PKCS12_PASSWORD" >> $INSTANCECFG
+ echo "pki_ds_password= $LDAP_ROOTDNPWD" >> $INSTANCECFG
+ echo "pki_security_domain_password= $CA_SECURITY_DOMAIN_PASSWORD" >> $INSTANCECFG
+ echo "" >> $INSTANCECFG
+ echo "[CA]" >> $INSTANCECFG
+ echo "pki_ds_ldap_port= $LDAP_PORT" >> $INSTANCECFG
+ echo "pki_instance_name= $CA_INSTANCE_ID" >> $INSTANCECFG
+ cat $INSTANCECFG
+
+ rlLog "EXECUTING: pkispawn -s CA -f $INSTANCECFG -v "
+ rlRun "pkispawn -s CA -f $INSTANCECFG -v > $INSTANCE_CREATE_OUT 2>&1"
+ rlRun "cat $INSTANCE_CREATE_OUT"
+ exp_message1="saving Admin Certificate to file: '/root/.pki/$CA_INSTANCE_ID/ca_admin.cert'"
+ rlAssertGrep "$exp_message1" "$INSTANCE_CREATE_OUT"
+ exp_message2="pk12util: PKCS12 EXPORT SUCCESSFUL"
+ rlAssertGrep "$exp_message2" "$INSTANCE_CREATE_OUT"
+ exp_message3="performing chmod: 'chmod 664 /root/.pki/$CA_INSTANCE_ID/ca_admin_cert.p12'"
+ rlAssertGrep "$exp_message3" "$INSTANCE_CREATE_OUT"
+ else
+ #RHEL7 CS CA install tests here
+ rlLog "Setting up RHEL7 CA instance ............."
+ fi
+ rlPhaseEnd
+}
+
+rhcs_install_prep_disableFirewall() {
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlRun "systemctl stop firewalld"
+ else
+ rlRun "chkconfig iptables off"
+ rlRun "chkconfig ip6tables off"
+ if [ $(cat /etc/redhat-release|grep "5\.[0-9]"|wc -l) -gt 0 ]; then
+ service iptables stop
+ if [ $? -eq 1 ]; then
+ rlLog "service iptables stop returns 1 when already stopped"
+ else
+ rlPass "service iptables stop succeeeded"
+ fi
+ else
+ rlRun "service iptables stop"
+ fi
+ fi
+
+}
diff --git a/tests/dogtag/acceptance/quickinstall/rhcs-install.sh b/tests/dogtag/acceptance/quickinstall/rhcs-install.sh
new file mode 100644
index 000000000..1668c4670
--- /dev/null
+++ b/tests/dogtag/acceptance/quickinstall/rhcs-install.sh
@@ -0,0 +1,449 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# rhcs_install.sh of /CoreOS/rhcs/acceptance/quickinstall
+# Description: CS quickinstall acceptance tests for new install
+# functions.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# Date : Feb 18, 2013
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# ROLE=MASTER, CLONE, SUBCA, EXTERNAL
+# SUBSYSTEMS=CA, KRA, OCSP, RA, TKS, TPS
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include tests
+. ./acceptance/quickinstall/rhds-install.sh
+. ./acceptance/quickinstall/rhcs-install-lib.sh
+
+run_rhcs_install_subsystems() {
+ rlPhaseStartSetup "rhcs_install_subsystems: Default install"
+ # Initialize Global TESTCOUNT variable
+ #TESTCOUNT=1
+
+ myhostname=`hostname`
+ rlLog "HOSTNAME: $myhostname"
+ rlLog "MASTER: $MASTER"
+ rlLog "MASTER_CA: $MASTER_CA"
+ rlLog "MASTER3: $MASTER3"
+ rlLog "MASTER4: $MASTER4"
+ rlLog "MASTER5: $MASTER5"
+ rlLog "MASTER6: $MASTER6"
+ rlLog "CLONE: $CLONE"
+ rlLog "CLONE2: $CLONE2"
+ rlLog "CLONE3: $CLONE3"
+ rlLog "CLONE4: $CLONE4"
+ rlLog "CLONE5: $CLONE5"
+
+ echo "export BEAKERMASTER=$MASTER" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERMASTER_CA=$MASTER_CA" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERMASTER3=$MASTER3" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERMASTER4=$MASTER4" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERMASTER5=$MASTER5" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERMASTER6=$MASTER6" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERCLONE=$CLONE" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERCLONE2=$CLONE2" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERCLONE3=$CLONE3" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERCLONE4=$CLONE4" >> /opt/rhqa_pki/env.sh
+ echo "export BEAKERCLONE5=$CLONE5" >> /opt/rhqa_pki/env.sh
+ echo "export HOSTNAME=$HOSTNAME" >> /opt/rhqa_pki/env.sh
+
+
+ COMMON_SERVER_PACKAGES="bind expect pki-console xmlstarlet dos2unix"
+ CA_SERVER_PACKAGES="pki-ca"
+ KRA_SERVER_PACKAGES="pki-kra"
+ OCSP_SERVER_PACKAGES="pki-ocsp"
+ RA_SERVER_PACKAGES="pki-ra"
+ TKS_SERVER_PACKAGES="pki-tks"
+ TPS_SERVER_PACKAGES="pki-tps"
+ RHELRHCS_PACKAGES="nuxwdog symkey mod-nss pki-native-tools redhat-pki-ca-ui redhat-pki-common-ui redhat-pki-console-ui redhat-pki-kra-ui redhat-pki-ocsp-ui redhat-pki-ra-ui redhat-pki-tks-ui redhat-pki-tps-ui"
+ DOGTAG_PACKAGES="pki-tools pki-symkey dogtag-pki dogtag-pki-console-theme dogtag-pki-server-theme"
+
+
+ cat /etc/redhat-release | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ FLAVOR="Fedora"
+ rlLog "Automation is running against Fedora"
+ else
+ FLAVOR="RedHat"
+ rlLog "Automation is running against RedHat"
+ fi
+ echo "export FLAVOR=$FLAVOR" >> /opt/rhqa_pki/env.sh
+
+
+ #####################################################################
+ # IS THIS MACHINE A MASTER? #
+ #####################################################################
+ echo $MASTER | grep $HOSTNAME
+ if [ $? -eq 0 ] ; then
+ yum clean all
+ #CA install
+ rc=0
+ rlLog "CA instance will be installed on $HOSTNAME"
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $CA_SERVER_PACKAGES
+
+ echo "export CA_SERVER_CERT_SUBJECT_NAME= CN=$HOSTNAME,O=redhat" >> /opt/rhqa_pki/env.sh
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $CA_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $CA_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+ if [ $rc -eq 0 ] ; then
+ rhcs_install_ca
+ fi
+
+ #KRA install
+ rlLog "KRA instance will be installed on $HOSTNAME"
+ rc=0
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $KRA_SERVER_PACKAGES
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $KRA_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $KRA_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ lLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+ if [ $rc -eq 0 ] ; then
+ rhcs_install_kra
+ fi
+
+ #OCSP install
+ rlLog "OCSP instance will be installed on $HOSTNAME"
+ rc=0
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $OCSP_SERVER_PACKAGES
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $OCSP_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $OCSP_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+ if [ $rc -eq 0 ] ; then
+ rhcs_install_ocsp
+ fi
+
+ #RA install
+ rlLog "RA instance will be installed on $HOSTNAME"
+ rc=0
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $RA_SERVER_PACKAGES
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $RA_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $RA_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+ if [ $rc -eq 0 ] ; then
+ rlLog "Installing RA"
+ #rhcs_install_ra
+ fi
+
+ #TKS install
+ rlLog "TKS instance will be installed on $HOSTNAME"
+ rc=0
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $TKS_SERVER_PACKAGES
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $TKS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $TKS_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+ if [ $rc -eq 0 ] ; then
+ rlLog "Installing TKS"
+ rhcs_install_tks
+ fi
+
+ #TPS install
+ rlLog "TPS instance will be installed on $HOSTNAME"
+ rc=0
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $TPS_SERVER_PACKAGES
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $TPS_SERVER_PACKAGES $DOGTAG_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $TPS_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+ if [ $rc -eq 0 ] ; then
+ rlLog "Installing TPS"
+ #rhcs_install_tps
+ fi
+ else
+ rlLog "Machine in recipe is not a MASTER"
+ fi
+
+ #####################################################################
+ # IS THIS MACHINE A MASTER_CA? #
+ #####################################################################
+ echo $MASTER_CA | grep $HOSTNAME
+ if [ $? -eq 0 ] ; then
+ yum clean all
+ rlLog "CA instance will be installed on $HOSTNAME"
+ rc=0
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $CA_SERVER_PACKAGES
+
+ echo "export CA_SERVER_CERT_SUBJECT_NAME= CN=$HOSTNAME,O=redhat" >> /opt/rhqa_pki/env.sh
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $CA_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $CA_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+
+ if [ $rc -eq 0 ] ; then
+ rhcs_install_ca_only
+ fi
+ else
+
+ rlLog "Machine in recipe is not a MASTER_CA"
+ fi
+ #####################################################################
+ # IS THIS MACHINE A CLONE? #
+ #####################################################################
+ echo $CLONE | grep $HOSTNAME
+ if [ $? -eq 0 ] ; then
+ yum clean all
+ #Clone CA install
+ rlLog "Clone CA instance will be installed on $HOSTNAME"
+ rc=0
+ yum -y install $COMMON_SERVER_PACKAGES
+ yum -y install $CA_SERVER_PACKAGES
+
+ if [ "$FLAVOR" == "Fedora" ] ; then
+ #yum -y install $DOGTAG_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $CA_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ else
+ yum -y install $RHELRHCS_SERVER_PACKAGES
+ yum -y update
+ ALL_PACKAGES="$COMMON_SERVER_PACKAGES $CA_SERVER_PACKAGES $RHELRHCS_SERVER_PACKAGES"
+ for item in $ALL_PACKAGES ; do
+ rpm -qa | grep $item
+ if [ $? -eq 0 ] ; then
+ rlLog "$item package is installed"
+ else
+ rlLog "ERROR: $item package is NOT installed"
+ rc=1
+ fi
+ done
+ fi
+ if [ $rc -eq 0 ] ; then
+ rlLog "Installing Clone CA"
+ #rhcs_install_cloneCA
+ fi
+
+ ### ADD scripts for KRA,OCSP,TKS,TPS clone here
+
+ else
+ rlLog "Machine in recipe in not a CLONE"
+ fi
+
+ rlPhaseEnd
+
+ rlPhaseStartCleanup "pki_user_cli_user_add-cleanup: pki install cleanup"
+ rlLog "pki install clean-up"
+ rlPhaseEnd
+
+ #rlJournalPrintText
+ #report=/tmp/rhts.report.$RANDOM.txt
+ #makereport $report
+ #rhts-submit-log -l $report
+ #rlPhaseEnd
+}
diff --git a/tests/dogtag/acceptance/quickinstall/rhds-install.sh b/tests/dogtag/acceptance/quickinstall/rhds-install.sh
new file mode 100644
index 000000000..eab60cf79
--- /dev/null
+++ b/tests/dogtag/acceptance/quickinstall/rhds-install.sh
@@ -0,0 +1,174 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# rhds_install.sh of /CoreOS/rhcs/acceptance/quickinstall
+# Description: CS quickinstall acceptance tests for new install
+# functions.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# Date : Feb 18, 2013
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+rhcs_install_set_ldap_vars() {
+. /opt/rhqa_pki/env.sh
+
+ ### Set OS/YUM/RPM related variables here
+ if [ $(grep Fedora /etc/redhat-release|wc -l) -gt 0 ]; then
+ export DISTRO="Fedora"
+ export RHDS_SERVER_PACKAGES="389-ds-base policycoreutils-python"
+ else
+ export DISTRO="RedHat"
+ export RHDS_SERVER_PACKAGES="redhat-ds-base 389-ds-base policycoreutils-python"
+ fi
+
+
+
+ #Copy rhds-install.sh to /opt/rhqa_pki
+ rm -f /opt/rhqa_pki/rhds-install.sh
+ cp -a ./acceptance/quickinstall/rhds-install.sh /opt/rhqa_pki/.
+
+# rlLog "===================== env.sh =========================="
+ # rlRun "cat /opt/rhqa_pki/env.sh"
+ # rlLog "==============================================="
+}
+
+######################################################################
+# rhds_install()
+# All subsystems and ldap servers on a single host
+######################################################################
+rhds_install()
+{
+
+ local LDAP_PORT="$1"
+ local LDAP_INSTANCE_NAME="$2"
+ local LDAP_ROOT_DN="$3"
+ local LDAP_ROOT_DN_PWD="$4"
+ local LDAP_SUFFIX="$5"
+ local INSTANCECFG="/tmp/instance.inf"
+ local INSTANCE_CREATE_OUT="/tmp/instance_create.out"
+
+ echo "Base DN: $LDAP_SUFFIX"
+ echo "LDAP port: $LDAP_PORT"
+ echo "LDAPS port: $LDAPS_PORT"
+ echo "Instance configuration file: $INSTANCECFG"
+ echo "Password scheme ldif file: $PWDSCHEME"
+ echo "LDAP instance: $INSTANCE"
+
+
+ ####################################################
+ # turn off firewall
+ ####################################################
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlRun "systemctl stop firewalld"
+ else
+ rlRun "service iptables stop"
+ fi
+
+ ####################################################
+ # check for installed RHDS packages
+ ####################################################
+ rhds_install_prep
+ for PKG in $RHDS_SERVER_PACKAGES; do
+ rlAssertRpm $PKG
+ done
+
+ ####################################################
+ # set up directory server instance
+ ####################################################
+
+ rlLog "Setting up Directory Server instance ............."
+ echo "[General]" > $INSTANCECFG
+ echo "FullMachineName= $HOSTNAME" >> $INSTANCECFG
+ echo "SuiteSpotUserID= nobody" >> $INSTANCECFG
+ echo "SuiteSpotGroup= nobody" >> $INSTANCECFG
+ echo "ConfigDirectoryLdapURL= ldap://$HOSTNAME:$LDAP_PORT/o=NetscapeRoot" >> $INSTANCECFG
+ echo "ConfigDirectoryAdminID= admin" >> $INSTANCECFG
+ echo "ConfigDirectoryAdminPwd= $LDAP_ADMINPW" >> $INSTANCECFG
+ echo "AdminDomain= example.com" >> $INSTANCECFG
+ echo "" >> $INSTANCECFG
+ echo "[slapd]" >> $INSTANCECFG
+ echo "ServerIdentifier= $LDAP_INSTANCE_NAME" >> $INSTANCECFG
+ echo "ServerPort= $LDAP_PORT" >> $INSTANCECFG
+ echo "Suffix= $LDAP_SUFFIX" >> $INSTANCECFG
+ echo "RootDN= $LDAP_ROOT_DN" >> $INSTANCECFG
+ echo "RootDNPwd= $LDAP_ROOT_DN_PWD" >> $INSTANCECFG
+ echo "" >> $INSTANCECFG
+ echo "[admin]" >> $INSTANCECFG
+ echo "ServerAdminID= admin" >> $INSTANCECFG
+ echo "ServerAdminPwd= $LDAP_ADMINPW" >> $INSTANCECFG
+ echo "SysUser= nobody" >> $INSTANCECFG
+
+ cat $INSTANCECFG
+
+ rlLog "Executing: /usr/sbin/setup-ds.pl --silent --file=$INSTANCECFG > $INSTANCE_CREATE_OUT"
+ rlRun "/usr/sbin/setup-ds.pl --silent --file=$INSTANCECFG > $INSTANCE_CREATE_OUT" 0 "Creating a LDAP instance"
+
+ /usr/bin/ldapsearch -x -h $HOSTNAME -p $LDAP_PORT -D "$LDAP_ROOT_DN" -w $LDAP_ROOT_DN_PWD -b "$LDAP_SUFFIX"
+
+ if [ -f $INSTANCE_CREATE_OUT ]; then
+ rlRun "cat $INSTANCE_CREATE_OUT"
+ rlLog "Ldap new server instance created successfully."
+ else
+
+ rlLog "Error creating ldap new server instance."
+ fi
+
+ if [ -f /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/errors ]; then
+ cp /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/errors /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/errors.quickinstall
+ rhts-submit-log -l /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/errors.quickinstall
+ fi
+ if [ -f /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/access ]; then
+ cp /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/access /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/access.quickinstall
+ rhts-submit-log -l /var/log/dirsrv/slapd-$LDAP_INSTANCE_NAME/access.quickinstall
+ fi
+ #rlPhaseEnd
+}
+
+rhds_install_prep_pkgInstalls()
+{
+ rlRun "yum clean all"
+ rlRun "yum -y install bind expect"
+}
+
+
+rhds_install_prep()
+{
+ rlLog "$FUNCNAME"
+ if [ -z "$RHDS_SERVER_PACKAGES" ]; then
+ rlFail "$RHDS_SERVER_PACKAGES variable not set."
+ return 1
+ fi
+
+ rhds_install_prep_pkgInstalls
+
+ rlRun "yum -y install $RHDS_SERVER_PACKAGES"
+ rlRun "yum -y update"
+
+ # if [ "$IPv6SETUP" != "TRUE" ]; then
+ # Install DS in IPV6 environment
+
+}
diff --git a/tests/dogtag/acceptance/quickinstall/runtest.sh b/tests/dogtag/acceptance/quickinstall/runtest.sh
new file mode 100755
index 000000000..41c429860
--- /dev/null
+++ b/tests/dogtag/acceptance/quickinstall/runtest.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/acceptance/quickinstall
+# Description: CS quickinstall acceptance tests for new install
+# functions.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# The following rhcs will be tested:
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+# Date : Feb 15, 2013
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include data-driven test data file:
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/env.sh
+
+# Include tests
+. ./rhcs-install.sh
+
+
+# Make sure TESTORDER is initialized or multihost may have issues
+TESTORDER=1
+
+##########################################
+# test main
+#########################################
+
+rlJournalStart
+ rlPhaseStartSetup "RHCS quickinstall startup: install CS subsystems"
+ rlRun "export MASTER=`hostname`"
+ rlRun "env|sort"
+ rlPhaseEnd
+
+ #Execute pki user config tests
+ run_rhcs_install_subsystems
+
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/beakerjob.rhcs.x86_64.f19.xml b/tests/dogtag/beakerjob.rhcs.x86_64.f19.xml
new file mode 100644
index 000000000..a15417cf5
--- /dev/null
+++ b/tests/dogtag/beakerjob.rhcs.x86_64.f19.xml
@@ -0,0 +1,45 @@
+<job retention_tag="scratch">
+ <whiteboard>
+ dogtag rhcs test single rpm param value TEST_ALL TRUE
+ </whiteboard>
+ <recipeSet priority="Normal">
+ <recipe kernel_options="" kernel_options_post="" ks_meta="" role="RECIPE_MEMBERS" whiteboard="">
+ <autopick random="false"/>
+ <watchdog panic="ignore"/>
+ <packages/>
+ <ks_appends/>
+ <repos>
+ <repo name="repo1" url="http://mickey.dsdev.sjc.redhat.com/repos/pki/dogtag/10/F19/devel_x86_64/x86_64/"/>
+ <repo name="repo2" url="http://mickey.dsdev.sjc.redhat.com/repos/pki/dogtag/10/F19/devel_x86_64/noarch/"/>
+ </repos>
+ <distroRequires>
+ <and>
+ <distro_family op="=" value="Fedora19"/>
+ <distro_variant op="=" value="Fedora"/>
+ <distro_name op="=" value="Fedora-19"/>
+ <distro_arch op="=" value="x86_64"/>
+ </and>
+ </distroRequires>
+ <hostRequires>
+ <system_type value="Machine"/>
+ </hostRequires>
+ <partitions/>
+ <task name="/distribution/install" role="STANDALONE">
+ <params/>
+ </task>
+ <task name="/CoreOS/rhcs/lsunkaras_dir" role="MASTER">
+ <params>
+ <param name="TEST_ALL" value="TRUE"/>
+ <param name="QUICKINSTALL" value="FALSE"/>
+ <param name="USER_ADD_CA" value="FALSE"/>
+ <param name="USER_SHOW_CA" value="FALSE"/>
+ <param name="USER_FIND_CA" value="FALSE"/>
+ <param name="USER_DEL_CA" value="FALSE"/>
+ </params>
+ </task>
+ <task name="/distribution/reservesys" role="STANDALONE">
+ <params/>
+ </task>
+ </recipe>
+ </recipeSet>
+</job>
diff --git a/tests/dogtag/make-package.sh b/tests/dogtag/make-package.sh
new file mode 100755
index 000000000..6e809104a
--- /dev/null
+++ b/tests/dogtag/make-package.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+### Exit if there is no personalization id specified.
+if [ $# -lt 1 ];
+then
+ echo "Usage: ./make-package.sh <User-ID> <Different_subfolder_for_each_beaker_job_?(Y/N)(Optional)>"
+ exit -1
+fi
+
+### Store the actual Makefile checked in SVN
+mv Makefile .Makefile.save
+
+user_id=$1
+date_time="`date -u +%Y%m%d%H%M%S`"
+rpm_identifier=".$date_time"
+if [ $# -gt 1 ];
+then
+ if [ $2 = 'Y' -o $2 = 'y' ];
+ then
+ user_id="$1/$date_time"
+ rpm_identifier=""
+ fi
+fi
+
+#rpm_identifier=".$date_time"
+echo $user_id
+### Replacing the default value with the "user_id/current_number"
+sed -e "s|PKI_TEST_USER_ID|${user_id}|g" -e "s|_RPM_IDENTIFIER|${rpm_identifier}|g" .Makefile.save >> Makefile
+
+chmod +x Makefile
+
+### Making the rpm
+make package
+
+### Remove the current rpm and place the original back
+
+rm -rf Makefile
+
+mv .Makefile.save Makefile
diff --git a/tests/dogtag/runtest.sh b/tests/dogtag/runtest.sh
new file mode 100755
index 000000000..156ac3e3e
--- /dev/null
+++ b/tests/dogtag/runtest.sh
@@ -0,0 +1,103 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/PKI_TEST_USER_ID
+# Description: CS testing
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# Libraries Included:
+# rhcs-shared.sh
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Laxmi Sunkara <lsunkara@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/rhcs-install-shared.sh
+. /opt/rhqa_pki/pki-user-cli-lib.sh
+. /opt/rhqa_pki/env.sh
+
+# Include tests
+. ./acceptance/quickinstall/rhcs-install.sh
+. ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-ca.sh
+. ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-add-ca.sh
+. ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-show-ca.sh
+. ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-find-ca.sh
+. ./acceptance/cli-tests/pki-user-cli/ca/pki-user-cli-user-del-ca.sh
+. ./dev_java_tests/run_junit_tests.sh
+PACKAGE="pki-tools"
+
+# Make sure TESTORDER is initialized or multihost may have issues
+TESTORDER=1
+
+#Test type specified as parameter in beakerjob.rhcs.xml.template
+#QUICKINSTALL=TRUE
+#USER_ADD_CA=TRUE
+#USER_SHOW_CA=TRUE
+#USER_FIND_CA=TRUE
+#USER_DEL_CA=TRUE
+#TEST=TRUE
+rlJournalStart
+ rlPhaseStartSetup "list files in /opt/rhqa_pki"
+ rlRun "ls /opt/rhqa_pki" 0 "Listing files in /opt/rhqa_pki"
+ rlRun "export MASTER=`hostname`"
+ rlRun "env|sort"
+ rlPhaseEnd
+
+ rlPhaseStartSetup "RHCS tests"
+ #Execute pki user config tests
+ if [ "$QUICKINSTALL" = "TRUE" ] || [ "$TEST_ALL" = "TRUE" ] ; then
+ run_rhcs_install_subsystems
+# run_pki-user-cli-user-ca_tests
+ fi
+ if [ "$USER_ADD_CA" = "TRUE" ] || [ "$TEST_ALL" = "TRUE" ] ; then
+ # Execute pki user-add-ca tests
+ run_pki-user-cli-user-add-ca_tests
+ fi
+ if [ "$USER_SHOW_CA" = "TRUE" ] || [ "$TEST_ALL" = "TRUE" ] ; then
+ # Execute pki user-show-ca tests
+ run_pki-user-cli-user-show-ca_tests
+ fi
+ if [ "$USER_FIND_CA" = "TRUE" ] || [ "$TEST_ALL" = "TRUE" ] ; then
+ # Execute pki user-find-ca tests
+ run_pki-user-cli-user-find-ca_tests
+ fi
+ if [ "$USER_DEL_CA" = "TRUE" ] || [ "$TEST_ALL" = "TRUE" ] ; then
+ # Execute pki user-del-ca tests
+ run_pki-user-cli-user-del-ca_tests
+ fi
+ rlPhaseEnd
+
+ if [ "$DEV_JAVA_TESTS" = "TRUE" ] || [ "$TEST_ALL" = "TRUE" ] ; then
+ rlPhaseStartSetup "Dev Tests"
+ run_dev_junit_tests
+ rlPhaseEnd
+ fi
+
+ rlJournalPrintText
+ report=/tmp/rhts.report.$RANDOM.txt
+ makereport $report
+ rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/shared/Makefile b/tests/dogtag/shared/Makefile
new file mode 100755
index 000000000..f0b886023
--- /dev/null
+++ b/tests/dogtag/shared/Makefile
@@ -0,0 +1,85 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /CoreOS/rhcs/acceptance/install
+# Description: Basic install test for rhcs
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+export TEST=/CoreOS/rhcs/shared
+export TESTVERSION=1.0.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) rhcs-shared.sh rhcs-install-shared.sh pki-user-cli-lib.sh set-root-pw.exp runtest.sh Makefile PURPOSE env.sh pki-cert-cli-lib.sh dummycert1.pem
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ rm -rf /opt/rhqa_pki
+ mkdir /opt/rhqa_pki
+ rm -f /opt/rhqa_pki/env.sh
+ cp ./env.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/rhcs-shared.sh
+ cp ./rhcs-shared.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/rhcs-install-shared.sh
+ cp ./rhcs-install-shared.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/pki-user-cli-lib.sh
+ cp ./pki-user-cli-lib.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/set-root-pw.exp
+ cp ./set-root-pw.exp /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/pki-cert-cli-lib.sh
+ cp ./pki-cert-cli-lib.sh /opt/rhqa_pki/.
+ rm -f /opt/rhqa_pki/dummycert1.pem
+ cp ./dummycert1.pem /opt/rhqa_pki/.
+ chmod 755 /opt/rhqa_pki/*.sh
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ chmod 755 rhcs-shared.sh
+ chmod 755 rhcs-install-shared.sh
+ chmod 755 set-root-pw.exp
+ chmod 755 pki-user-cli-lib.sh
+ chmod 755 dummycert1.pem
+ chmod 755 pki-cert-cli-lib.sh
+ chmod a+x runtest.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Asha Akkiangady <aakkiang@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: Package containing libraries for rhcs beaker tests" >> $(METADATA)
+ @echo "Type: Acceptance" >> $(METADATA)
+ @echo "TestTime: 2m" >> $(METADATA)
+ @echo "RunFor: rhcs" >> $(METADATA)
+ @echo "Requires: expect" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/dogtag/shared/PURPOSE b/tests/dogtag/shared/PURPOSE
new file mode 100755
index 000000000..49923065d
--- /dev/null
+++ b/tests/dogtag/shared/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /CoreOS/rhcs/shared
+Description: Shared libs for RHCS tests
+Author: Asha Akkiangady <aakkiang@redhat.com>
diff --git a/tests/dogtag/shared/dummycert1.pem b/tests/dogtag/shared/dummycert1.pem
new file mode 100755
index 000000000..a74184f5f
--- /dev/null
+++ b/tests/dogtag/shared/dummycert1.pem
@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIELjCCAxagAwIBAgIBDjANBgkqhkiG9w0BAQsFADBTMTAwLgYDVQQKDCdyaHRz
+LmVuZy5ib3MucmVkaGF0LmNvbSBTZWN1cml0eSBEb21haW4xHzAdBgNVBAMMFkNB
+IFNpZ25pbmcgQ2VydGlmaWNhdGUwHhcNMTMwNzE2MDgwOTQzWhcNMTQwMTEyMDgw
+OTQzWjCBkzELMAkGA1UEBhMCVVMxEDAOBgNVBAoMB0V4YW1wbGUxFDASBgNVBAsM
+C0VuZ2luZWVyaW5nMRswGQYDVQQDDBJDQV9BZG1pbl9WYWxpZENlcnQxJDAiBgkq
+hkiG9w0BCQEWFUNBX2FkbWluVkBleGFtcGxlLmNvbTEZMBcGCgmSJomT8ixkAQEM
+CUNBX2FkbWluVjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANUXDwMo
+9GjhbLNZQEh/TRISX9ARxzuSPxtweM3JBr/bOQlriY8fAECG/SiEEVd6MXeOOFj/
+kAur5JIX3PdBu4FzdqvTSOcxmiN9dAGK+NfLE5tE34y++SGNgSh3+F7k6lZZVPz0
+eVh/upNjDYKvxCF4005acw9F4lq0HPFWdWrevfXwDKe2gLXd/auZLz5O9VLNrdeO
+EOZ+q0Etre1mhCIYsACNXxWeP2uams3nek/1OwfK9h1wg2SiKwIBcJ/LjA02fn7+
+R9P3eY3hvUduohNN/2nXPuRzhArjez5dT8tIcTgkpYTJmB/1Zo5krliS5aDxw5na
+a5Rs2BLM5IhC8Z8CAwEAAaOByzCByDAfBgNVHSMEGDAWgBQzES+CfJWi3DRT1JDE
++9kFjeAKjjBUBggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAGGOGh0dHA6Ly9rdm0t
+Z3Vlc3QtMDEucmh0cy5lbmcuYm9zLnJlZGhhdC5jb206ODA4MC9jYS9vY3NwMA4G
+A1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwIAYD
+VR0RBBkwF4EVQ0FfYWRtaW5WQGV4YW1wbGUuY29tMA0GCSqGSIb3DQEBCwUAA4IB
+AQAdKqN4suafUg8cLYGcPMHZ0QvoMJ98scyOfRNvHjIVzM49UyvIWdZywLpMZjW4
+xaHXt5wAvv2CT++pYOm7wyL4wn9fshlicy8/0lq8n/NXpv/H47QhYLkYUXq/ne7u
+wKmZuxns2ECNJzoWpEmWwSlSi3B/BxZmASGy2ilD/G5Hl5vmxZprGgpMWSfq1gAt
+Wthh2mfLi21PAGC6Ku2ilqPWEdWV+0TgdwV5AKiIVhLritwUaIzWgvH2pzA5Cca9
+fmkx7kqjpDJVNRFIY+veSGoBgxudu/QXjKCjaxmQxfQTwZXNw4Qhls88SIXljZpY
+6NsgArHq7gy3eh/wvXBp7/xR
+-----END CERTIFICATE-----
diff --git a/tests/dogtag/shared/env.sh b/tests/dogtag/shared/env.sh
new file mode 100644
index 000000000..f69731b8d
--- /dev/null
+++ b/tests/dogtag/shared/env.sh
@@ -0,0 +1,65 @@
+LDAP_ROOTDN="cn=Directory Manager"
+LDAP_ROOTDNPWD="Secret123"
+LDAP_BASEDN="dc=pki-tests"
+LDAP_ADMINPW="Secret123"
+CERTDB_DIR="/opt/rhqa_pki/rhcs/tmp"
+CERTDB_DIR_PASSWORD="redhat123"
+CA_LDAP_INSTANCE_NAME="pki-ca1-ldap"
+CA_ADMIN_USER="caadmin"
+CA_ADMIN_PASSWORD="Secret123"
+CA_KEY_TYPE="RSA"
+CA_KEY_SIZE=2048
+CA_INSTANCE_ID="pki-ca1"
+CA_DB_SUFFIX="dc=pki-ca1"
+CA_LDAP_PORT=1600
+CA_CLIENT_PKCS12_PASSWORD=Secret123
+CA_SECURITY_DOMAIN_PASSWORD=$CA_ADMIN_PASSWORD
+CA_SECURE_PORT=8443
+CA_UNSECURE_PORT=8080
+CA_AJP_PORT=8009
+CA_MANAGEMENT_PORT=8005
+CA_AGENT_CERT_NICKNAME="csagent-pki-ca-tp1"
+CA_AGENT_CERT_SUBJECT_NAME="CN=$CA_AGENT_CERT_NICKNAME,OU=mtv,O=redhat"
+CA_SIGNING_CERT_SUBJECT_NAME="CN=pki-ca-tp1,O=redhat"
+CA_SUBSYSTEM_CERT_SUBJECT_NAME="CN=pki-ca-tp1-subsystem,O=redhat"
+CA_OCSP_SIGNING_CERT_SUBJECT_NAME="CN=pki-ca-tp1-OCSPSigning,O=redhat"
+CA_TKS_SIGNING_CERT_SUBJECT_NAME="CN=pki-ca-tp1-TKSSigning,O=redhat"
+CA_AUDIT_SIGNING_CERT_SUBJECT_NAME="CN=pki-ca-tp1-audit,O=redhat"
+CA_SUBSYSTEM_NAME="rhcs-acceptance-ca"
+CA_AGENT_KEY_SIZE=2048
+CA_AGENT_KEY_TYPE=RSA
+CA_BACKUP_PASSWORD=redhat123
+CA_TOKEN_NAME=internal
+CA_TOKEN_PASSWORD=newpassword
+CA_KEY_ALGORITHM=SHA512withRSA
+CA_SIGNING_ALGORITHM=SHA512withRSA
+CA_SIGNING_SIGNING_ALGORITHM=SHA512withRSA
+CA_OCSP_SIGNING_ALGORITHM=SHA512withRSA
+CA_TKS_SIGNING_ALGORITHM=SHA512withRSA
+CA_BACKUP_FILE_NAME="$CERTDB_DIR/$CA_INSTANCE_ID.p12"
+KRA_LDAP_INSTANCE_NAME="pki-kra1-ldap"
+KRA_INSTANCE_ID="pki-kra1"
+KRA_DB_SUFFIX="dc=pki-kra1"
+KRA_LDAP_PORT=1601
+KRA_ADMIN_PASSWORD="Secret123"
+KRA_ADMIN_USER="kraadmin"
+KRA_BACKUP_PASSWORD=redhat123
+KRA_CLIENT_PKCS12_PASSWORD=Secret123
+OCSP_LDAP_INSTANCE_NAME="pki-ocsp1-ldap"
+OCSP_INSTANCE_ID="pki-ocsp1"
+OCSP_DB_SUFFIX="dc=pki-ocsp1"
+OCSP_LDAP_PORT=1602
+OCSP_ADMIN_PASSWORD="Secret123"
+OCSP_ADMIN_USER="ocspadmin"
+OCSP_BACKUP_PASSWORD=redhat123
+OCSP_CLIENT_PKCS12_PASSWORD=Secret123
+TKS_LDAP_INSTANCE_NAME="pki-tks1-ldap"
+TKS_INSTANCE_ID="pki-ocsp1"
+TKS_DB_SUFFIX="dc=pki-ocsp1"
+TKS_LDAP_PORT=1603
+TKS_ADMIN_PASSWORD="Secret123"
+TKS_ADMIN_USER="tksadmin"
+TKS_BACKUP_PASSWORD=redhat123
+TKS_CLIENT_PKCS12_PASSWORD=Secret123
+
+export LDAP_ROOTDN LDAP_ROOTDNPWD LDAP_BASEDN LDAP_ADMINPW CERTDB_DIR CERTDB_DIR_PASSWORD CA_LDAP_INSTANCE_NAME CA_ADMIN_USER CA_ADMIN_PASSWORD CA_KEY_TYPE CA_KEY_SIZE CA_INSTANCE_ID CA_DB_SUFFIX CA_LDAP_PORT CA_INSTANCE_ROOT CA_CLIENT_PKCS12_PASSWORD CA_SECURITY_DOMAIN_PASSWORD CA_AGENT_SECURE_PORT CA_EE_SECURE_PORT CA_EE_SECURE_CLIENT_AUTH_PORT CA_SECURE_PORT CA_UNSECURE_PORT CA_TOMCAT_SERVER_PORT CA_AGENT_CERT_NICKNAME CA_AGENT_CERT_SUBJECT_NAME CA_SIGNING_CERT_SUBJECT_NAME CA_SUBSYSTEM_CERT_SUBJECT_NAME CA_OCSP_SIGNING_CERT_SUBJECT_NAME CA_AUDIT_SIGNING_CERT_SUBJECT_NAME CA_SUBSYSTEM_NAME CA_AGENT_KEY_SIZE CA_AGENT_KEY_TYPE CA_BACKUP_PASSWORD CA_TOKEN_NAME CA_TOKEN_PASSWORD CA_KEY_ALGORITHM CA_SIGNING_ALGORITHM CA_SIGNING_SIGNING_ALGORITHM CA_OCSP_SIGNING_ALGORITHM CA_BACKUP_FILE_NAME KRA_ADMIN_PASSWORD KRA_BACKUP_PASSWORD KRA_CLIENT_PKCS12_PASSWORD OCSP_ADMIN_PASSWORD OCSP_BACKUP_PASSWORD OCSP_CLIENT_PKCS12_PASSWORD TKS_ADMIN_PASSWORD TKS_BACKUP_PASSWORD TKS_CLIENT_PKCS12_PASSWORD CA_TKS_SIGNING_CERT_SUBJECT_NAME CA_TKS_SIGNING_ALGORITHM
diff --git a/tests/dogtag/shared/pki-cert-cli-lib.sh b/tests/dogtag/shared/pki-cert-cli-lib.sh
new file mode 100755
index 000000000..bbb13489a
--- /dev/null
+++ b/tests/dogtag/shared/pki-cert-cli-lib.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+########################################################################
+# PKI CERT SHARED LIBRARY
+#######################################################################
+# Includes:
+#
+# generate_PKCS10
+######################################################################
+#######################################################################
+
+#########################################################################
+# create_certdb Usage:
+# create_certdb <location of certdb> <certdb_password>
+#######################################################################
+
+create_certdb()
+{
+ local certdb_loc=$1
+ local certdb_pwd=$2
+ rlLog "certdb_loc = $certdb_loc"
+ rlRun "mkdir $certdb_loc"
+ rlRun "echo \"$certdb_pwd\" > $certdb_loc/passwd_certdb"
+ rlRun "certutil -d $certdb_loc -N -f $certdb_loc/passwd_certdb"
+}
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
+
+#########################################################################
+# generate_PKCS10 Usage:
+# generate_PKCS10 <location of certdb> <certdb_password> <algorithm> <rsa key length> <output file> <subjectDN>
+#######################################################################
+
+generate_PKCS10()
+{
+ local certdb_loc=$1
+ local certdb_pwd=$2
+ local algorithm=$3
+ local rsa_key_length=$4
+ local output_file=$5
+ local subjectDN=$6
+ local rc=0
+ exp=$certdb_loc/../expfile.out
+ tmpout=$certdb_loc/../tmpout.out
+
+ local cmd="PKCS10Client -p $certdb_pwd -d $certdb_loc -a $algorithm -l $rsa_key_length -o $output_file -n $subjectDN"
+ rlLog "Executing: $cmd"
+ rlRun "$cmd" 0 "Creating PKCS10 request"
+}
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
diff --git a/tests/dogtag/shared/pki-user-cli-lib.sh b/tests/dogtag/shared/pki-user-cli-lib.sh
new file mode 100755
index 000000000..6d42a579b
--- /dev/null
+++ b/tests/dogtag/shared/pki-user-cli-lib.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+########################################################################
+# PKI USER SHARED LIBRARY
+#######################################################################
+# Includes:
+#
+# importAdminCert
+######################################################################
+#######################################################################
+
+#########################################################################
+# importAdminCert Usage:
+# importAdminCert <AdminCertLocation> <Directory>
+#######################################################################
+
+importAdminCert()
+{
+ local admincert_p12file=$1
+ local temp_dir=$2
+ local nss_db_password=$3
+ local admin_cert_nickname=$4
+ local rc=0
+ exp=$temp_dir/expfile.out
+ tmpout=$temp_dir/tmpout.out
+
+ rlLog "admincert_p12file = $admincert_p12file"
+ rlLog "temp_dir = $temp_dir"
+ rlRun "echo \"$nss_db_password\" > $temp_dir/passwd_certdb"
+ rlRun "certutil -d $temp_dir -N -f $temp_dir/passwd_certdb"
+ rlRun "echo \"$CA_CLIENT_PKCS12_PASSWORD\" > $temp_dir/admin_p12_password"
+ local cmd="pk12util -i $admincert_p12file -d $temp_dir -w $temp_dir/admin_p12_password"
+ echo "set timeout 5" > $exp
+ echo "set force_conservative 0" >> $exp
+ echo "set send_slow {1 .1}" >> $exp
+ echo "spawn $cmd" >> $exp
+ echo 'expect "*Password*: "' >> $exp
+ echo "send -s -- \"$nss_db_password\r\"" >> $exp
+ echo 'expect eof ' >> $exp
+ rlLog "cat $exp"
+ /usr/bin/expect $exp > $tmpout 2>&1
+ if [ $? = 0 ]; then
+ cat $tmpout | grep "pk12util: PKCS12 IMPORT SUCCESSFUL"
+ if [ $? = 0 ]; then
+ rlPass "pk12util command executed successfully"
+ rlRun "certutil -L -d $temp_dir | grep $admin_cert_nickname" 0 "Verify Admin certificate is installed"
+ else
+ rlFail "ERROR: Admin certificate is not installed in $temp_dir"
+ rc=1
+ fi
+
+ else
+ rlFail "ERROR: pk12util execution failed."
+ fi
+ return $rc
+}
+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
diff --git a/tests/dogtag/shared/rhcs-install-shared.sh b/tests/dogtag/shared/rhcs-install-shared.sh
new file mode 100644
index 000000000..057c236e3
--- /dev/null
+++ b/tests/dogtag/shared/rhcs-install-shared.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+########################################################################
+# RHCS INSTALL SHARED LIBRARY
+#######################################################################
+# Includes:
+#
+# verifyInstallAttribute
+#
+######################################################################
+#######################################################################
+
+#########################################################################
+# verifyInstallAttribute Usage:
+# verifyInstallAttribute <command> <expected_msg>
+#######################################################################
+
+verifyInstallAttribute()
+{
+ install_output_file=$1
+ attribute=$2
+ value=$3
+ rc=0
+ rlLog "$FUNCNAME"
+ attribute="$attribute:"
+ myval=`cat $install_output_file | grep -i "$attribute $value" | xargs echo`
+ cat $install_output_file | grep -i "$attribute $value"
+ if [ $? -ne 0 ] ; then
+ rlLog "ERROR: subsystem installation verification failed: Value of $attribute - GOT: $myval EXPECTED: $value"
+ rc=1
+ else
+ rlLog "Value of $attribute for subsystem install is as expected - $myval"
+ fi
+ return $rc
+}
diff --git a/tests/dogtag/shared/rhcs-shared.sh b/tests/dogtag/shared/rhcs-shared.sh
new file mode 100755
index 000000000..c108014cd
--- /dev/null
+++ b/tests/dogtag/shared/rhcs-shared.sh
@@ -0,0 +1,426 @@
+#!/bin/sh
+
+########################################################################
+# RHCS SERVER SHARED LIBRARY
+#######################################################################
+# Includes:
+# verifyErrorMsg
+# submit_log
+# submit_instance_logs
+# submit_log <file>
+# submit_instance_logs <instance_name>
+# rhcs_start_instance <instance_name>
+# rhcs_stop_instance <instance_name>
+# runJava <java class> <input>
+# set_javapath
+# install_and_trust_CA_cert <ca_server_root> <nss_db_dir>
+# disable_ca_nonce <ca_server_root>
+# enable_ca_nonce <ca_server_root>
+# importP12File <P12FileLocation> <P12FilePassword> <nssdbDirectory> <nssdbPassword> <cert_nickname>
+#
+######################################################################
+#######################################################################
+
+#########################################################################
+# verifyErrorMsg Usage:
+# verifyErrorMsg <command> <expected_msg>
+#######################################################################
+
+verifyErrorMsg()
+{
+ local command="$1"
+ local expmsg=$2
+ local rc=0
+
+ rm -rf /tmp/errormsg.out /tmp/errormsg_clean.out
+ rlLog "Executing: $command"
+ $command
+ rc=$?
+ if [ $rc -eq 0 ] ; then
+ rlLog "ERROR: Expected \"$command\" to fail."
+ rc=1
+ else
+ rlLog "\"$command\" failed as expected."
+ $command 2> /tmp/errormsg.out
+ sed 's/"//g' /tmp/errormsg.out > /tmp/errormsg_clean.out
+ actual=`cat /tmp/errormsg_clean.out`
+ if [[ "$actual" = "$expmsg" ]] ; then
+ rlPass "Error message as expected: $actual"
+ return 0
+ else
+ rlFail "ERROR: Message not as expected. GOT: $actual EXP: $expmsg"
+ return 1
+ fi
+ fi
+
+ return $rc
+}
+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# rhcs_quick_uninstall
+# Usage: rhcs_quick_uninstall
+#
+# This will uninstall RHCS and related components.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+rhcs_quick_uninstall(){
+ echo "rhcs_quick_uninstall"
+ # Uninstall/unconfigure RHCS
+
+} #rhcs_quick_uninstall
+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# submit_log
+# Usage: submit_log <logfilename>
+#
+# This will backup and submit a log file to beaker. The backup file
+# submitted is named $LOGFILE.$DATE
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+submit_log(){
+ if [ $# -ne 1 ]; then
+ echo "Usage: $FUNCNAME <log filename>"
+ return 1
+ fi
+
+ if [ ! -d /tmp/logbackups ]; then
+ mkdir /tmp/logbackups
+ fi
+ local DATE=$(date +%Y%m%d-%H%M%S)
+ local LOGFILE=$1
+ local LOGBACK=$LOGFILE.$DATE
+ if [ -f $LOGFILE ]; then
+ rlLog "Backing up and submitting $LOGFILE"
+ cp $LOGFILE $LOGBACK
+ rhts-submit-log -l $LOGBACK
+ else
+ rlLog "Cannot file $LOGFILE"
+ fi
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# submit_instance_logs
+# Usage: submit_instance_logs <instance_name>
+#
+# This will rhts-submit various/all RHCS subsystem related log files to beaker for
+# debugging, troubleshooting, and/or record keeping
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+submit_instance_logs(){
+ INSTANCE_ID=$1
+ submit_log /var/log/$INSTANCE_ID-install.log
+ submit_log /var/lib/$INSTANCE_ID/logs/selftests.log
+ submit_log /var/lib/$INSTANCE_ID/logs/catalina.out
+ submit_log /var/lib/$INSTANCE_ID/logs/debug
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# rhcs_start_instance
+# Usage: rhcs_start_instance <instance_name>
+#
+# This will
+# start RHCS instance
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+rhcs_start_instance(){
+ INSTANCE_ID=$1
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlLog "Executing: systemctl start pki-tomcatd@pki-tomcat.service"
+ systemctl start pki-tomcatd@pki-tomcat.service
+ else
+ service $INSTANCE_ID start
+ fi
+ sleep 60
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# rhcs_stop_instance
+# Usage: rhcs_stop_instance <instance_name>
+#
+# This will
+# stop RHCS instance
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+rhcs_stop_instance(){
+ INSTANCE_ID=$1
+ echo $FLAVOR | grep "Fedora"
+ if [ $? -eq 0 ] ; then
+ rlLog "Executing: systemctl stop pki-tomcatd@pki-tomcat.service"
+ systemctl stop pki-tomcatd@pki-tomcat.service
+ else
+ service $INSTANCE_ID stop
+ fi
+ sleep 60
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# runJava
+# Usage: runJava <java class> <input>
+# This will execute the java classes
+# returns the output of the java program
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+runJava(){
+ javaclass="$1"
+ input_file="$2"
+ data=$(< $input_file)
+ input=`echo $data|tr '\n' ' '`
+ rlLog "input=$input"
+ command="$javaclass $input"
+ echo $CLASSPATH | grep "."
+ if [ $? -eq 0 ] ; then
+ rlRun "/usr/bin/java $command > /tmp/java_output.out"
+ else
+ rlRun "set_javapath"
+ rlRun "source /opt/rhqa_pki/env.sh"
+ rlRun "/usr/bin/java -cp \"$CLASSPATH\" $command > /tmp/java_output.out"
+ fi
+ cat /tmp/java_output.out
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# set_javapath
+# Usage: set_javapath
+# function to set java path
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+set_javapath(){
+ arch=`uname -p`
+ os_flavor=`uname -s`
+ classpath=""
+ echo $os_flavor | grep "Linux"
+ if [ $? -eq 0 ] ; then
+ echo $arch | grep "x86_64"
+ if [ $? -eq 0 ] ; then
+ classpath="./:/usr/lib64/java/jss4.jar:/usr/share/java/ldapjdk.jar:/usr/share/java/pki/pki-certsrv.jar:/usr/share/java/pki/pki-cmscore.jar:/usr/share/java/pki/pki-nsutil.jar:/usr/share/java/pki/pki-cmsutil.jar:/usr/share/java/pki/pki-tools.jar:/usr/share/java/xml-commons-resolver.jar:/usr/share/java/xerces-j2.jar:"
+ else
+ classpath="./:/usr/lib/java/jss4.jar:/usr/share/java/ldapjdk.jar:/usr/share/java/pki/pki-certsrv.jar:/usr/share/java/pki/pki-cmscore.jar:/usr/share/java/pki/pki-nsutil.jar:/usr/share/java/pki/pki-cmsutil.jar:/usr/share/java/pki/pki-tools.jar:/usr/share/java/xml-commons-resolver.jar:/usr/share/java/xerces-j2.jar:"
+ fi
+ echo "export CLASSPATH=$classpath" >> /opt/rhqa_pki/env.sh
+ return 0
+ else
+ rlLog "OS flavor is not Linux"
+ return 1
+ fi
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# install_and_trust_CA_cert
+# Usage: install_and_trust_CA_cert <ca_server_root> <nss-db-directory>
+#
+# This will check and install CA certificate in a given nss-db
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+install_and_trust_CA_cert(){
+ local ca_server_root="$1"
+ local nss_db_dir="$2"
+ local rc=0
+ ca_cert_nick=`cat $ca_server_root/conf/CS.cfg | grep "ca.cert.signing.nickname="| cut -d "=" -f 2`
+ ca_nss_dir="$ca_server_root/alias"
+ rlLog "CA cert nickname = $ca_cert_nick"
+ rlRun "certutil -d $ca_nss_dir -L -n \"$ca_cert_nick\" -a > $nss_db_dir/ca_cert.pem"
+ rlRun "certutil -d $nss_db_dir -A -n \"$ca_cert_nick\" -i $nss_db_dir/ca_cert.pem -t \"CT,CT,CT\" "
+}
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# install_and_trust_KRA_cert
+# Usage: install_and_trust_KRA_cert <kra_server_root> <nss-db-directory>
+#
+# This will check and install CA certificate in a given nss-db
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+install_and_trust_KRA_cert(){
+ local kra_server_root="$1"
+ local nss_db_dir="$2"
+ local rc=0
+ kra_cert_nick=`cat $kra_server_root/conf/CS.cfg | grep "kra.cert.subsystem.nickname="| cut -d "=" -f 2`
+ kra_nss_dir="$kra_server_root/alias"
+ rlLog "KRA cert nickname = $kra_cert_nick"
+ rlRun "certutil -d $kra_nss_dir -L -n \"$kra_cert_nick\" -a > $nss_db_dir/kra_cert.pem"
+ rlRun "certutil -d $nss_db_dir -A -n \"$kra_cert_nick\" -i $nss_db_dir/kra_cert.pem -t \"CT,CT,CT\" "
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# disable_ca_nonce
+# Usage: disable_ca_nonce <ca_server_root>
+#
+# Disable Nonce -- no session id required for command line requests
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+disable_ca_nonce(){
+ local ca_server_root=$1
+ local rc=0
+ rlLog "Configuring ca.enableNonces=false ..."
+ ca_config_file="$ca_server_root/conf/CS.cfg"
+ temp_file="$ca_config_file.temp"
+ search_string="ca.enableNonces=true"
+ replace_string="ca.enableNonces=false"
+ rlRun "sed 's/$search_string/$replace_string/g' $ca_config_file > $temp_file"
+ cp $temp_file $ca_config_file
+ chown pkiuser:pkiuser $ca_config_file
+ cat $ca_config_file | grep $replace_string
+ if [ $? -eq 0 ] ; then
+ rhcs_stop_instance
+ rhcs_start_instance
+ else
+ lLog "$ca_config_file did not get configured with $replace_string"
+ rc=1
+ fi
+ return $rc
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# enable_ca_nonce
+# Usage: enable_ca_nonce <ca_server_root>
+#
+# Enable Nonce -- session id is required for command line requests
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+enable_ca_nonce(){
+ local ca_server_root=$1
+ local rc=0
+ rlLog "Configuring ca.enableNonces=true ..."
+ ca_config_file="$ca_server_root/conf/CS.cfg"
+ temp_file="$ca_config_file.temp"
+ search_string="ca.enableNonces=false"
+ replace_string="ca.enableNonces=true"
+ rlRun "sed 's/$search_string/$replace_string/g' $ca_config_file > $temp_file"
+ cp $temp_file $ca_config_file
+ chown pkiuser:pkiuser $ca_config_file
+ cat $ca_config_file | grep $replace_string
+ if [ $? -eq 0 ] ; then
+ rhcs_stop_instance
+ rhcs_start_instance
+ else
+ rlLog "$ca_config_file did not get configured with $replace_string"
+ rc=1
+ fi
+ return $rc
+}
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# importP12File Usage:
+# importP12File <P12FileLocation> <P12FilePassword> <nssdbDirectory> <nssdbPassword> <cert_nickname>
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+importP12File()
+{
+ local cert_p12file=$1
+ local p12file_password=$2
+ local nssdb_dir=$3
+ local nss_db_password=$4
+ local cert_nickname=$5
+ local rc=0
+ exp=$nssdb_dir/expfile.out
+ tmpout=$nssdb_dir/tmpout.out
+
+ rlLog "cert_p12file = $cert_p12file"
+ rlLog "nss_db_dir = $nssdb_dir"
+ rlRun "echo \"$nss_db_password\" > $nssdb_dir/passwd_certdb"
+ rlRun "certutil -d $nssdb_dir -N -f $nssdb_dir/passwd_certdb"
+ rlRun "echo \"$p12file_password\" > $nssdb_dir/cert_p12_password"
+ local cmd="pk12util -i $cert_p12file -d $nssdb_dir -w $nssdb_dir/cert_p12_password"
+ echo "set timeout 5" > $exp
+ echo "set force_conservative 0" >> $exp
+ echo "set send_slow {1 .1}" >> $exp
+ echo "spawn $cmd" >> $exp
+ echo 'expect "*Password*: "' >> $exp
+ echo "send -s -- \"$nss_db_password\r\"" >> $exp
+ echo 'expect eof ' >> $exp
+ rlLog "cat $exp"
+ /usr/bin/expect $exp > $tmpout 2>&1
+ if [ $? = 0 ]; then
+ cat $tmpout | grep "pk12util: PKCS12 IMPORT SUCCESSFUL"
+ if [ $? = 0 ]; then
+ rlPass "pk12util command executed successfully"
+ rlRun "certutil -L -d $nssdb_dir | grep $cert_nickname" 0 "Verify certificate is installed"
+ else
+ rlFail "ERROR: Certificate is not installed in $nssdb_dir"
+ rc=1
+ fi
+
+ else
+ rlFail "ERROR: pk12util execution failed."
+ fi
+ return $rc
+}
+
+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# check_coredump
+# Usage: check_coredump
+#
+# This will check for any coredump messages in abrt output and try to
+# generate backtrace.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+check_coredump(){
+
+ /usr/bin/abrt-cli list | grep Directory | awk '{print $2}'
+ crashes=`/usr/bin/abrt-cli list | grep Directory | awk '{print $2}' | wc -l`
+ if [ $crashes -ne 0 ]; then
+ echo "Crash detected."
+ for dir in `/usr/bin/abrt-cli list | grep Directory | awk '{print $2}'`; do
+ cd $dir
+ /usr/bin/abrt-action-install-debuginfo -v;
+ /usr/bin/abrt-action-generate-backtrace -v;
+ /usr/bin/rhts-submit-log -l backtrace
+ /usr/bin/reporter-mailx -v
+ done
+ else
+ echo "No crash detected."
+ fi
+
+
+} #check_coredump
+
+#############################################################################
+# makereport Usage: (generates summary report)
+# makereport <full_path_and_name_for_report_location>
+#############################################################################
+
+makereport()
+{
+ #check_coredump
+ local report=$1
+ if [ -n "$report" ];then
+ touch $report
+ else
+ if [ ! -w "$report" ];then
+ report=/tmp/rhts.report.$RANDOM.txt
+ touch $report
+ else
+ touch $report
+ fi
+ fi
+ # capture the result and make a simple report
+ local total=`rlJournalPrintText | grep "RESULT" | wc -l`
+ local unfinished=`rlJournalPrintText | grep "RESULT" | grep "\[unfinished\]" | wc -l`
+ local pass=`rlJournalPrintText | grep "RESULT" | grep "\[ PASS \]" | wc -l`
+ local fail=`rlJournalPrintText | grep "RESULT" | grep "\[ FAIL \]" | wc -l`
+ local abort=`rlJournalPrintText | grep "RESULT" | grep "\[ ABORT \]" | wc -l`
+ if rlJournalPrintText | grep "^:: \[ FAIL \] :: RESULT: $"
+ then
+ total=$((total-1))
+ fail=$((fail-1))
+ fi
+ echo "========================== Final Pass/Fail Report ===========================" > $report
+ echo " Test Date: `date` " >> $report
+ echo " Total : [$total] " >> $report
+ echo " Passed: [$pass] " >> $report
+ echo " Failed: [$fail] " >> $report
+ echo " Unfinished: [$unfinished] " >> $report
+ echo " Abort : [$abort]" >> $report
+ echo " Crash : [$crashes]" >> $report
+ echo " ---------------------------------------------------------" >> $report
+ rlJournalPrintText | grep "RESULT" | grep "\[ PASS \]"| sed -e 's/:/ /g' -e 's/RESULT//g' >> $report
+ echo "" >> $report
+ rlJournalPrintText | grep "RESULT" | grep "\[ FAIL \]"| grep -v "^:: \[ FAIL \] :: RESULT: $" | sed -e 's/:/ /g' -e 's/RESULT//g' >> $report
+ echo "" >> $report
+ rlJournalPrintText | grep "RESULT" | grep "\[unfinished\]"| sed -e 's/:/ /g' -e 's/RESULT//g' >> $report
+ echo "" >> $report
+ rlJournalPrintText | grep "RESULT" | grep "\[ ABORT \]"| sed -e 's/:/ /g' -e 's/RESULT//g' >> $report
+ echo "===========================[$report]===============================" >> $report
+ cat $report
+ echo "[`date`] test summary report saved as: $report"
+ echo ""
+} #makereport
+
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
diff --git a/tests/dogtag/shared/runtest.sh b/tests/dogtag/shared/runtest.sh
new file mode 100755
index 000000000..c7f676b36
--- /dev/null
+++ b/tests/dogtag/shared/runtest.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /CoreOS/rhcs/shared
+# Description: CS shared libraries
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# Libraries Included:
+# rhcs-shared.sh
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Author: Asha Akkiangady <aakkiang@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing
+# to use, modify, copy, or redistribute it subject to the terms
+# and conditions of the GNU General Public License version 2.
+#
+# 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, write to the Free
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include rhts environment
+. /usr/bin/rhts-environment.sh
+. /usr/share/beakerlib/beakerlib.sh
+. /opt/rhqa_pki/rhcs-shared.sh
+. /opt/rhqa_pki/rhcs-install-shared.sh
+. /opt/rhqa_pki/pki-user-cli-lib.sh
+
+
+rlJournalStart
+ rlPhaseStartSetup "list files in /opt/rhqa_pki"
+ rlRun "export MASTER=hostname"
+ rlRun "ls /opt/rhqa_pki" 0 "Listing files in /opt/rhqa_pki"
+ rlPhaseEnd
+
+rlJournalPrintText
+report=/tmp/rhts.report.$RANDOM.txt
+makereport $report
+rhts-submit-log -l $report
+rlJournalEnd
diff --git a/tests/dogtag/shared/set-root-pw.exp b/tests/dogtag/shared/set-root-pw.exp
new file mode 100755
index 000000000..181219a27
--- /dev/null
+++ b/tests/dogtag/shared/set-root-pw.exp
@@ -0,0 +1,21 @@
+#!/usr/bin/expect -f
+
+set force_conservative 0 ;# set to 1 to force conservative mode even if
+ ;# script wasn't run conservatively originally
+if {$force_conservative} {
+ set send_slow {1 .1}
+ proc send {ignore arg} {
+ sleep .1
+ exp_send -s -- $arg
+ }
+}
+
+set timeout 50
+spawn /usr/bin/passwd
+match_max 100000
+#send -- "passwd root\r"
+expect "password: "
+send -- "redhat\r"
+expect "password: "
+send -- "redhat\r"
+expect eof