summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2015-05-31 15:37:30 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2015-05-31 16:06:00 +0100
commitc1e9b51c128cde4b5359618c28405981d690127e (patch)
tree0765cf003d02e1f2a4bf1cf7fbf440ace3f1998e /tests
parent0e6fdb25bacae95c16679692426b5ce7c2b150d9 (diff)
Test suite: add some replay prevention tests
Diffstat (limited to 'tests')
-rwxr-xr-xtests/tests/debpolicy-newreject4
-rwxr-xr-xtests/tests/trustingpolicy-replay34
2 files changed, 35 insertions, 3 deletions
diff --git a/tests/tests/debpolicy-newreject b/tests/tests/debpolicy-newreject
index b2bf6be..bda8694 100755
--- a/tests/tests/debpolicy-newreject
+++ b/tests/tests/debpolicy-newreject
@@ -82,6 +82,4 @@ cd $tmp/$p
echo xxx up to here
echo xxx want to test database lock retry thing on push-and-taint
echo xxx want to test forbidden objects not present
-echo xxx want to check expect fail did not push
-echo xxx want to check replay prevention insufficient proofs in tag
-echo xxx want to check replay prevention removed tags file
+echo xxx want to check expect fail did not push "(everywhere)"
diff --git a/tests/tests/trustingpolicy-replay b/tests/tests/trustingpolicy-replay
new file mode 100755
index 0000000..f6053aa
--- /dev/null
+++ b/tests/tests/trustingpolicy-replay
@@ -0,0 +1,34 @@
+#!/bin/bash
+set -e
+. tests/lib
+
+t-tstunt-parsechangelog
+
+t-policy dgit-repos-policy-trusting
+t-prep-newpackage example 1.0
+
+cd $p
+revision=1
+git tag start
+
+t-dgit build
+t-dgit push --new
+
+t-commit 'Prep v2 which will be rewound'
+t-dgit build
+t-dgit push
+
+t-rm-dput-dropping
+git checkout debian/1.0
+t-dgit build
+t-dgit push --deliberately-fresh-repo
+
+remote="`git config dgit-distro.test-dummy.git-url`/$p.git"
+
+t-expect-fail 'Replay of previously-rewound upload' \
+git push "$remote" \
+ debian/1.1 \
+ debian/1.1~0:refs/dgit/sid
+
+echo ok.
+echo xxx want to check replay prevention insufficient proofs in tag