summaryrefslogtreecommitdiff
path: root/tests/test-delta-ed25519.sh
diff options
context:
space:
mode:
authorFrédéric Danis <frederic.danis@collabora.com>2020-08-21 17:24:49 +0200
committerFrédéric Danis <frederic.danis@collabora.com>2020-09-14 09:27:19 +0200
commitecbfe08ec75497767b76a962319f7bff6449da0b (patch)
tree6ca1b6680cfcfc2eb0fb20d1b2eab775ad582ffc /tests/test-delta-ed25519.sh
parent2e97f5659ffdc52bcdd5906d2e98fb1013b3c2cd (diff)
downloadostree-ecbfe08ec75497767b76a962319f7bff6449da0b.tar.gz
tests/delta: Add new tests for applying signed deltas
Add new test to apply offline signed deltas. Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
Diffstat (limited to 'tests/test-delta-ed25519.sh')
-rwxr-xr-xtests/test-delta-ed25519.sh41
1 files changed, 40 insertions, 1 deletions
diff --git a/tests/test-delta-ed25519.sh b/tests/test-delta-ed25519.sh
index e50b9763..ef732cf9 100755
--- a/tests/test-delta-ed25519.sh
+++ b/tests/test-delta-ed25519.sh
@@ -29,7 +29,7 @@ skip_without_sign_ed25519
bindatafiles="bash true ostree"
-echo '1..9'
+echo '1..12'
mkdir repo
ostree_repo_init repo --mode=archive
@@ -281,3 +281,42 @@ ${CMD_PREFIX} ostree --repo=repo static-delta verify --sign-type=ed25519 ${origr
assert_file_has_content show-ed25519-multiplekeys-inline-signed-4.txt "Verification OK"
echo 'ok verified with ed25519 (multiple keys)'
+
+rm -rf repo2
+ostree_repo_init repo2 --mode=bare-user
+
+${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${origrev}
+${CMD_PREFIX} ostree --repo=repo2 ls ${origrev} >/dev/null
+${CMD_PREFIX} ostree --repo=repo2 static-delta apply-offline --sign-type=ed25519 --keys-file=${PUBKEYS} repo/deltas/${deltaprefix}/${deltadir}
+${CMD_PREFIX} ostree --repo=repo2 fsck
+${CMD_PREFIX} ostree --repo=repo2 ls ${newrev} >/dev/null
+
+echo 'ok apply offline with ed25519 (keyfile)'
+
+mkdir -p ${test_tmpdir}/{trusted,revoked}.ed25519.d
+
+rm -rf repo2
+ostree_repo_init repo2 --mode=bare-user
+
+echo ${PUBLIC} > ${test_tmpdir}/trusted.ed25519.d/correct
+${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${origrev}
+${CMD_PREFIX} ostree --repo=repo2 ls ${origrev} >/dev/null
+${CMD_PREFIX} ostree --repo=repo2 static-delta apply-offline --keys-dir=${test_tmpdir} repo/deltas/${deltaprefix}/${deltadir}
+${CMD_PREFIX} ostree --repo=repo2 fsck
+${CMD_PREFIX} ostree --repo=repo2 ls ${newrev} >/dev/null
+
+echo 'ok apply offline with ed25519 (keydir)'
+
+rm -rf repo2
+ostree_repo_init repo2 --mode=bare-user
+
+echo ${PUBLIC} > ${test_tmpdir}/revoked.ed25519.d/correct
+${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${origrev}
+${CMD_PREFIX} ostree --repo=repo2 ls ${origrev} >/dev/null
+if ${CMD_PREFIX} ostree --repo=repo2 static-delta apply-offline --keys-dir=${test_tmpdir} repo/deltas/${deltaprefix}/${deltadir}; then
+ exit 1
+fi
+
+rm -rf ${test_tmpdir}/{trusted,revoked}.ed25519.d
+
+echo 'ok apply offline with ed25519 revoking key mechanism (keydir)'