[ostree] tests: Add a test-pull-summary-sigs



commit ee9b98e9d75946b2ea678545a9f660f3af3b0220
Author: Colin Walters <walters verbum org>
Date:   Mon Jun 1 18:40:44 2015 -0400

    tests: Add a test-pull-summary-sigs
    
    This is intended to cover non-mirroring usage of GPG + summary +
    deltas.

 Makefile-tests.am               |    1 +
 tests/test-pull-summary-sigs.sh |   81 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 0 deletions(-)
---
diff --git a/Makefile-tests.am b/Makefile-tests.am
index 68dcb9b..29fc41c 100644
--- a/Makefile-tests.am
+++ b/Makefile-tests.am
@@ -35,6 +35,7 @@ testfiles = test-basic \
        test-pull-mirror-summary \
        test-pull-large-metadata \
        test-pull-metalink \
+       test-pull-summary-sigs \
        test-pull-resume \
        test-gpg-signed-commit \
        test-admin-upgrade-unconfigured \
diff --git a/tests/test-pull-summary-sigs.sh b/tests/test-pull-summary-sigs.sh
new file mode 100644
index 0000000..a57a9eb
--- /dev/null
+++ b/tests/test-pull-summary-sigs.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+#
+# Copyright (C) 2014 Colin Walters <walters verbum org>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+set -e
+
+. $(dirname $0)/libtest.sh
+
+COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
+setup_fake_remote_repo1 "archive-z2" "${COMMIT_SIGN}"
+
+# Now, setup multiple branches
+mkdir ${test_tmpdir}/ostree-srv/other-files
+cd ${test_tmpdir}/ostree-srv/other-files
+echo 'hello world another object' > hello-world
+ostree  --repo=${test_tmpdir}/ostree-srv/gnomerepo commit ${COMMIT_SIGN} -b other -s "A commit" -m "Another 
Commit body"
+
+mkdir ${test_tmpdir}/ostree-srv/yet-other-files
+cd ${test_tmpdir}/ostree-srv/yet-other-files
+echo 'hello world yet another object' > yet-another-hello-world
+ostree  --repo=${test_tmpdir}/ostree-srv/gnomerepo commit ${COMMIT_SIGN} -b yet-another -s "A commit" -m 
"Another Commit body"
+
+ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo summary -u
+
+prev_dir=`pwd`
+cd ${test_tmpdir}
+ostree --repo=repo init --mode=archive-z2
+ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
+ostree --repo=repo pull --mirror origin
+assert_has_file repo/summary
+ostree --repo=repo checkout -U main main-copy
+assert_file_has_content main-copy/baz/cow "moo"
+ostree --repo=repo checkout -U other other-copy
+assert_file_has_content other-copy/hello-world "hello world another object"
+ostree --repo=repo checkout -U yet-another yet-another-copy
+assert_file_has_content yet-another-copy/yet-another-hello-world "hello world yet another object"
+ostree --repo=repo fsck
+echo "ok pull mirror summary"
+
+if ! ${CMD_PREFIX} ostree --version | grep -q -e '\+gpgme'; then
+    exit 0;
+fi
+
+cd $prev_dir
+
+${OSTREE} --repo=${test_tmpdir}/ostree-srv/gnomerepo summary -u ${COMMIT_SIGN}
+
+cd ${test_tmpdir}
+rm -rf repo
+mkdir repo
+${OSTREE} --repo=repo init --mode=archive-z2
+${OSTREE} --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo
+${OSTREE} --repo=repo pull origin main
+echo "ok pull with signed summary"
+
+# Generate a delta
+${OSTREE} --repo=${test_tmpdir}/ostree-srv/gnomerepo static-delta generate --empty main
+${OSTREE} --repo=${test_tmpdir}/ostree-srv/gnomerepo summary -u ${COMMIT_SIGN}
+
+cd ${test_tmpdir}
+rm -rf repo
+mkdir repo
+${OSTREE} --repo=repo init --mode=archive-z2
+${OSTREE} --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo
+${OSTREE} --repo=repo pull origin main
+echo "ok pull delta with signed summary"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]