* Helper class to control the result of permission checks.
*/
private static class InternalMockContext extends MockContext {
- boolean allowPermission = false;
+ boolean mAllowPermission = false;
@Override
public int checkCallingOrSelfPermission(String permission) {
assertEquals(android.Manifest.permission.ACCESS_NETWORK_STATE,
permission);
- return allowPermission ? PackageManager.PERMISSION_GRANTED :
+ return mAllowPermission ? PackageManager.PERMISSION_GRANTED :
PackageManager.PERMISSION_DENIED;
}
}
@SmallTest
public void testConfigure_Net_NoPermissions() {
- mMockContext.allowPermission = false;
+ mMockContext.mAllowPermission = false;
assertFalse(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
TEST_COOKIES, TEST_USER_AGENT));
}
@SmallTest
public void testConfigure_Net_NoActiveNetwork() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = null;
assertFalse(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
TEST_COOKIES, TEST_USER_AGENT));
@SmallTest
public void testConfigure_Net_Disallowed_Mobile() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_MOBILE;
assertFalse(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
TEST_COOKIES, TEST_USER_AGENT));
@SmallTest
public void testConfigure_Net_Disallowed_Wimax() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_WIMAX;
assertFalse(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
TEST_COOKIES, TEST_USER_AGENT));
@SmallTest
public void testConfigure_Net_Allowed_Ethernet_Cookies_NoUA() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_ETHERNET;
assertTrue(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
TEST_COOKIES, null));
@SmallTest
public void testConfigure_Net_Allowed_Wifi_Cookies_NoUA() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_WIFI;
assertTrue(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
TEST_COOKIES, null));
@SmallTest
public void testConfigure_Net_Allowed_Ethernet_NoCookies_NoUA() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_ETHERNET;
assertTrue(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
"", null));
@SmallTest
public void testConfigure_Net_Allowed_Ethernet_Cookies_WithUA() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_ETHERNET;
assertTrue(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
TEST_COOKIES, TEST_USER_AGENT));
@SmallTest
public void testConfigure_Net_Allowed_Ethernet_NoCookies_WithUA() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_ETHERNET;
assertTrue(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
"", TEST_USER_AGENT));
@SmallTest
public void testConfigure_Net_Allowed_Ethernet_Exception() {
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mThrowExceptionInConfigure = true;
mFakeMRG.mNetworkType = ConnectivityManager.TYPE_ETHERNET;
assertFalse(mFakeMRG.configure(mMockContext, TEST_HTTP_URL,
"https://127.0.0.1/",
"http://[::1]:8888/",
};
- mMockContext.allowPermission = true;
+ mMockContext.mAllowPermission = true;
mFakeMRG.mNetworkType = null;
for (String localHostUrl : localHostUrls) {
assertTrue(mFakeMRG.configure(mMockContext, localHostUrl,
}
@SmallTest
+ public void testConfigure_Blob_Disallow_Null_Cache() {
+ final String path = "/data/data/" + null + "/cache/";
+ final String url = path;
+ mFakeMRG.mFileExists = true;
+ mFakeMRG.mThrowExceptionInConfigure = true;
+ assertFalse(mFakeMRG.configure(mMockContext, url, "", null));
+ assertNull(mFakeMRG.mPath);
+ }
+
+ @SmallTest
+ public void testConfigure_Blob_Disallowed_Incomplete_Path() {
+ final String path = "/data/data/";
+ final String url = path;
+ mFakeMRG.mFileExists = true;
+ mFakeMRG.mThrowExceptionInConfigure = true;
+ assertFalse(mFakeMRG.configure(mMockContext, url, "", null));
+ assertNull(mFakeMRG.mPath);
+ }
+
+ @SmallTest
+ public void testConfigure_Blob_Disallowed_Unknown_Path() {
+ final String path = "/unknown/path/";
+ final String url = path;
+ mFakeMRG.mFileExists = true;
+ mFakeMRG.mThrowExceptionInConfigure = true;
+ assertFalse(mFakeMRG.configure(mMockContext, url, "", null));
+ assertNull(mFakeMRG.mPath);
+ }
+
+ @SmallTest
+ public void testConfigure_Blob_Disallowed_Other_Application() {
+ final String path = "/data/data/org.some.other.app/cache/";
+ final String url = path;
+ mFakeMRG.mFileExists = true;
+ mFakeMRG.mThrowExceptionInConfigure = true;
+ assertFalse(mFakeMRG.configure(mMockContext, url, "", null));
+ assertNull(mFakeMRG.mPath);
+ }
+
+ @SmallTest
public void testExtract_NoMetadata() {
mFakeMRG.mFileExists = true;
assertEquals(sEmptyMetadata, mFakeMRG.extract(