diff options
Diffstat (limited to 'test/cases/librerelease.bats')
-rw-r--r-- | test/cases/librerelease.bats | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/cases/librerelease.bats b/test/cases/librerelease.bats new file mode 100644 index 0000000..5ffbb14 --- /dev/null +++ b/test/cases/librerelease.bats @@ -0,0 +1,53 @@ +#!/usr/bin/env roundup + +describe librerelease +. ./test-common.sh + +it_displays_usage_text() { + rm -rf "$XDG_CONFIG_HOME" + LC_ALL=C librerelease -h >"$tmpdir/stdout" 2>"$tmpdir/stderr" + + [[ "$(sed 1q "$tmpdir/stdout")" =~ Usage:.* ]] + empty "$tmpdir/stderr" +} + +it_lists_all_files() { + WORKDIR="$tmpdir/workdir" + mkdir -p "$WORKDIR/staging/repo1" "$WORKDIR/staging/repo2/sub" + touch \ + "$WORKDIR/staging/repo1/file1" \ + "$WORKDIR/staging/repo1/file2" \ + "$WORKDIR/staging/repo2/file with spaces" \ + "$WORKDIR/staging/repo2/sub/subfolder" + unset WORKDIR + LC_ALL=C librerelease -l &>"$tmpdir/list" || { status=$?; cat "$tmpdir/list"; return $status; } + + cat > "$tmpdir/list-correct" <<-eot + -> repo1 + file1 + file2 + -> repo2 + file with spaces + sub/subfolder + eot + + diff "$tmpdir/list-correct" "$tmpdir/list" +} + +it_fails_if_gpgkey_not_set() { + unset GPGKEY + + WORKDIR="$tmpdir/workdir" + mkdir -p "$WORKDIR/staging/repo1" "$WORKDIR/staging/repo2/sub" + touch \ + "$WORKDIR/staging/repo1/file1" \ + "$WORKDIR/staging/repo1/file2" \ + "$WORKDIR/staging/repo2/file with spaces" \ + "$WORKDIR/staging/repo2/sub/subfolder" + unset WORKDIR + LC_ALL=C librerelease -l >"$tmpdir/stdout" 2>"$tmpdir/stderr" || status=$? + + [[ $status != 0 ]] + empty "$tmpdir/stdout" + grep GPGKEY "$tmpdir/stderr" +} |