aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java
diff options
context:
space:
mode:
authorVincent <valodim@mugenguild.com>2016-02-10 18:39:55 +0100
committerVincent <valodim@mugenguild.com>2016-02-10 18:39:55 +0100
commit2eac4ebb950c9f36fbb8852b4266529065ff6731 (patch)
treeda193d233e2f753e2c31d9c446f4c2cb5ad23248 /OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java
parenta94713103b6c72136fbf4886bf561616b2a01e4e (diff)
parentda6dfb57a0aa816919cd23752e1707ba6a2e8cae (diff)
downloadopen-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.tar.gz
open-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.tar.bz2
open-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.zip
Merge pull request #1708 from open-keychain/performance
performance improvements
Diffstat (limited to 'OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java')
-rw-r--r--OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java58
1 files changed, 43 insertions, 15 deletions
diff --git a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java
index 503ff9a7c..3393f61b3 100644
--- a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java
+++ b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java
@@ -30,6 +30,7 @@ import org.openintents.openpgp.OpenPgpSignatureResult;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowLog;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.sufficientlysecure.keychain.WorkaroundBuildConfig;
import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult;
@@ -37,10 +38,12 @@ import org.sufficientlysecure.keychain.operations.results.OperationResult.Operat
import org.sufficientlysecure.keychain.pgp.CanonicalizedKeyRing;
import org.sufficientlysecure.keychain.pgp.CanonicalizedPublicKey;
import org.sufficientlysecure.keychain.pgp.CanonicalizedPublicKeyRing;
+import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey.SecretKeyType;
import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKeyRing;
import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyInputParcel;
import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyOperation;
import org.sufficientlysecure.keychain.pgp.UncachedKeyRing;
+import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
@@ -64,6 +67,7 @@ public class InteropTest {
@BeforeClass
public static void setUpOnce() throws Exception {
Security.insertProviderAt(new BouncyCastleProvider(), 1);
+ ShadowLog.stream = System.out;
}
@Test
@@ -243,21 +247,45 @@ public class InteropTest {
KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(verify.getMasterKeyId()) : null;
ProviderHelper helper = new ProviderHelper(RuntimeEnvironment.application) {
- @Override
- public CanonicalizedPublicKeyRing getCanonicalizedPublicKeyRing(Uri q)
- throws NotFoundException {
- Assert.assertEquals(msg + ": query should be for verification key",
- q, verifyUri);
- return verify;
- }
- @Override
- public CanonicalizedSecretKeyRing getCanonicalizedSecretKeyRing(Uri q)
- throws NotFoundException {
- Assert.assertEquals(msg + ": query should be for the decryption key",
- q, decryptUri);
- return decrypt;
- }
- };
+
+ @Override
+ public CachedPublicKeyRing getCachedPublicKeyRing(Uri queryUri) throws PgpKeyNotFoundException {
+ Assert.assertEquals(msg + ": query should be for the decryption key", queryUri, decryptUri);
+ return new CachedPublicKeyRing(this, queryUri) {
+ @Override
+ public long getMasterKeyId() throws PgpKeyNotFoundException {
+ return decrypt.getMasterKeyId();
+ }
+
+ @Override
+ public SecretKeyType getSecretKeyType(long keyId) throws NotFoundException {
+ return decrypt.getSecretKey(keyId).getSecretKeyTypeSuperExpensive();
+ }
+ };
+ }
+
+ @Override
+ public CanonicalizedPublicKeyRing getCanonicalizedPublicKeyRing(Uri q)
+ throws NotFoundException {
+ Assert.assertEquals(msg + ": query should be for verification key", q, verifyUri);
+ return verify;
+ }
+
+ @Override
+ public CanonicalizedSecretKeyRing getCanonicalizedSecretKeyRing(Uri q)
+ throws NotFoundException {
+ Assert.assertEquals(msg + ": query should be for the decryption key", q, decryptUri);
+ return decrypt;
+ }
+
+ @Override
+ public CanonicalizedSecretKeyRing getCanonicalizedSecretKeyRing(long masterKeyId)
+ throws NotFoundException {
+ Assert.assertEquals(msg + ": query should be for the decryption key",
+ masterKeyId, decrypt.getMasterKeyId());
+ return decrypt;
+ }
+ };
return new PgpDecryptVerifyOperation(RuntimeEnvironment.application, helper, null) {
@Override