Skip to content

Commit

Permalink
Add a new test ftp-proxy
Browse files Browse the repository at this point in the history
Test if FTP installation with `inst.proxy` works as expected.

To be able to support this we need to allow more ports in the squid.
  • Loading branch information
jkonecny12 committed Nov 26, 2024
1 parent b723c23 commit cbe443b
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 0 deletions.
22 changes: 22 additions & 0 deletions ftp-proxy.ks.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#test name: basic-ftp
url --url=@KSTEST_FTP_URL@
network --bootproto=dhcp

bootloader --timeout=1
zerombr
clearpart --all
autopart

keyboard us
lang en
timezone America/New_York
rootpw qweqwe
shutdown

%packages
%end

%post
# If we made it post, that's good enough
echo SUCCESS > /root/RESULT
%end
60 changes: 60 additions & 0 deletions ftp-proxy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/bin/bash
#
# Copyright (C) 2015 Red Hat, Inc.
#
# 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 v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties 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. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.

# Ignore unused variable parsed out by tooling scripts as test tags metadata
# shellcheck disable=SC2034
TESTTYPE="method ftp proxy"

. ${KSTESTDIR}/functions.sh

kernel_args() {
proxy_url="$(cat ${tmpdir}/proxy_url)"
echo ${DEFAULT_BOOTOPTS} inst.proxy=${proxy_url}
}

prepare() {
ks=$1
tmpdir=$2

# Start a proxy server
start_proxy ${tmpdir}/proxy

cp ${ks} ${tmpdir}/kickstart.ks
echo ${tmpdir}/kickstart.ks
}

validate() {
tmpdir=$1
validate_RESULT $tmpdir
if [ ! -f $tmpdir/RESULT ]; then
return 1
fi

grep -q "$KSTEST_FTP_URL" $tmpdir/proxy/access.log
if [[ $? -ne 0 ]]; then
echo 'FTP URL server request was not proxied' >> $tmpdir/RESULT
fi

# check for .treeinfo request
grep -q '\.treeinfo[[:space:]]' $tmpdir/proxy/access.log
if [[ $? -ne 0 ]]; then
echo '.treeinfo request to repository server was not proxied' >> $tmpdir/RESULT
fi

check_result_file "$tmpdir"
}
2 changes: 2 additions & 0 deletions scripts/confs/squid.conf
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl Safe_ports port 40000-41000 # our_http
acl Safe_ports port 20 # ftp
acl Safe_ports port 21 # ftp
acl CONNECT method CONNECT

#
Expand Down

0 comments on commit cbe443b

Please sign in to comment.