Index: chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java |
index 647140753261d35ab6ea42e1d0a242f9feb25930..6a5a5daec43b97a137cca62f70d18a0d1c385186 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java |
@@ -6,11 +6,18 @@ package org.chromium.chrome.browser.omaha; |
import android.content.Context; |
import android.content.SharedPreferences; |
+import android.support.test.InstrumentationRegistry; |
import android.support.test.filters.SmallTest; |
-import android.test.InstrumentationTestCase; |
+ |
+import org.junit.After; |
+import org.junit.Assert; |
+import org.junit.Before; |
+import org.junit.Test; |
+import org.junit.runner.RunWith; |
import org.chromium.base.test.util.AdvancedMockContext; |
import org.chromium.base.test.util.Feature; |
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner; |
import org.chromium.chrome.test.omaha.MockRequestGenerator; |
import org.chromium.chrome.test.omaha.MockRequestGenerator.DeviceType; |
@@ -33,7 +40,8 @@ import java.util.List; |
* provides a way to hook into functions to return values that would normally be provided by the |
* system, such as whether Chrome was installed through the system image. |
*/ |
-public class OmahaBaseTest extends InstrumentationTestCase { |
+@RunWith(ChromeJUnit4ClassRunner.class) |
+public class OmahaBaseTest { |
private static class TimestampPair { |
public long timestampNextRequest; |
public long timestampNextPost; |
@@ -154,18 +162,16 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
return omahaClient; |
} |
- @Override |
- protected void setUp() throws Exception { |
- super.setUp(); |
- Context targetContext = getInstrumentation().getTargetContext(); |
+ @Before |
+ public void setUp() throws Exception { |
+ Context targetContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); |
OmahaBase.setIsDisabledForTesting(false); |
mContext = new AdvancedMockContext(targetContext); |
} |
- @Override |
+ @After |
public void tearDown() throws Exception { |
OmahaBase.setIsDisabledForTesting(true); |
- super.tearDown(); |
} |
private class MockOmahaBase extends OmahaBase { |
@@ -221,12 +227,13 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mSendInstallEvent, mConnectionTimesOut); |
mMockConnections.addLast(connection); |
} catch (MalformedURLException e) { |
- fail("Caught a malformed URL exception: " + e); |
+ Assert.fail("Caught a malformed URL exception: " + e); |
} |
return connection; |
} |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testPipelineFreshInstall() { |
@@ -241,20 +248,21 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
// A fresh install results in two requests to the Omaha server: one for the install request |
// and one for the ping request. |
- assertTrue(mDelegate.mInstallEventWasSent); |
- assertEquals(1, mDelegate.mPostResults.size()); |
- assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
- assertEquals(2, mDelegate.mGenerateAndPostRequestResults.size()); |
- assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
- assertTrue(mDelegate.mGenerateAndPostRequestResults.get(1)); |
+ Assert.assertTrue(mDelegate.mInstallEventWasSent); |
+ Assert.assertEquals(1, mDelegate.mPostResults.size()); |
+ Assert.assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
+ Assert.assertEquals(2, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
+ Assert.assertTrue(mDelegate.mGenerateAndPostRequestResults.get(1)); |
// Successful requests mean that the next scheduled event should be checking for when the |
// user is active. |
- assertEquals(now + OmahaBase.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp); |
+ Assert.assertEquals(now + OmahaBase.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp); |
checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY, |
mDelegate.mTimestampsOnSaveState); |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testPipelineRegularPing() { |
@@ -275,19 +283,20 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mOmahaBase.run(); |
// Only the regular ping should have been sent. |
- assertFalse(mDelegate.mInstallEventWasSent); |
- assertEquals(1, mDelegate.mPostResults.size()); |
- assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
- assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
- assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
+ Assert.assertFalse(mDelegate.mInstallEventWasSent); |
+ Assert.assertEquals(1, mDelegate.mPostResults.size()); |
+ Assert.assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
+ Assert.assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
// Successful requests mean that the next scheduled event should be checking for when the |
// user is active. |
- assertEquals(now + OmahaBase.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp); |
+ Assert.assertEquals(now + OmahaBase.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp); |
checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY, |
mDelegate.mTimestampsOnSaveState); |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testTooEarlyToPing() { |
@@ -306,16 +315,17 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mOmahaBase.run(); |
// Nothing should have been POSTed. |
- assertEquals(0, mDelegate.mPostResults.size()); |
- assertEquals(0, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertEquals(0, mDelegate.mPostResults.size()); |
+ Assert.assertEquals(0, mDelegate.mGenerateAndPostRequestResults.size()); |
// The next scheduled event is the request generation. Because there was nothing to POST, |
// its timestamp should have remained unchanged and shouldn't have been considered when the |
// new alarm was scheduled. |
- assertEquals(later, mDelegate.mNextScheduledTimestamp); |
+ Assert.assertEquals(later, mDelegate.mNextScheduledTimestamp); |
checkTimestamps(later, now, mDelegate.mTimestampsOnSaveState); |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testTooEarlyToPostExistingRequest() { |
@@ -344,19 +354,21 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mOmahaBase.run(); |
// Request generation code should be skipped. |
- assertNull(mDelegate.mTimestampsOnRegisterNewRequest); |
+ Assert.assertNull(mDelegate.mTimestampsOnRegisterNewRequest); |
// Should be too early to post, causing it to be rescheduled. |
- assertEquals(1, mDelegate.mPostResults.size()); |
- assertEquals(OmahaBase.POST_RESULT_SCHEDULED, mDelegate.mPostResults.get(0).intValue()); |
- assertEquals(0, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertEquals(1, mDelegate.mPostResults.size()); |
+ Assert.assertEquals( |
+ OmahaBase.POST_RESULT_SCHEDULED, mDelegate.mPostResults.get(0).intValue()); |
+ Assert.assertEquals(0, mDelegate.mGenerateAndPostRequestResults.size()); |
// The next scheduled event is the POST. Because request generation code wasn't run, the |
// timestamp for it shouldn't have changed. |
- assertEquals(timeSendNewPost, mDelegate.mNextScheduledTimestamp); |
+ Assert.assertEquals(timeSendNewPost, mDelegate.mNextScheduledTimestamp); |
checkTimestamps(timeSendNewRequest, timeSendNewPost, mDelegate.mTimestampsOnSaveState); |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testPostExistingRequestSuccessfully() { |
@@ -386,21 +398,22 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mOmahaBase.run(); |
// Registering code shouldn't have fired. |
- assertNull(mDelegate.mTimestampsOnRegisterNewRequest); |
+ Assert.assertNull(mDelegate.mTimestampsOnRegisterNewRequest); |
// Because we didn't send an install event, only one POST should have occurred. |
- assertEquals(1, mDelegate.mPostResults.size()); |
- assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
- assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
- assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
+ Assert.assertEquals(1, mDelegate.mPostResults.size()); |
+ Assert.assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
+ Assert.assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
// The next scheduled event is the request generation because there is nothing to POST. |
// A successful POST adjusts all timestamps for the current time. |
- assertEquals(timeRegisterNewRequest, mDelegate.mNextScheduledTimestamp); |
+ Assert.assertEquals(timeRegisterNewRequest, mDelegate.mNextScheduledTimestamp); |
checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY, |
mDelegate.mTimestampsOnSaveState); |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testPostExistingButFails() { |
@@ -431,22 +444,23 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mOmahaBase.run(); |
// Registering code shouldn't have fired. |
- assertNull(mDelegate.mTimestampsOnRegisterNewRequest); |
+ Assert.assertNull(mDelegate.mTimestampsOnRegisterNewRequest); |
// Because we didn't send an install event, only one POST should have occurred. |
- assertEquals(1, mDelegate.mPostResults.size()); |
- assertEquals(OmahaBase.POST_RESULT_FAILED, mDelegate.mPostResults.get(0).intValue()); |
- assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
- assertFalse(mDelegate.mGenerateAndPostRequestResults.get(0)); |
+ Assert.assertEquals(1, mDelegate.mPostResults.size()); |
+ Assert.assertEquals(OmahaBase.POST_RESULT_FAILED, mDelegate.mPostResults.get(0).intValue()); |
+ Assert.assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertFalse(mDelegate.mGenerateAndPostRequestResults.get(0)); |
// The next scheduled event should be the POST event, which is delayed by the base delay |
// because no failures have happened yet. |
- assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextPost, |
+ Assert.assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextPost, |
mDelegate.mNextScheduledTimestamp); |
checkTimestamps(timeRegisterNewRequest, now + OmahaBase.MS_POST_BASE_DELAY, |
mDelegate.mTimestampsOnSaveState); |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testTimestampWithinBounds() { |
@@ -469,21 +483,22 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mOmahaBase.run(); |
// Request generation code should fire. |
- assertNotNull(mDelegate.mTimestampsOnRegisterNewRequest); |
+ Assert.assertNotNull(mDelegate.mTimestampsOnRegisterNewRequest); |
// Because we didn't send an install event, only one POST should have occurred. |
- assertEquals(1, mDelegate.mPostResults.size()); |
- assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
- assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
- assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
+ Assert.assertEquals(1, mDelegate.mPostResults.size()); |
+ Assert.assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
+ Assert.assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
// The next scheduled event should be the timestamp for a new request generation. |
- assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextRequest, |
+ Assert.assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextRequest, |
mDelegate.mNextScheduledTimestamp); |
checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY, |
mDelegate.mTimestampsOnSaveState); |
} |
+ @Test |
@SmallTest |
@Feature({"Omaha"}) |
public void testOverdueRequestCausesNewRegistration() { |
@@ -516,13 +531,13 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
mDelegate.mTimestampsOnRegisterNewRequest); |
// Because we didn't send an install event, only one POST should have occurred. |
- assertEquals(1, mDelegate.mPostResults.size()); |
- assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
- assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
- assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
+ Assert.assertEquals(1, mDelegate.mPostResults.size()); |
+ Assert.assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue()); |
+ Assert.assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size()); |
+ Assert.assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0)); |
// The next scheduled event should be the registration event. |
- assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextRequest, |
+ Assert.assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextRequest, |
mDelegate.mNextScheduledTimestamp); |
checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY, |
mDelegate.mTimestampsOnSaveState); |
@@ -530,8 +545,8 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
private void checkTimestamps( |
long expectedRequestTimestamp, long expectedPostTimestamp, TimestampPair timestamps) { |
- assertEquals(expectedRequestTimestamp, timestamps.timestampNextRequest); |
- assertEquals(expectedPostTimestamp, timestamps.timestampNextPost); |
+ Assert.assertEquals(expectedRequestTimestamp, timestamps.timestampNextRequest); |
+ Assert.assertEquals(expectedPostTimestamp, timestamps.timestampNextPost); |
} |
/** |
@@ -562,7 +577,7 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
MockConnection(URL url, boolean usingTablet, boolean sendValidResponse, |
boolean sendInstallEvent, boolean connectionTimesOut) { |
super(url); |
- assertEquals(MockRequestGenerator.SERVER_URL, url.toString()); |
+ Assert.assertEquals(MockRequestGenerator.SERVER_URL, url.toString()); |
String mockResponse = buildServerResponseString(usingTablet, sendInstallEvent); |
mOutputStream = new ByteArrayOutputStream(); |
@@ -628,7 +643,7 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
@Override |
public void setDoOutput(boolean value) throws IllegalAccessError { |
- assertTrue("Told the HTTPUrlConnection to send no request.", value); |
+ Assert.assertTrue("Told the HTTPUrlConnection to send no request.", value); |
} |
@Override |
@@ -641,10 +656,10 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
if (mNumTimesResponseCodeRetrieved == 0) { |
// The output stream should now have the generated XML for the request. |
// Check if its length is correct. |
- assertEquals("Expected OmahaBase to write out certain number of bytes", |
+ Assert.assertEquals("Expected OmahaBase to write out certain number of bytes", |
mContentLength, mOutputStream.toByteArray().length); |
} |
- assertTrue("Tried to retrieve response code more than twice", |
+ Assert.assertTrue("Tried to retrieve response code more than twice", |
mNumTimesResponseCodeRetrieved < 2); |
mNumTimesResponseCodeRetrieved++; |
return mHTTPResponseCode; |
@@ -663,7 +678,8 @@ public class OmahaBaseTest extends InstrumentationTestCase { |
@Override |
public InputStream getInputStream() { |
- assertTrue("Tried to read server response without sending request.", mSentRequest); |
+ Assert.assertTrue( |
+ "Tried to read server response without sending request.", mSentRequest); |
mGotInputStream = true; |
return mServerResponse; |
} |