From 83df9808b4d533473da51c819c88214a406c5cb9 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Sat, 6 Aug 2016 01:45:15 +0200 Subject: Add tests for the restore command Test the restore mode of git-serve and git-update. Signed-off-by: Lukas Fleischer --- git-interface/test/t0002-serve.sh | 17 +++++++++++++++++ git-interface/test/t0003-update.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/git-interface/test/t0002-serve.sh b/git-interface/test/t0002-serve.sh index f36f1d8..52fdcd1 100755 --- a/git-interface/test/t0002-serve.sh +++ b/git-interface/test/t0002-serve.sh @@ -85,4 +85,21 @@ test_expect_success "Try to push to someone else's repository as Trusted User." test_cmp expected actual ' +test_expect_success "Test restore." ' + echo "DELETE FROM PackageBases WHERE Name = \"foobar\";" | \ + sqlite3 aur.db && + cat >expected <<-EOF && + user + foobar + EOF + SSH_ORIGINAL_COMMAND="restore foobar" AUR_USER=user AUR_PRIVILEGED=0 \ + "$GIT_SERVE" 2>&1 >actual + test_cmp expected actual +' + +test_expect_success "Try to restore an existing package base." ' + SSH_ORIGINAL_COMMAND="restore foobar2" AUR_USER=user AUR_PRIVILEGED=0 \ + test_must_fail "$GIT_SERVE" 2>&1 +' + test_done diff --git a/git-interface/test/t0003-update.sh b/git-interface/test/t0003-update.sh index 810b860..81c5687 100755 --- a/git-interface/test/t0003-update.sh +++ b/git-interface/test/t0003-update.sh @@ -85,6 +85,35 @@ test_expect_success 'Test update hook on an updated repository.' ' test_cmp expected actual ' +test_expect_success 'Test restore mode.' ' + AUR_USER=user AUR_PKGBASE=foobar AUR_PRIVILEGED=0 \ + "$GIT_UPDATE" restore 2>&1 && + cat >expected <<-EOF && + 2|2|foobar2|1-1|aurweb test package.|https://aur.archlinux.org/ + 3|1|foobar|1-2|aurweb test package.|https://aur.archlinux.org/ + 1|GPL + 2|MIT + 2|2 + 3|1 + 2|1|python-pygit2|| + 3|1|python-pygit2|| + 1|1 + 2|1 + EOF + >actual && + for t in Packages Licenses PackageLicenses Groups PackageGroups \ + PackageDepends PackageRelations PackageSources \ + PackageNotifications; do + echo "SELECT * FROM $t;" | sqlite3 aur.db >>actual + done && + test_cmp expected actual +' + +test_expect_success 'Test restore mode on a non-existent repository.' ' + AUR_USER=user AUR_PKGBASE=foobar3 AUR_PRIVILEGED=0 \ + test_must_fail "$GIT_UPDATE" restore 2>&1 +' + test_expect_success 'Pushing to a branch other than master.' ' old=0000000000000000000000000000000000000000 && new=$(git -C aur.git rev-parse HEAD) && -- cgit v1.2.3-54-g00ecf