Index: chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadCallableTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadCallableTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadCallableTest.java |
index 8bfcb301d688aa3677869e79d3a15ee731a70120..7498fe4e54940c4792c0b3f307a2891e835cf18e 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadCallableTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadCallableTest.java |
@@ -113,19 +113,18 @@ public class MinidumpUploadCallableTest extends CrashTestCase { |
private static class MockCrashReportingPermissionManager |
implements CrashReportingPermissionManager { |
- private final boolean mIsPermitted; |
- private final boolean mIsUserPermitted; |
- private final boolean mIsCommandLineDisabled; |
- private final boolean mIsLimited; |
- private final boolean mIsEnabledForTests; |
- |
- MockCrashReportingPermissionManager(boolean isPermitted, boolean isUserPermitted, |
- boolean isCommandLineDisabled, boolean isLimited, boolean isEnabledForTests) { |
- mIsPermitted = isPermitted; |
- mIsUserPermitted = isUserPermitted; |
- mIsCommandLineDisabled = isCommandLineDisabled; |
- mIsLimited = isLimited; |
- mIsEnabledForTests = isEnabledForTests; |
+ protected boolean mIsInSample; |
+ protected boolean mIsPermitted; |
+ protected boolean mIsUserPermitted; |
+ protected boolean mIsCommandLineDisabled; |
+ protected boolean mIsLimited; |
+ protected boolean mIsEnabledForTests; |
+ |
+ MockCrashReportingPermissionManager() {} |
+ |
+ @Override |
+ public boolean isClientInMetricsSample() { |
+ return mIsInSample; |
} |
@Override |
@@ -200,7 +199,16 @@ public class MinidumpUploadCallableTest extends CrashTestCase { |
@Feature({"Android-AppBase"}) |
public void testCallWhenCurrentlyPermitted() throws Exception { |
CrashReportingPermissionManager testPermManager = |
- new MockCrashReportingPermissionManager(true, true, false, false, false); |
+ new MockCrashReportingPermissionManager() { |
+ { |
+ mIsInSample = true; |
+ mIsPermitted = true; |
+ mIsUserPermitted = true; |
+ mIsCommandLineDisabled = false; |
+ mIsLimited = false; |
+ mIsEnabledForTests = false; |
+ } |
+ }; |
HttpURLConnectionFactory httpURLConnectionFactory = new TestHttpURLConnectionFactory(); |
@@ -216,7 +224,16 @@ public class MinidumpUploadCallableTest extends CrashTestCase { |
@Feature({"Android-AppBase"}) |
public void testCallNotPermittedByUser() throws Exception { |
CrashReportingPermissionManager testPermManager = |
- new MockCrashReportingPermissionManager(false, false, false, false, false); |
+ new MockCrashReportingPermissionManager() { |
+ { |
+ mIsInSample = true; |
+ mIsPermitted = false; |
+ mIsUserPermitted = false; |
+ mIsCommandLineDisabled = false; |
+ mIsLimited = false; |
+ mIsEnabledForTests = false; |
+ } |
+ }; |
HttpURLConnectionFactory httpURLConnectionFactory = new FailHttpURLConnectionFactory(); |
@@ -231,7 +248,16 @@ public class MinidumpUploadCallableTest extends CrashTestCase { |
@Feature({"Android-AppBase"}) |
public void testCallNotPermittedByCommandLine() throws Exception { |
CrashReportingPermissionManager testPermManager = |
- new MockCrashReportingPermissionManager(true, true, true, false, false); |
+ new MockCrashReportingPermissionManager() { |
+ { |
+ mIsInSample = true; |
+ mIsPermitted = true; |
+ mIsUserPermitted = true; |
+ mIsCommandLineDisabled = true; |
+ mIsLimited = false; |
+ mIsEnabledForTests = false; |
+ } |
+ }; |
HttpURLConnectionFactory httpURLConnectionFactory = new FailHttpURLConnectionFactory(); |
@@ -244,9 +270,42 @@ public class MinidumpUploadCallableTest extends CrashTestCase { |
@SmallTest |
@Feature({"Android-AppBase"}) |
+ public void testCallPermittedButNotInSample() throws Exception { |
+ CrashReportingPermissionManager testPermManager = |
+ new MockCrashReportingPermissionManager() { |
+ { |
+ mIsInSample = false; |
+ mIsPermitted = true; |
+ mIsUserPermitted = true; |
+ mIsCommandLineDisabled = false; |
+ mIsLimited = false; |
+ mIsEnabledForTests = false; |
+ } |
+ }; |
+ |
+ HttpURLConnectionFactory httpURLConnectionFactory = new TestHttpURLConnectionFactory(); |
+ |
+ MinidumpUploadCallable minidumpUploadCallable = |
+ new MockMinidumpUploadCallable(httpURLConnectionFactory, testPermManager); |
+ assertEquals(MinidumpUploadCallable.UPLOAD_DISABLED_BY_SAMPLING, |
+ minidumpUploadCallable.call().intValue()); |
+ assertTrue(mExpectedFileAfterUpload.exists()); |
+ } |
+ |
+ @SmallTest |
+ @Feature({"Android-AppBase"}) |
public void testCallPermittedButNotUnderCurrentCircumstances() throws Exception { |
CrashReportingPermissionManager testPermManager = |
- new MockCrashReportingPermissionManager(false, true, false, false, false); |
+ new MockCrashReportingPermissionManager() { |
+ { |
+ mIsInSample = true; |
+ mIsPermitted = false; |
+ mIsUserPermitted = true; |
+ mIsCommandLineDisabled = false; |
+ mIsLimited = false; |
+ mIsEnabledForTests = false; |
+ } |
+ }; |
HttpURLConnectionFactory httpURLConnectionFactory = new FailHttpURLConnectionFactory(); |
@@ -261,7 +320,16 @@ public class MinidumpUploadCallableTest extends CrashTestCase { |
@Feature({"Android-AppBase"}) |
public void testCrashUploadConstrainted() throws Exception { |
CrashReportingPermissionManager testPermManager = |
- new MockCrashReportingPermissionManager(true, true, false, true, false); |
+ new MockCrashReportingPermissionManager() { |
+ { |
+ mIsInSample = true; |
+ mIsPermitted = true; |
+ mIsUserPermitted = true; |
+ mIsCommandLineDisabled = false; |
+ mIsLimited = true; |
+ mIsEnabledForTests = false; |
+ } |
+ }; |
HttpURLConnectionFactory httpURLConnectionFactory = new TestHttpURLConnectionFactory(); |
@@ -276,7 +344,16 @@ public class MinidumpUploadCallableTest extends CrashTestCase { |
@Feature({"Android-AppBase"}) |
public void testCrashUploadEnabledForTestsDespiteConstraints() throws Exception { |
CrashReportingPermissionManager testPermManager = |
- new MockCrashReportingPermissionManager(false, false, false, true, true); |
+ new MockCrashReportingPermissionManager() { |
+ { |
+ mIsInSample = true; |
+ mIsPermitted = false; |
+ mIsUserPermitted = false; |
+ mIsCommandLineDisabled = false; |
+ mIsLimited = true; |
+ mIsEnabledForTests = true; |
+ } |
+ }; |
HttpURLConnectionFactory httpURLConnectionFactory = new TestHttpURLConnectionFactory(); |