Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: content/public/android/javatests/src/org/chromium/content/browser/crypto/CipherFactoryTest.java

Issue 2708243004: Auto convert content shell tests to JUnit4 (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/android/javatests/src/org/chromium/content/browser/crypto/CipherFactoryTest.java
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/crypto/CipherFactoryTest.java b/content/public/android/javatests/src/org/chromium/content/browser/crypto/CipherFactoryTest.java
index e379e0d79f9c4896e241b65cf4c647504eef253b..f8868b37cf0ff9529c5a480814901a4ed8c6c408 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/crypto/CipherFactoryTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/crypto/CipherFactoryTest.java
@@ -6,9 +6,14 @@ package org.chromium.content.browser.crypto;
import android.os.Bundle;
import android.support.test.filters.MediumTest;
-import android.test.InstrumentationTestCase;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.content.browser.crypto.CipherFactory.CipherDataObserver;
import java.io.IOException;
@@ -24,7 +29,8 @@ import javax.crypto.Cipher;
* Tests that confirm that the class is thread-safe would require putting potentially flaky hooks
* throughout the class to simulate artificial blockages.
*/
-public class CipherFactoryTest extends InstrumentationTestCase {
+@RunWith(BaseJUnit4ClassRunner.class)
+public class CipherFactoryTest {
private static final byte[] INPUT_DATA = {1, 16, 84};
/** Generates non-random byte[] for testing. */
@@ -77,9 +83,8 @@ public class CipherFactoryTest extends InstrumentationTestCase {
* Overrides the {@link ByteArrayGenerator} used by the {@link CipherFactory} to ensure
* deterministic results.
*/
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
mNumberProvider = new DeterministicParameterGenerator();
CipherFactory.getInstance().setRandomNumberProviderForTests(mNumberProvider);
}
@@ -87,6 +92,7 @@ public class CipherFactoryTest extends InstrumentationTestCase {
/**
* {@link Cipher} instances initialized using the same parameters work in exactly the same way.
*/
+ @Test
@MediumTest
public void testCipherUse() throws Exception {
// Check encryption.
@@ -98,13 +104,14 @@ public class CipherFactoryTest extends InstrumentationTestCase {
Cipher aDecrypt = CipherFactory.getInstance().getCipher(Cipher.DECRYPT_MODE);
Cipher bDecrypt = CipherFactory.getInstance().getCipher(Cipher.DECRYPT_MODE);
byte[] decrypted = sameOutputDifferentCiphers(output, aDecrypt, bDecrypt);
- assertTrue(Arrays.equals(decrypted, INPUT_DATA));
+ Assert.assertTrue(Arrays.equals(decrypted, INPUT_DATA));
}
/**
* Restoring a {@link Bundle} containing the same parameters already in use by the
* {@link CipherFactory} should keep the same keys.
*/
+ @Test
@MediumTest
public void testSameBundleRestoration() throws Exception {
// Create two bundles with the same saved state.
@@ -120,9 +127,9 @@ public class CipherFactoryTest extends InstrumentationTestCase {
bBundle.putByteArray(CipherFactory.BUNDLE_KEY, sameKey);
// Restore using the first bundle, then the second. Both should succeed.
- assertTrue(CipherFactory.getInstance().restoreFromBundle(aBundle));
+ Assert.assertTrue(CipherFactory.getInstance().restoreFromBundle(aBundle));
Cipher aCipher = CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
- assertTrue(CipherFactory.getInstance().restoreFromBundle(bBundle));
+ Assert.assertTrue(CipherFactory.getInstance().restoreFromBundle(bBundle));
Cipher bCipher = CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
// Make sure the CipherFactory instances are using the same key.
@@ -134,6 +141,7 @@ public class CipherFactoryTest extends InstrumentationTestCase {
* by the {@link CipherFactory} should fail. Any Ciphers created after the failed restoration
* attempt should use the already-existing keys.
*/
+ @Test
@MediumTest
public void testDifferentBundleRestoration() throws Exception {
// Restore one set of parameters.
@@ -142,7 +150,7 @@ public class CipherFactoryTest extends InstrumentationTestCase {
byte[] aKey = mNumberProvider.getBytes(CipherFactory.NUM_BYTES, (byte) 100);
aBundle.putByteArray(CipherFactory.BUNDLE_IV, aIv);
aBundle.putByteArray(CipherFactory.BUNDLE_KEY, aKey);
- assertTrue(CipherFactory.getInstance().restoreFromBundle(aBundle));
+ Assert.assertTrue(CipherFactory.getInstance().restoreFromBundle(aBundle));
Cipher aCipher = CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
// Restore using a different set of parameters.
@@ -151,7 +159,7 @@ public class CipherFactoryTest extends InstrumentationTestCase {
byte[] bKey = mNumberProvider.getBytes(CipherFactory.NUM_BYTES, (byte) 200);
bBundle.putByteArray(CipherFactory.BUNDLE_IV, bIv);
bBundle.putByteArray(CipherFactory.BUNDLE_KEY, bKey);
- assertFalse(CipherFactory.getInstance().restoreFromBundle(bBundle));
+ Assert.assertFalse(CipherFactory.getInstance().restoreFromBundle(bBundle));
Cipher bCipher = CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
// Make sure they're using the same (original) key by encrypting the same data.
@@ -161,22 +169,23 @@ public class CipherFactoryTest extends InstrumentationTestCase {
/**
* Restoration from a {@link Bundle} missing data should fail.
*/
+ @Test
@MediumTest
public void testIncompleteBundleRestoration() throws Exception {
// Make sure we handle the null case.
- assertFalse(CipherFactory.getInstance().restoreFromBundle(null));
+ Assert.assertFalse(CipherFactory.getInstance().restoreFromBundle(null));
// Try restoring without the key.
Bundle aBundle = new Bundle();
byte[] iv = mNumberProvider.getBytes(CipherFactory.NUM_BYTES, (byte) 50);
aBundle.putByteArray(CipherFactory.BUNDLE_IV, iv);
- assertFalse(CipherFactory.getInstance().restoreFromBundle(aBundle));
+ Assert.assertFalse(CipherFactory.getInstance().restoreFromBundle(aBundle));
// Try restoring without the initialization vector.
Bundle bBundle = new Bundle();
byte[] key = mNumberProvider.getBytes(CipherFactory.NUM_BYTES, (byte) 100);
bBundle.putByteArray(CipherFactory.BUNDLE_KEY, key);
- assertFalse(CipherFactory.getInstance().restoreFromBundle(bBundle));
+ Assert.assertFalse(CipherFactory.getInstance().restoreFromBundle(bBundle));
}
/**
@@ -184,6 +193,7 @@ public class CipherFactoryTest extends InstrumentationTestCase {
* parameters from a {@link Bundle} before this point should result in {@link Cipher}s using the
* restored parameters instead of any generated ones.
*/
+ @Test
@MediumTest
public void testRestorationSucceedsBeforeCipherCreated() throws Exception {
byte[] iv = mNumberProvider.getBytes(CipherFactory.NUM_BYTES, (byte) 50);
@@ -193,15 +203,16 @@ public class CipherFactoryTest extends InstrumentationTestCase {
bundle.putByteArray(CipherFactory.BUNDLE_KEY, key);
// The keys should be initialized only after restoration.
- assertNull(CipherFactory.getInstance().getCipherData(false));
- assertTrue(CipherFactory.getInstance().restoreFromBundle(bundle));
- assertNotNull(CipherFactory.getInstance().getCipherData(false));
+ Assert.assertNull(CipherFactory.getInstance().getCipherData(false));
+ Assert.assertTrue(CipherFactory.getInstance().restoreFromBundle(bundle));
+ Assert.assertNotNull(CipherFactory.getInstance().getCipherData(false));
}
/**
* If the {@link CipherFactory} has already generated parameters, restorations of different data
* should fail. All {@link Cipher}s should use the generated parameters.
*/
+ @Test
@MediumTest
public void testRestorationDiscardsAfterOtherCipherAlreadyCreated() throws Exception {
byte[] iv = mNumberProvider.getBytes(CipherFactory.NUM_BYTES, (byte) 50);
@@ -212,7 +223,7 @@ public class CipherFactoryTest extends InstrumentationTestCase {
// The keys should be initialized after creating the cipher, so the keys shouldn't match.
Cipher aCipher = CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
- assertFalse(CipherFactory.getInstance().restoreFromBundle(bundle));
+ Assert.assertFalse(CipherFactory.getInstance().restoreFromBundle(bundle));
Cipher bCipher = CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
// B's cipher should use the keys generated for A.
@@ -222,42 +233,44 @@ public class CipherFactoryTest extends InstrumentationTestCase {
/**
* Data saved out to the {@link Bundle} should match what is held by the {@link CipherFactory}.
*/
+ @Test
@MediumTest
public void testSavingToBundle() throws Exception {
// Nothing should get saved out before Cipher data exists.
Bundle initialBundle = new Bundle();
CipherFactory.getInstance().saveToBundle(initialBundle);
- assertFalse(initialBundle.containsKey(CipherFactory.BUNDLE_IV));
- assertFalse(initialBundle.containsKey(CipherFactory.BUNDLE_KEY));
+ Assert.assertFalse(initialBundle.containsKey(CipherFactory.BUNDLE_IV));
+ Assert.assertFalse(initialBundle.containsKey(CipherFactory.BUNDLE_KEY));
// Check that Cipher data gets saved if it exists.
CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
Bundle afterBundle = new Bundle();
CipherFactory.getInstance().saveToBundle(afterBundle);
- assertTrue(afterBundle.containsKey(CipherFactory.BUNDLE_IV));
- assertTrue(afterBundle.containsKey(CipherFactory.BUNDLE_KEY));
+ Assert.assertTrue(afterBundle.containsKey(CipherFactory.BUNDLE_IV));
+ Assert.assertTrue(afterBundle.containsKey(CipherFactory.BUNDLE_KEY));
// Confirm the saved keys match by restoring it.
- assertTrue(CipherFactory.getInstance().restoreFromBundle(afterBundle));
+ Assert.assertTrue(CipherFactory.getInstance().restoreFromBundle(afterBundle));
}
/**
* Checks that an observer is notified when cipher data is created.
*/
+ @Test
@MediumTest
public void testCipherFactoryObserver() throws Exception {
TestCipherDataObserver observer = new TestCipherDataObserver();
CipherFactory.getInstance().addCipherDataObserver(observer);
- assertEquals(0, observer.getTimesNotified());
+ Assert.assertEquals(0, observer.getTimesNotified());
CipherFactory.getInstance().getCipher(Cipher.DECRYPT_MODE);
ThreadUtils.runOnUiThreadBlocking(mEmptyRunnable);
- assertEquals(1, observer.getTimesNotified());
+ Assert.assertEquals(1, observer.getTimesNotified());
CipherFactory.getInstance().getCipher(Cipher.DECRYPT_MODE);
ThreadUtils.runOnUiThreadBlocking(mEmptyRunnable);
- assertEquals(1, observer.getTimesNotified());
+ Assert.assertEquals(1, observer.getTimesNotified());
CipherFactory.getInstance().getCipher(Cipher.ENCRYPT_MODE);
ThreadUtils.runOnUiThreadBlocking(mEmptyRunnable);
- assertEquals(1, observer.getTimesNotified());
+ Assert.assertEquals(1, observer.getTimesNotified());
CipherFactory.getInstance().removeCipherDataObserver(observer);
}
@@ -265,6 +278,7 @@ public class CipherFactoryTest extends InstrumentationTestCase {
* Verifies that if the observer is attached after cipher data has already been
* created the observer doesn't fire.
*/
+ @Test
@MediumTest
public void testCipherFactoryObserverTooLate() throws Exception {
CipherFactory.getInstance().getCipher(Cipher.DECRYPT_MODE);
@@ -273,10 +287,10 @@ public class CipherFactoryTest extends InstrumentationTestCase {
TestCipherDataObserver observer = new TestCipherDataObserver();
CipherFactory.getInstance().addCipherDataObserver(observer);
ThreadUtils.runOnUiThreadBlocking(mEmptyRunnable);
- assertEquals(0, observer.getTimesNotified());
+ Assert.assertEquals(0, observer.getTimesNotified());
CipherFactory.getInstance().getCipher(Cipher.DECRYPT_MODE);
ThreadUtils.runOnUiThreadBlocking(mEmptyRunnable);
- assertEquals(0, observer.getTimesNotified());
+ Assert.assertEquals(0, observer.getTimesNotified());
}
/**
@@ -285,16 +299,16 @@ public class CipherFactoryTest extends InstrumentationTestCase {
*/
private byte[] sameOutputDifferentCiphers(byte[] input, Cipher aCipher, Cipher bCipher)
throws Exception {
- assertNotNull(aCipher);
- assertNotNull(bCipher);
- assertNotSame(aCipher, bCipher);
+ Assert.assertNotNull(aCipher);
+ Assert.assertNotNull(bCipher);
+ Assert.assertNotSame(aCipher, bCipher);
byte[] aOutput = aCipher.doFinal(input);
byte[] bOutput = bCipher.doFinal(input);
- assertNotNull(aOutput);
- assertNotNull(bOutput);
- assertTrue(Arrays.equals(aOutput, bOutput));
+ Assert.assertNotNull(aOutput);
+ Assert.assertNotNull(bOutput);
+ Assert.assertTrue(Arrays.equals(aOutput, bOutput));
return aOutput;
}

Powered by Google App Engine
This is Rietveld 408576698