Skip to content

Commit

Permalink
test_session_record_pipe_io_stdin: remove sshpass
Browse files Browse the repository at this point in the history
Removing reliance on sshpass by adding code in setup to generate an
ssh key and use it in the test code.
  • Loading branch information
spoore1 authored and justin-stephenson committed Jul 11, 2024
1 parent eabd52b commit 58ab3f1
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 5 deletions.
12 changes: 8 additions & 4 deletions lib/tlitest/test_tlog_rec_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,10 +217,14 @@ def test_session_record_pipe_io_stdin(self):
"""
text_in_stdio = 'print("hello world")\n'
text_out = "hello world"
p = Popen(['sshpass', '-p', 'Secret123', 'ssh', '-o',
'StrictHostKeyChecking=no',
'tlitestlocaluser2@localhost', 'python3'],
stdout=PIPE, stdin=PIPE, stderr=PIPE, encoding='utf8')

sessionclass = TlogRecSessionConfig(writer="syslog")
sessionclass.generate_config(SYSTEM_TLOG_REC_SESSION_CONF)

p = Popen(['ssh', '-i', f'~/.ssh/id_rsa_{self.user}',
'-o', 'StrictHostKeyChecking=no',
f'{self.user}@localhost', 'python3'],
stdout=PIPE, stdin=PIPE, stderr=PIPE, encoding='utf8')
stdout_data = p.communicate(input=text_in_stdio)[0]
assert text_out in stdout_data

Expand Down
10 changes: 9 additions & 1 deletion src/tlitest/tlitest-setup
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ python3-pytest
python3-pexpect
python3-systemd
tcsh
sshpass
"

[[ -z "${CONTAINER_ENV}" ]] && PKGS+="tlog"
Expand Down Expand Up @@ -61,3 +60,12 @@ echo "%wheel ALL=(ALL) NOPASSWD: ALL" > \
usermod tlitestlocaladmin1 -aG wheel,systemd-journal
usermod tlitestlocaluser1 -aG systemd-journal
usermod tlitestlocaluser2 -s /usr/bin/tlog-rec-session

# Generate ssh key for testing
user="tlitestlocaluser2"
rm -rf ~/.ssh/id_rsa_${user}*
ssh-keygen -t rsa -b 2048 -N "" -C stdin_test -f ~/.ssh/id_rsa_${user}
user_dir=$(eval echo "~${user}")
mkdir -p ${user_dir}/.ssh
cat ~/.ssh/id_rsa_${user}.pub >> ${user_dir}/.ssh/authorized_keys
chown -R ${user}:${user} ${user_dir}/.ssh
5 changes: 5 additions & 0 deletions src/tlitest/tlitest-teardown
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,8 @@ if [ -f /etc/sudoers.d/01_wheel_nopass_tlitest ]; then
echo "Found test sudoers file...removing"
rm /etc/sudoers.d/01_wheel_nopass_tlitest
fi

user="tlitestlocaluser2"
if [ -f ~/.ssh/id_rsa_${user} ]; then
rm -rf ~/.ssh/id_rsa_${user}*
fi

0 comments on commit 58ab3f1

Please sign in to comment.