aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain-Test/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain-Test/src/test')
-rw-r--r--OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java47
-rw-r--r--OpenKeychain-Test/src/test/resources/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc (renamed from OpenKeychain-Test/src/test/resources/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc)0
-rw-r--r--OpenKeychain-Test/src/test/resources/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc (renamed from OpenKeychain-Test/src/test/resources/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc)0
-rw-r--r--OpenKeychain-Test/src/test/resources/test-keys/cooperpair/readme (renamed from OpenKeychain-Test/src/test/resources/cooperpair/readme)0
-rw-r--r--OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc42
-rw-r--r--OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_sec.asc (renamed from OpenKeychain-Test/src/test/resources/gnupg_divert_to_card_sec_key.asc)42
6 files changed, 85 insertions, 46 deletions
diff --git a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java
index b5d950f59..d117f2103 100644
--- a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java
+++ b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java
@@ -25,8 +25,12 @@ import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.shadows.ShadowLog;
+import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey;
+import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey.SecretKeyType;
+import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKeyRing;
import org.sufficientlysecure.keychain.pgp.UncachedKeyRing;
import org.sufficientlysecure.keychain.service.OperationResults.SaveKeyringResult;
+import org.sufficientlysecure.keychain.util.ProgressScaler;
import java.io.IOException;
import java.util.Iterator;
@@ -40,13 +44,13 @@ public class ProviderHelperSaveTest {
ShadowLog.stream = System.out;
}
- @Test
- public void testLongKeyIdCollision() throws Exception {
+ @Test public void testImportCooperPair() throws Exception {
+ // insert two keys with same long key id, make sure the second one gets rejected either way!
UncachedKeyRing first =
- readRingFromResource("/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc");
+ readRingFromResource("/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc");
UncachedKeyRing second =
- readRingFromResource("/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc");
+ readRingFromResource("/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc");
SaveKeyringResult result;
@@ -66,6 +70,41 @@ public class ProviderHelperSaveTest {
}
+ @Test public void testImportDivertToCard() throws Exception {
+
+ UncachedKeyRing pub =
+ readRingFromResource("/test-keys/divert_to_card_pub.asc");
+ UncachedKeyRing sec =
+ readRingFromResource("/test-keys/divert_to_card_sec.asc");
+ long keyId = sec.getMasterKeyId();
+
+ SaveKeyringResult result;
+
+ // insert both keys, second should fail
+ result = new ProviderHelper(Robolectric.application).savePublicKeyRing(pub);
+ Assert.assertTrue("import of public keyring should succeed", result.success());
+ result = new ProviderHelper(Robolectric.application).saveSecretKeyRing(sec,
+ new ProgressScaler());
+ Assert.assertTrue("import of secret keyring should succeed", result.success());
+
+ CanonicalizedSecretKeyRing secRing =
+ new ProviderHelper(Robolectric.application).getCanonicalizedSecretKeyRing(keyId);
+ for (CanonicalizedSecretKey key : secRing.secretKeyIterator()) {
+ Assert.assertEquals("all subkeys should be divert-to-key",
+ SecretKeyType.DIVERT_TO_CARD, key.getSecretKeyType());
+ }
+
+ /*
+ CachedPublicKeyRing cachedRing =
+ new ProviderHelper(Robolectric.application).getCachedPublicKeyRing(keyId);
+ for (CanonicalizedSecretKey key : cachedRing.()) {
+ Assert.assertEquals("all subkeys should be divert-to-key",
+ SecretKeyType.DIVERT_TO_CARD, key.getSecretKeyType());
+ }
+ */
+
+ }
+
UncachedKeyRing readRingFromResource(String name) throws Exception {
return UncachedKeyRing.fromStream(ProviderHelperSaveTest.class.getResourceAsStream(name)).next();
}
diff --git a/OpenKeychain-Test/src/test/resources/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc
index 4f51252da..4f51252da 100644
--- a/OpenKeychain-Test/src/test/resources/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc
+++ b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc
diff --git a/OpenKeychain-Test/src/test/resources/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc
index 549bc51a2..549bc51a2 100644
--- a/OpenKeychain-Test/src/test/resources/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc
+++ b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc
diff --git a/OpenKeychain-Test/src/test/resources/cooperpair/readme b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/readme
index fecb372d9..fecb372d9 100644
--- a/OpenKeychain-Test/src/test/resources/cooperpair/readme
+++ b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/readme
diff --git a/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc
new file mode 100644
index 000000000..d6ae54d8b
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc
@@ -0,0 +1,42 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+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
+4En/LdYj1T4I01bkZQ4jDPCcvEqkYg==
+=jzux
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/OpenKeychain-Test/src/test/resources/gnupg_divert_to_card_sec_key.asc b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_sec.asc
index 14769fde9..3c3bbebe4 100644
--- a/OpenKeychain-Test/src/test/resources/gnupg_divert_to_card_sec_key.asc
+++ b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_sec.asc
@@ -1,45 +1,3 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.12 (GNU/Linux)
-
-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
-4En/LdYj1T4I01bkZQ4jDPCcvEqkYg==
-=jzux
------END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)