]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-key
enhance apt-key debugging options
[apt.git] / test / integration / test-apt-key
index b6b7b7909a8883a01b349cb533a7b648ccaa590c..e1be08c65150f2026317d8237a938c253cd6335e 100755 (executable)
@@ -17,7 +17,7 @@ testaptkeys() {
        if ! aptkey list | grep '^pub' > aptkey.list; then
                echo -n > aptkey.list
        fi
-       testequal "$1" cat ./aptkey.list
+       testfileequal './aptkey.list' "$1"
 }
 
 echo 'APT::Key::ArchiveKeyring "./keys/joesixpack.pub";
@@ -35,7 +35,7 @@ testrun() {
 
        testaptkeys 'pub   2048R/DBAC8DAE 2010-08-18'
 
-       testequal 'gpg: key DBAC8DAE: "Joe Sixpack (APT Testcases Dummy) <joe@example.org>" not changed
+       testsuccessequal 'gpg: key DBAC8DAE: "Joe Sixpack (APT Testcases Dummy) <joe@example.org>" not changed
 gpg: Total number processed: 1
 gpg:              unchanged: 1' aptkey --fakeroot update
 
@@ -73,6 +73,12 @@ pub   2048R/DBAC8DAE 2010-08-18'
        testsuccess aptkey --fakeroot del DBAC8DAE
        testempty aptkey list
 
+       msgtest 'Test key removal with' 'lowercase key ID' #keylength somewhere between 8byte and short
+       cleanplate
+       cp -a keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg
+       testsuccess --nomsg aptkey --fakeroot del d141dbac8dae
+       testempty aptkey list
+
        msgtest 'Test key removal with' 'single key in real file'
        cleanplate
        cp -a keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg
@@ -160,6 +166,40 @@ pub   2048R/528144E2 2011-01-16'
        msgtest 'Test merge-back of' 'removed duplicate keys'
        testsuccess --nomsg aptkey adv --batch --yes --delete-keys DBAC8DAE
        testaptkeys 'pub   2048R/528144E2 2011-01-16'
+
+       cleanplate
+       cp -a keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg
+       cp -a keys/testcase-multikey.pub rootdir/etc/apt/trusted.gpg.d/multikey.gpg
+       msgtest 'Test signing a file' 'with a key'
+       echo 'Verify me. This is my signature.' > signature
+       testsuccess --nomsg aptkey --quiet --keyring keys/marvinparanoid.pub --secret-keyring keys/marvinparanoid.sec --readonly \
+               adv --batch --yes --default-key 'Marvin' --armor --detach-sign --sign --output signature.gpg signature
+
+       msgtest 'Test verify a file' 'with all keys'
+       testsuccess --nomsg aptkey --quiet --readonly verify signature.gpg signature
+
+       msgtest 'Test verify a file' 'with good keyring'
+       testsuccess --nomsg aptkey --quiet --readonly --keyring keys/testcase-multikey.pub verify signature.gpg signature
+
+       msgtest 'Test fail verify a file' 'with bad keyring'
+       testfailure --nomsg aptkey --quiet --readonly --keyring keys/joesixpack.pub verify signature.gpg signature
+
+       msgtest 'Test fail verify a file' 'with non-existing keyring'
+       testfailure --nomsg aptkey --quiet --readonly --keyring keys/does-not-exist.pub verify signature.gpg signature
+       testfailure test -e keys/does-not-exist.pub
+
+       msgtest 'Test verify a file' 'with good keyid'
+       testsuccess --nomsg aptkey --quiet --readonly --keyid 'Paranoid' verify signature.gpg signature
+
+       msgtest 'Test fail verify a file' 'with bad keyid'
+       testfailure --nomsg aptkey --quiet --readonly --keyid 'Sixpack' verify signature.gpg signature
+
+       msgtest 'Test fail verify a file' 'with non-existing keyid'
+       testfailure --nomsg aptkey --quiet --readonly --keyid 'Kalnischkies' verify signature.gpg signature
+
+       msgtest 'Test verify fails on' 'bad file'
+       echo 'lalalalala' > signature
+       testfailure --nomsg aptkey --quiet --readonly verify signature.gpg signature
 }
 
 setupgpgcommand() {