From 2326f0c4ef57d24b94e5a150da6568bd467c1164 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 15 Jun 2022 10:55:55 +0200 Subject: [PATCH] tests: refactor abuild-keygen tests --- tests/abuild-keygen.bats | 43 --------------------- tests/abuild_keygen_test | 81 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 43 deletions(-) delete mode 100644 tests/abuild-keygen.bats create mode 100755 tests/abuild_keygen_test diff --git a/tests/abuild-keygen.bats b/tests/abuild-keygen.bats deleted file mode 100644 index cc75166..0000000 --- a/tests/abuild-keygen.bats +++ /dev/null @@ -1,43 +0,0 @@ -setup() { - export ABUILD_KEYGEN="$PWD/../abuild-keygen" - export ABUILD_SHAREDIR="$PWD/.." - export ABUILD_USERDIR="$BATS_TEST_TMPDIR"/user - mkdir -p "$ABUILD_USERDIR" - export abuild_keygen_install_root=${ABUILD_USERDIR} - - # provide a fake git - mkdir -p "$BATS_TEST_TMPDIR"/bin - cat >"$BATS_TEST_TMPDIR"/bin/git <<-EOF - #!/bin/sh - exit 1 - EOF - chmod +x "$BATS_TEST_TMPDIR"/bin/git - export PATH="$BATS_TEST_TMPDIR/bin:$PATH" -} - -@test "abuild-keygen: help text" { - $ABUILD_KEYGEN --help -} - -@test "abuild-keygen: generate key non-interactively" { - $ABUILD_KEYGEN -n -} - -@test "abuild-keygen: --append option" { - PACKAGER="Test User " $ABUILD_KEYGEN --append -n - grep '^PACKAGER_PRIVKEY=.*user@example.com' "$ABUILD_USERDIR"/abuild.conf -} - -@test "abuild-keygen: --install option fails without SUDO" { - run SUDO=false $ABUILD_KEYGEN --install - [ $status -ne 0 ] -} - -@test "abuild-keygen: --install option (interactive)" { - echo | SUDO= $ABUILD_KEYGEN --install -} - -@test "abuild-keygen: --install -n (non-interacive)" { - SUDO= $ABUILD_KEYGEN --install -n -} - diff --git a/tests/abuild_keygen_test b/tests/abuild_keygen_test new file mode 100755 index 0000000..5c97d68 --- /dev/null +++ b/tests/abuild_keygen_test @@ -0,0 +1,81 @@ +#!/usr/bin/env atf-sh + +. $(atf_get_srcdir)/test_env.sh +init_tests \ + abuild_keygen_help \ + abuild_keygen_invalid_opts \ + abuild_keygen_invalid_arg \ + abuild_keygen_non_interactive \ + abuild_keygen_append \ + abuild_keygen_install_without_sudo \ + abuild_keygen_install_interactive \ + abuild_keygen_install_non_interactive + +export ABUILD_SHAREDIR=$(atf_get_srcdir)/.. +export GIT=false + +abuild_keygen_help_body() { + atf_check -s exit:0 \ + -o not-empty \ + -e empty \ + abuild-keygen --help +} + +abuild_keygen_invalid_opts_body() { + atf_check -s exit:1 \ + -o empty \ + -e not-empty \ + abuild-keygen -INVALID +} + +abuild_keygen_invalid_arg_body() { + atf_check -s exit:2 \ + -o empty \ + -e not-empty \ + abuild-keygen INVALID +} + +abuild_keygen_non_interactive_body() { + atf_check -s exit:0 \ + -o empty \ + -e match:"Generating RSA.*4096" \ + abuild-keygen -n +} + +abuild_keygen_append_body() { + PACKAGER="Test User " \ + atf_check -s exit:0 \ + \ + -o empty \ + -e match:"Generating RSA" \ + abuild-keygen --append -n + grep '^PACKAGER_PRIVKEY=.*user@example.com' "$HOME"/.abuild/abuild.conf \ + || atf_fail 'PACKAGER_PRIVKEY not set in abuild.conf' +} + +abuild_keygen_install_without_sudo_body() { + SUDO=false \ + atf_check -s exit:1 \ + \ + -o empty \ + -e match:"Generating RSA" \ + abuild-keygen --install -n +} + +abuild_keygen_install_interactive_body() { + echo | abuild_keygen_install_root="$PWD" SUDO= \ + atf_check -s exit:0 \ + \ + -o match:"Enter file" \ + -e match:"Generating RSA" \ + abuild-keygen --install +} + +abuild_keygen_install_non_interactive_body() { + abuild_keygen_install_root="$PWD" SUDO= \ + atf_check -s exit:0 \ + \ + -o empty \ + -e match:"Generating RSA" \ + abuild-keygen --install -n +}