diff options
author | Lukas Fleischer <lfleischer@archlinux.org> | 2016-08-06 01:45:15 +0200 |
---|---|---|
committer | Lukas Fleischer <lfleischer@archlinux.org> | 2016-08-06 01:50:17 +0200 |
commit | 83df9808b4d533473da51c819c88214a406c5cb9 (patch) | |
tree | e43b392c9030b2dddb25a94471e8b7eb161fdf41 /git-interface/test | |
parent | dd9c6f3ddca37479ce14425c0a82a4b46d7a727a (diff) | |
download | aurweb-83df9808b4d533473da51c819c88214a406c5cb9.tar.xz |
Add tests for the restore command
Test the restore mode of git-serve and git-update.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'git-interface/test')
-rwxr-xr-x | git-interface/test/t0002-serve.sh | 17 | ||||
-rwxr-xr-x | git-interface/test/t0003-update.sh | 29 |
2 files changed, 46 insertions, 0 deletions
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) && |