Add CI tests using the standard test interface
Adds tests according to the CI wiki [0] specifically the standard test interface in the spec [1]. [0] https://fedoraproject.org/wiki/CI [1] https://fedoraproject.org/wiki/Changes/InvokingTests Signed-off-by: Andrei Stepanov <astepano@redhat.com>
This commit is contained in:
parent
b2dab7f315
commit
c7e4ac606d
63
tests/non-root-user-download/Makefile
Normal file
63
tests/non-root-user-download/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/curl/Sanity/non-root-user-download
|
||||
# Description: various download methods with non-root user
|
||||
# Author: Karel Srot <ksrot@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/curl/Sanity/non-root-user-download
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Karel Srot <ksrot@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: various download methods with non-root user" >> $(METADATA)
|
||||
@echo "Type: Sanity" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: curl" >> $(METADATA)
|
||||
@echo "Requires: curl" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
3
tests/non-root-user-download/PURPOSE
Normal file
3
tests/non-root-user-download/PURPOSE
Normal file
@ -0,0 +1,3 @@
|
||||
PURPOSE of /CoreOS/curl/Sanity/non-root-user-download
|
||||
Description: various download methods with non-root user
|
||||
Author: Karel Srot <ksrot@redhat.com>
|
92
tests/non-root-user-download/runtest.sh
Normal file
92
tests/non-root-user-download/runtest.sh
Normal file
@ -0,0 +1,92 @@
|
||||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/curl/Sanity/non-root-user-download
|
||||
# Description: various download methods with non-root user
|
||||
# Author: Karel Srot <ksrot@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 Beaker environment
|
||||
. /usr/bin/rhts-environment.sh || exit 1
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="curl"
|
||||
|
||||
FTP_URL=ftp://ftp.scientificlinux.org/linux/fedora/releases/18/Live/x86_64/Fedora-18-x86_64-Live-CHECKSUM
|
||||
HTTP_URL=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/18/Live/x86_64/Fedora-18-x86_64-Live-CHECKSUM
|
||||
CONTENT=a276e06d244e04b765f0a35532d9036ad84f340b0bdcc32e0233a8fbc31d5bed
|
||||
PASSWORD=pAssw0rd
|
||||
OPTIONS=""
|
||||
rlIsRHEL 7 && OPTIONS="--insecure"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlRun "useradd -m curltester" 0 "Adding the test user"
|
||||
rlRun "echo $PASSWORD | passwd --stdin curltester" 0 "Setting the password for the test user"
|
||||
rlRun "su - curltester -c 'echo $CONTENT > ~/testfile'" 0 "Creating ~curltester/testfile"
|
||||
[ -d $HOME/.ssh ] || ( mkdir $HOME/.ssh && restorecon HOME/.ssh )
|
||||
rlFileBackup $HOME/.ssh/known_hosts /etc/hosts
|
||||
ssh-keygen -F localhost -f $HOME/.ssh/known_hosts || rlRun "ssh-keyscan localhost >> $HOME/.ssh/known_hosts"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "http download"
|
||||
rlRun "su - curltester -c 'curl $HTTP_URL' &> http.log"
|
||||
cat http.log
|
||||
rlAssertGrep "$CONTENT" http.log
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "ftp download"
|
||||
rlRun "su - curltester -c 'curl $FTP_URL' &> ftp.log"
|
||||
cat ftp.log
|
||||
rlAssertGrep "$CONTENT" ftp.log
|
||||
rlPhaseEnd
|
||||
|
||||
if ! rlIsRHEL 5; then
|
||||
# scp sftp not supported on RHEL5
|
||||
|
||||
rlPhaseStartTest "scp download"
|
||||
rlRun "curl -u curltester:$PASSWORD $OPTIONS scp://localhost/home/curltester/testfile &> scp.log"
|
||||
cat scp.log
|
||||
rlAssertGrep "$CONTENT" scp.log
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "sftp download"
|
||||
rlRun "curl -u curltester:$PASSWORD $OPTIONS sftp://localhost/home/curltester/testfile &> sftp.log"
|
||||
cat sftp.log
|
||||
rlAssertGrep "$CONTENT" sftp.log
|
||||
rlPhaseEnd
|
||||
|
||||
fi
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "rm -f $HOME/.ssh/known_hosts"
|
||||
rlFileRestore
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlRun "userdel -r --force curltester"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
64
tests/non-root-user-download/runtest.yml
Normal file
64
tests/non-root-user-download/runtest.yml
Normal file
@ -0,0 +1,64 @@
|
||||
- hosts: '{{ hosts | default("localhost") }}'
|
||||
vars:
|
||||
package: "curl"
|
||||
tasks:
|
||||
- name: "Set Content variables"
|
||||
set_fact:
|
||||
content: "a276e06d244e04b765f0a35532d9036ad84f340b0bdcc32e0233a8fbc31d5bed"
|
||||
password: "pAssw0rd"
|
||||
crypt_password: "$6$/5GE87XLYLLfB3qx$w84Kct34UZG/4buTSXWkaaVIsw2xGXSAdmnS2QYdG8TtRgTsBnHdFdSkhoy.tKIE6A6LKlxczIZjQbpB19k7B1"
|
||||
- name: "Create user curltester"
|
||||
user:
|
||||
name: "curltester"
|
||||
password: "{{ crypt_password }}"
|
||||
- name: "Copy testfile"
|
||||
copy:
|
||||
dest: "/home/curltester/testfile"
|
||||
content: "{{ content }}"
|
||||
- block:
|
||||
- name: "http download"
|
||||
command: "curl https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/18/Live/x86_64/Fedora-18-x86_64-Live-CHECKSUM"
|
||||
args:
|
||||
warn: false
|
||||
register: http
|
||||
become: yes
|
||||
become_user: curltester
|
||||
- name: "Compare http output"
|
||||
fail:
|
||||
msg: "{{ content }} not in {{ http.stdout }}"
|
||||
when: content not in http.stdout
|
||||
- name: "ftp download"
|
||||
command: "curl ftp://ftp.scientificlinux.org/linux/fedora/releases/18/Live/x86_64/Fedora-18-x86_64-Live-CHECKSUM"
|
||||
args:
|
||||
warn: false
|
||||
register: ftp
|
||||
become: yes
|
||||
become_user: curltester
|
||||
- name: "Compare ftp output"
|
||||
fail:
|
||||
msg: "{{ content }} not in {{ ftp.stdout }}"
|
||||
when: content not in ftp.stdout
|
||||
- name: "scp download"
|
||||
command: "curl -u curltester:{{ password }} --insecure scp://localhost/home/curltester/testfile"
|
||||
args:
|
||||
warn: false
|
||||
register: scp
|
||||
- name: "Compare scp output"
|
||||
fail:
|
||||
msg: "{{ content }} not in {{ scp.stdout }}"
|
||||
when: content not in scp.stdout
|
||||
- name: "sftp download"
|
||||
command: "curl -u curltester:{{ password }} --insecure sftp://localhost/home/curltester/testfile"
|
||||
args:
|
||||
warn: false
|
||||
register: sftp
|
||||
- name: "Compare sftp output"
|
||||
fail:
|
||||
msg: "{{ content }} not in {{ sftp.stdout }}"
|
||||
when: content not in sftp.stdout
|
||||
always:
|
||||
- name: "Remove user curltester"
|
||||
user:
|
||||
name: "curltester"
|
||||
remove: yes
|
||||
state: absent
|
63
tests/scp-and-sftp-download-test/Makefile
Normal file
63
tests/scp-and-sftp-download-test/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/curl/Sanity/scp-and-sftp-download-test
|
||||
# Description: downloads test file through scp and sftp
|
||||
# Author: Karel Srot <ksrot@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2012 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/curl/Sanity/scp-and-sftp-download-test
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Karel Srot <ksrot@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: downloads test file through scp and sftp" >> $(METADATA)
|
||||
@echo "Type: Sanity" >> $(METADATA)
|
||||
@echo "TestTime: 10m" >> $(METADATA)
|
||||
@echo "RunFor: curl" >> $(METADATA)
|
||||
@echo "Requires: curl openssh" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
12
tests/scp-and-sftp-download-test/PURPOSE
Normal file
12
tests/scp-and-sftp-download-test/PURPOSE
Normal file
@ -0,0 +1,12 @@
|
||||
PURPOSE of /CoreOS/curl/Sanity/scp-and-sftp-download-test
|
||||
Description: downloads test file through scp and sftp
|
||||
Author: Karel Srot <ksrot@redhat.com>
|
||||
|
||||
Test scenario:
|
||||
- scp download
|
||||
- sftp download
|
||||
- scp upload
|
||||
- sftp upload
|
||||
|
||||
When PUBKEY_PARAM global variable is set to 'empty' or 'none', scenarios are executed
|
||||
with empty --pubkey parameter (--pubkey "") or with the paramiter omitted
|
130
tests/scp-and-sftp-download-test/runtest.sh
Normal file
130
tests/scp-and-sftp-download-test/runtest.sh
Normal file
@ -0,0 +1,130 @@
|
||||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/curl/Sanity/scp-and-sftp-download-test
|
||||
# Description: downloads test file through scp and sftp
|
||||
# Author: Karel Srot <ksrot@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2012 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 Beaker environment
|
||||
. /usr/bin/rhts-environment.sh
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="curl"
|
||||
|
||||
# GLOBAL/ENVIRONMENT VARIABLE:
|
||||
# PUBKEY_PARAM
|
||||
|
||||
if [ "$PUBKEY_PARAM" == 'none' ]; then
|
||||
PUBKEY_PARAM=""
|
||||
elif [ "$PUBKEY_PARAM" == 'empty' ]; then
|
||||
PUBKEY_PARAM="--pubkey ''"
|
||||
else
|
||||
PUBKEY_PARAM='--pubkey /root/.ssh/id_rsa.pub'
|
||||
fi
|
||||
|
||||
FILESIZE=200 #MB
|
||||
OPTIONS=""
|
||||
rlIsRHEL 7 && OPTIONS="--insecure"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlFileBackup --clean /root/.ssh/known_hosts /root/.ssh
|
||||
rlFileBackup --clean /etc/ssh/sshd_config
|
||||
rlRun "useradd -m curltestuser"
|
||||
|
||||
# In FIPS-140 we need to explicitly allow one of libssh2-implemented
|
||||
# Kex algorithms (eg. DH14-SHA1).
|
||||
rlRun "echo 'KexAlgorithms +diffie-hellman-group14-sha1' >> /etc/ssh/sshd_config" 0
|
||||
rlServiceStop "sshd"
|
||||
rlRun "service sshd start && sleep 5" 0
|
||||
|
||||
# file for download test
|
||||
rlRun "su - curltestuser -c 'dd if=/dev/zero of=testfile bs=1M count=200'" 0 "Creating $FILESIZE MB large test file"
|
||||
SUM=`sha256sum /home/curltestuser/testfile | cut -d ' ' -f 1`
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlRun "rm -vf /root/.ssh/*"
|
||||
rlRun "ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''" 0 "Generate ssh key"
|
||||
rlRun "mkdir /home/curltestuser/.ssh && cat /root/.ssh/id_rsa.pub > /home/curltestuser/.ssh/authorized_keys && chown -R curltestuser.curltestuser /home/curltestuser/.ssh/" 0 "Save the key to .ssh/authorized_keys"
|
||||
|
||||
# this is a workaround as libssh2 is not able to use newer hashes
|
||||
#rlRun "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/root/.ssh/known_hosts curltestuser@localhost 'exit'" 0 "First ssh login to add localhost to known_hosts"
|
||||
rlRun "ssh-keyscan localhost >>/root/.ssh/known_hosts"
|
||||
|
||||
# files for upload test
|
||||
rlRun "dd if=/dev/zero of=uploadfile1 bs=1M count=50" 0 "Creating 50 MB large test file"
|
||||
UPSUM1=`sha256sum uploadfile1 | cut -d ' ' -f 1`
|
||||
rlRun "dd if=/dev/zero of=uploadfile2 bs=1M count=20" 0 "Creating 20 MB large test file"
|
||||
UPSUM2=`sha256sum uploadfile2 | cut -d ' ' -f 1`
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "scp download test"
|
||||
rlRun "curl -o ./scp_file -u curltestuser: --key /root/.ssh/id_rsa $PUBKEY_PARAM $OPTIONS scp://localhost/home/curltestuser/testfile" 0 "Initiate curl scp download"
|
||||
rlAssertExists scp_file
|
||||
SCPSUM=`sha256sum ./scp_file | cut -d ' ' -f 1`
|
||||
rlAssertEquals "Checking that whole file was properly downloaded" $SUM $SCPSUM
|
||||
rm -f ./scp_file
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "sftp download test"
|
||||
rlRun "curl -o ./sftp_file -u curltestuser: --key /root/.ssh/id_rsa $PUBKEY_PARAM $OPTIONS sftp://localhost/home/curltestuser/testfile" 0 "Initiate curl scp download"
|
||||
rlAssertExists sftp_file
|
||||
SFTPSUM=`sha256sum ./sftp_file | cut -d ' ' -f 1`
|
||||
rlAssertEquals "Checking that whole file was properly downloaded" $SUM $SFTPSUM
|
||||
rm -f ./sftp_file
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "scp upload test"
|
||||
rlRun "curl -T '{uploadfile1,uploadfile2}' scp://localhost/home/curltestuser/ -u curltestuser: --key /root/.ssh/id_rsa $PUBKEY_PARAM $OPTIONS" 0 "Initiate curl scp upload"
|
||||
rlAssertExists /home/curltestuser/uploadfile1
|
||||
rlAssertExists /home/curltestuser/uploadfile2
|
||||
SCPUPSUM1=`sha256sum /home/curltestuser/uploadfile1 | cut -d ' ' -f 1`
|
||||
SCPUPSUM2=`sha256sum /home/curltestuser/uploadfile2 | cut -d ' ' -f 1`
|
||||
rlAssertEquals "Checking that 1st file was properly uploaded" ${UPSUM1} ${SCPUPSUM1}
|
||||
rlAssertEquals "Checking that 2nd file was properly uploaded" ${UPSUM2} ${SCPUPSUM2}
|
||||
rm -f /home/curltestuser/uploadfile1 /home/curltestuser/uploadfile2
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "sftp upload test"
|
||||
rlRun "curl -T '{uploadfile1,uploadfile2}' sftp://localhost/home/curltestuser/ -u curltestuser: --key /root/.ssh/id_rsa $PUBKEY_PARAM $OPTIONS" 0 "Initiate curl sftp upload"
|
||||
rlAssertExists /home/curltestuser/uploadfile1
|
||||
rlAssertExists /home/curltestuser/uploadfile2
|
||||
SFTPUPSUM1=`sha256sum /home/curltestuser/uploadfile1 | cut -d ' ' -f 1`
|
||||
SFTPUPSUM2=`sha256sum /home/curltestuser/uploadfile2 | cut -d ' ' -f 1`
|
||||
rlAssertEquals "Checking that 1st file was properly uploaded" ${UPSUM1} ${SFTPUPSUM1}
|
||||
rlAssertEquals "Checking that 2nd file was properly uploaded" ${UPSUM2} ${SFTPUPSUM2}
|
||||
rm -f /home/curltestuser/uploadfile1 /home/curltestuser/uploadfile2
|
||||
rlPhaseEnd
|
||||
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "userdel -r --force curltestuser"
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlFileRestore
|
||||
rlServiceRestore "sshd"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
26
tests/tests.yml
Normal file
26
tests/tests.yml
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
# Tests for Classic
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- classic
|
||||
tests:
|
||||
- scp-and-sftp-download-test
|
||||
- non-root-user-download
|
||||
required_packages:
|
||||
- findutils # non-root-user-download needs find command
|
||||
# scp-and-sftp-download-test needs find command
|
||||
- passwd # non-root-user-download needs passwd command
|
||||
- openssh-clients # non-root-user-download needs ssh-keyscan command
|
||||
|
||||
# Tests for Atomic
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- atomic
|
||||
tests:
|
||||
- scp-and-sftp-download-test
|
||||
- non-root-user-download
|
||||
|
Loading…
Reference in New Issue
Block a user