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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java

Issue 2664253005: [Omaha] Move most functionality to OmahaBase, add JobService (Closed)
Patch Set: [Omaha] Move most functionality to OmahaBase, add JobService Created 3 years, 10 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: chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaClientTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java
similarity index 88%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaClientTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java
index 6c40881ab380522284d3dcb5a7f299fd7844be74..647140753261d35ab6ea42e1d0a242f9feb25930 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaClientTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java
@@ -4,7 +4,6 @@
package org.chromium.chrome.browser.omaha;
-import android.app.Service;
import android.content.Context;
import android.content.SharedPreferences;
import android.support.test.filters.SmallTest;
@@ -34,7 +33,7 @@ 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 OmahaClientTest extends InstrumentationTestCase {
+public class OmahaBaseTest extends InstrumentationTestCase {
private static class TimestampPair {
public long timestampNextRequest;
public long timestampNextPost;
@@ -49,6 +48,7 @@ public class OmahaClientTest extends InstrumentationTestCase {
private final List<Integer> mPostResults = new ArrayList<Integer>();
private final List<Boolean> mGenerateAndPostRequestResults = new ArrayList<Boolean>();
+ private final Context mContext;
private final boolean mIsOnTablet;
private final boolean mIsInForeground;
private final boolean mIsInSystemImage;
@@ -63,13 +63,13 @@ public class OmahaClientTest extends InstrumentationTestCase {
private TimestampPair mTimestampsOnSaveState;
MockOmahaDelegate(Context context, DeviceType deviceType, InstallSource installSource) {
- super(context);
+ mContext = context;
mIsOnTablet = deviceType == DeviceType.TABLET;
mIsInForeground = true;
mIsInSystemImage = installSource == InstallSource.SYSTEM_IMAGE;
mMockScheduler = new MockExponentialBackoffScheduler(OmahaBase.PREF_PACKAGE, context,
- OmahaClient.MS_POST_BASE_DELAY, OmahaClient.MS_POST_MAX_DELAY);
+ OmahaBase.MS_POST_BASE_DELAY, OmahaBase.MS_POST_MAX_DELAY);
}
@Override
@@ -101,8 +101,8 @@ public class OmahaClientTest extends InstrumentationTestCase {
}
@Override
- void scheduleService(Service service, long nextTimestamp) {
- mNextScheduledTimestamp = nextTimestamp;
+ void scheduleService(long currentTimestampMs, long nextTimestampMs) {
+ mNextScheduledTimestamp = nextTimestampMs;
}
@Override
@@ -126,6 +126,11 @@ public class OmahaClientTest extends InstrumentationTestCase {
void onSaveStateDone(long nextRequestTimestamp, long nextPostTimestamp) {
mTimestampsOnSaveState = new TimestampPair(nextRequestTimestamp, nextPostTimestamp);
}
+
+ @Override
+ Context getContext() {
+ return mContext;
+ }
}
private enum InstallSource { SYSTEM_IMAGE, ORGANIC }
@@ -136,18 +141,16 @@ public class OmahaClientTest extends InstrumentationTestCase {
private AdvancedMockContext mContext;
private MockOmahaDelegate mDelegate;
- private MockOmahaClient mOmahaClient;
+ private MockOmahaBase mOmahaBase;
- private MockOmahaClient createOmahaClient() {
- return createOmahaClient(
+ private MockOmahaBase createOmahaBase() {
+ return createOmahaBase(
ServerResponse.SUCCESS, ConnectionStatus.RESPONDS, DeviceType.HANDSET);
}
- private MockOmahaClient createOmahaClient(
+ private MockOmahaBase createOmahaBase(
ServerResponse response, ConnectionStatus status, DeviceType deviceType) {
- MockOmahaClient omahaClient = new MockOmahaClient(mContext, response, status, deviceType);
- omahaClient.onCreate();
- omahaClient.restoreState(mContext);
+ MockOmahaBase omahaClient = new MockOmahaBase(mDelegate, response, status, deviceType);
return omahaClient;
}
@@ -165,18 +168,16 @@ public class OmahaClientTest extends InstrumentationTestCase {
super.tearDown();
}
- private class MockOmahaClient extends OmahaClient {
+ private class MockOmahaBase extends OmahaBase {
private final LinkedList<MockConnection> mMockConnections = new LinkedList<>();
private final boolean mSendValidResponse;
private final boolean mConnectionTimesOut;
private final boolean mIsOnTablet;
- public MockOmahaClient(Context context, ServerResponse serverResponse,
+ public MockOmahaBase(OmahaDelegate delegate, ServerResponse serverResponse,
ConnectionStatus connectionStatus, DeviceType deviceType) {
- attachBaseContext(context);
- setDelegateForTests(mDelegate);
-
+ super(delegate);
mSendValidResponse = serverResponse == ServerResponse.SUCCESS;
mConnectionTimesOut = connectionStatus == ConnectionStatus.TIMES_OUT;
mIsOnTablet = deviceType == DeviceType.TABLET;
@@ -235,22 +236,22 @@ public class OmahaClientTest extends InstrumentationTestCase {
mDelegate.getScheduler().setCurrentTime(now);
// Trigger Omaha.
- mOmahaClient = createOmahaClient();
- mOmahaClient.run();
+ mOmahaBase = createOmahaBase();
+ mOmahaBase.run();
// 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(OmahaClient.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
+ 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));
// Successful requests mean that the next scheduled event should be checking for when the
// user is active.
- assertEquals(now + OmahaClient.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp);
- checkTimestamps(now + OmahaClient.MS_BETWEEN_REQUESTS, now + OmahaClient.MS_POST_BASE_DELAY,
+ assertEquals(now + OmahaBase.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp);
+ checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY,
mDelegate.mTimestampsOnSaveState);
}
@@ -270,20 +271,20 @@ public class OmahaClientTest extends InstrumentationTestCase {
editor.apply();
// Trigger Omaha.
- mOmahaClient = createOmahaClient();
- mOmahaClient.run();
+ mOmahaBase = createOmahaBase();
+ mOmahaBase.run();
// Only the regular ping should have been sent.
assertFalse(mDelegate.mInstallEventWasSent);
assertEquals(1, mDelegate.mPostResults.size());
- assertEquals(OmahaClient.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
+ assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size());
assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0));
// Successful requests mean that the next scheduled event should be checking for when the
// user is active.
- assertEquals(now + OmahaClient.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp);
- checkTimestamps(now + OmahaClient.MS_BETWEEN_REQUESTS, now + OmahaClient.MS_POST_BASE_DELAY,
+ assertEquals(now + OmahaBase.MS_BETWEEN_REQUESTS, mDelegate.mNextScheduledTimestamp);
+ checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY,
mDelegate.mTimestampsOnSaveState);
}
@@ -301,8 +302,8 @@ public class OmahaClientTest extends InstrumentationTestCase {
prefs.edit().putLong(OmahaBase.PREF_TIMESTAMP_FOR_NEW_REQUEST, later).apply();
// Trigger Omaha.
- mOmahaClient = createOmahaClient();
- mOmahaClient.run();
+ mOmahaBase = createOmahaBase();
+ mOmahaBase.run();
// Nothing should have been POSTed.
assertEquals(0, mDelegate.mPostResults.size());
@@ -339,15 +340,15 @@ public class OmahaClientTest extends InstrumentationTestCase {
editor.apply();
// Trigger Omaha.
- mOmahaClient = createOmahaClient();
- mOmahaClient.run();
+ mOmahaBase = createOmahaBase();
+ mOmahaBase.run();
// Request generation code should be skipped.
assertNull(mDelegate.mTimestampsOnRegisterNewRequest);
// Should be too early to post, causing it to be rescheduled.
assertEquals(1, mDelegate.mPostResults.size());
- assertEquals(OmahaClient.POST_RESULT_SCHEDULED, mDelegate.mPostResults.get(0).intValue());
+ assertEquals(OmahaBase.POST_RESULT_SCHEDULED, mDelegate.mPostResults.get(0).intValue());
assertEquals(0, mDelegate.mGenerateAndPostRequestResults.size());
// The next scheduled event is the POST. Because request generation code wasn't run, the
@@ -381,22 +382,22 @@ public class OmahaClientTest extends InstrumentationTestCase {
editor.apply();
// Trigger Omaha.
- mOmahaClient = createOmahaClient();
- mOmahaClient.run();
+ mOmahaBase = createOmahaBase();
+ mOmahaBase.run();
// Registering code shouldn't have fired.
assertNull(mDelegate.mTimestampsOnRegisterNewRequest);
// Because we didn't send an install event, only one POST should have occurred.
assertEquals(1, mDelegate.mPostResults.size());
- assertEquals(OmahaClient.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
+ assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size());
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);
- checkTimestamps(now + OmahaClient.MS_BETWEEN_REQUESTS, now + OmahaClient.MS_POST_BASE_DELAY,
+ checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY,
mDelegate.mTimestampsOnSaveState);
}
@@ -406,7 +407,7 @@ public class OmahaClientTest extends InstrumentationTestCase {
final long timeGeneratedRequest = 0L;
final long now = 10000L;
final long timeSendNewPost = now;
- final long timeRegisterNewRequest = timeGeneratedRequest + OmahaClient.MS_BETWEEN_REQUESTS;
+ final long timeRegisterNewRequest = timeGeneratedRequest + OmahaBase.MS_BETWEEN_REQUESTS;
mDelegate = new MockOmahaDelegate(mContext, DeviceType.HANDSET, InstallSource.ORGANIC);
mDelegate.getScheduler().setCurrentTime(now);
@@ -425,16 +426,16 @@ public class OmahaClientTest extends InstrumentationTestCase {
editor.apply();
// Trigger Omaha.
- mOmahaClient = createOmahaClient(
+ mOmahaBase = createOmahaBase(
ServerResponse.FAILURE, ConnectionStatus.RESPONDS, DeviceType.HANDSET);
- mOmahaClient.run();
+ mOmahaBase.run();
// Registering code shouldn't have fired.
assertNull(mDelegate.mTimestampsOnRegisterNewRequest);
// Because we didn't send an install event, only one POST should have occurred.
assertEquals(1, mDelegate.mPostResults.size());
- assertEquals(OmahaClient.POST_RESULT_FAILED, mDelegate.mPostResults.get(0).intValue());
+ assertEquals(OmahaBase.POST_RESULT_FAILED, mDelegate.mPostResults.get(0).intValue());
assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size());
assertFalse(mDelegate.mGenerateAndPostRequestResults.get(0));
@@ -442,7 +443,7 @@ public class OmahaClientTest extends InstrumentationTestCase {
// because no failures have happened yet.
assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextPost,
mDelegate.mNextScheduledTimestamp);
- checkTimestamps(timeRegisterNewRequest, now + OmahaClient.MS_POST_BASE_DELAY,
+ checkTimestamps(timeRegisterNewRequest, now + OmahaBase.MS_POST_BASE_DELAY,
mDelegate.mTimestampsOnSaveState);
}
@@ -450,7 +451,7 @@ public class OmahaClientTest extends InstrumentationTestCase {
@Feature({"Omaha"})
public void testTimestampWithinBounds() {
final long now = 0L;
- final long timeRegisterNewRequest = OmahaClient.MS_BETWEEN_REQUESTS + 1;
+ final long timeRegisterNewRequest = OmahaBase.MS_BETWEEN_REQUESTS + 1;
mDelegate = new MockOmahaDelegate(mContext, DeviceType.HANDSET, InstallSource.ORGANIC);
mDelegate.getScheduler().setCurrentTime(now);
@@ -464,22 +465,22 @@ public class OmahaClientTest extends InstrumentationTestCase {
editor.apply();
// Trigger Omaha.
- mOmahaClient = createOmahaClient();
- mOmahaClient.run();
+ mOmahaBase = createOmahaBase();
+ mOmahaBase.run();
// Request generation code should fire.
assertNotNull(mDelegate.mTimestampsOnRegisterNewRequest);
// Because we didn't send an install event, only one POST should have occurred.
assertEquals(1, mDelegate.mPostResults.size());
- assertEquals(OmahaClient.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
+ assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size());
assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0));
// The next scheduled event should be the timestamp for a new request generation.
assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextRequest,
mDelegate.mNextScheduledTimestamp);
- checkTimestamps(now + OmahaClient.MS_BETWEEN_REQUESTS, now + OmahaClient.MS_POST_BASE_DELAY,
+ checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY,
mDelegate.mTimestampsOnSaveState);
}
@@ -490,7 +491,7 @@ public class OmahaClientTest extends InstrumentationTestCase {
final long now = 10000L;
final long timeSendNewPost = now;
final long timeRegisterNewRequest =
- timeGeneratedRequest + OmahaClient.MS_BETWEEN_REQUESTS * 5;
+ timeGeneratedRequest + OmahaBase.MS_BETWEEN_REQUESTS * 5;
mDelegate = new MockOmahaDelegate(mContext, DeviceType.HANDSET, InstallSource.ORGANIC);
mDelegate.getScheduler().setCurrentTime(now);
@@ -507,23 +508,23 @@ public class OmahaClientTest extends InstrumentationTestCase {
editor.apply();
// Trigger Omaha.
- mOmahaClient = createOmahaClient();
- mOmahaClient.run();
+ mOmahaBase = createOmahaBase();
+ mOmahaBase.run();
// Registering code shouldn't have fired.
- checkTimestamps(now + OmahaClient.MS_BETWEEN_REQUESTS, now,
+ checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now,
mDelegate.mTimestampsOnRegisterNewRequest);
// Because we didn't send an install event, only one POST should have occurred.
assertEquals(1, mDelegate.mPostResults.size());
- assertEquals(OmahaClient.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
+ assertEquals(OmahaBase.POST_RESULT_SENT, mDelegate.mPostResults.get(0).intValue());
assertEquals(1, mDelegate.mGenerateAndPostRequestResults.size());
assertTrue(mDelegate.mGenerateAndPostRequestResults.get(0));
// The next scheduled event should be the registration event.
assertEquals(mDelegate.mTimestampsOnSaveState.timestampNextRequest,
mDelegate.mNextScheduledTimestamp);
- checkTimestamps(now + OmahaClient.MS_BETWEEN_REQUESTS, now + OmahaClient.MS_POST_BASE_DELAY,
+ checkTimestamps(now + OmahaBase.MS_BETWEEN_REQUESTS, now + OmahaBase.MS_POST_BASE_DELAY,
mDelegate.mTimestampsOnSaveState);
}
@@ -585,8 +586,8 @@ public class OmahaClientTest extends InstrumentationTestCase {
response += "<response protocol=\"3.0\" server=\"prod\">";
response += "<daystart elapsed_seconds=\"12345\"/>";
response += "<app appid=\"";
- response += (isOnTablet
- ? MockRequestGenerator.UUID_TABLET : MockRequestGenerator.UUID_PHONE);
+ response += (isOnTablet ? MockRequestGenerator.UUID_TABLET
+ : MockRequestGenerator.UUID_PHONE);
response += "\" status=\"ok\">";
if (sendInstallEvent) {
response += "<event status=\"ok\"/>";
@@ -640,7 +641,7 @@ public class OmahaClientTest 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 OmahaClient to write out certain number of bytes",
+ assertEquals("Expected OmahaBase to write out certain number of bytes",
mContentLength, mOutputStream.toByteArray().length);
}
assertTrue("Tried to retrieve response code more than twice",
« no previous file with comments | « chrome/android/java_sources.gni ('k') | chrome/android/javatests/src/org/chromium/chrome/browser/omaha/OmahaClientTest.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698