summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndy Stadler <stadler@google.com>2011-01-19 12:01:56 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-01-19 12:01:56 -0800
commitbe6910e7a40b4bffb7e917ffa89c539733545548 (patch)
tree4aaa0971cb0185f967e6a6352f7b22ae31dd6da5 /tests
parent3db3e4b795c08122d1c9d4fc105150231795448b (diff)
parenta0d080558ff06f88f000cf424803c8241dd8d2eb (diff)
downloadandroid_packages_apps_Email-be6910e7a40b4bffb7e917ffa89c539733545548.tar.gz
android_packages_apps_Email-be6910e7a40b4bffb7e917ffa89c539733545548.tar.bz2
android_packages_apps_Email-be6910e7a40b4bffb7e917ffa89c539733545548.zip
Merge "Properly handle unsupported encryption policy" into honeycomb
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/email/SecurityPolicyTests.java40
1 files changed, 37 insertions, 3 deletions
diff --git a/tests/src/com/android/email/SecurityPolicyTests.java b/tests/src/com/android/email/SecurityPolicyTests.java
index b97f04861..5719f884d 100644
--- a/tests/src/com/android/email/SecurityPolicyTests.java
+++ b/tests/src/com/android/email/SecurityPolicyTests.java
@@ -19,13 +19,14 @@ package com.android.email;
import com.android.email.SecurityPolicy.PolicySet;
import com.android.email.provider.ContentCache;
import com.android.email.provider.EmailContent;
-import com.android.email.provider.EmailProvider;
-import com.android.email.provider.ProviderTestUtils;
import com.android.email.provider.EmailContent.Account;
import com.android.email.provider.EmailContent.AccountColumns;
import com.android.email.provider.EmailContent.Mailbox;
import com.android.email.provider.EmailContent.Message;
+import com.android.email.provider.EmailProvider;
+import com.android.email.provider.ProviderTestUtils;
+import android.app.admin.DevicePolicyManager;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
@@ -73,7 +74,7 @@ public class SecurityPolicyTests extends ProviderTestCase2<EmailProvider> {
/**
* Private context wrapper used to add back getPackageName() for these tests.
*
- * This class also implements {@link Context} method(s) that is called during tests.
+ * This class also implements {@link Context} method(s) that are called during tests.
*/
private static class MockContext2 extends ContextWrapper {
@@ -93,6 +94,11 @@ public class SecurityPolicyTests extends ProviderTestCase2<EmailProvider> {
public String getPackageName() {
return mRealContext.getPackageName();
}
+
+ @Override
+ public Object getSystemService(String name) {
+ return mRealContext.getSystemService(name);
+ }
}
/**
@@ -606,4 +612,32 @@ public class SecurityPolicyTests extends ProviderTestCase2<EmailProvider> {
account = Account.restoreAccountWithId(mMockContext, account3Id);
assertEquals(Account.FLAGS_SECURITY_HOLD, account.mFlags & Account.FLAGS_SECURITY_HOLD);
}
+
+ /**
+ * Test the code that clears unsupported policies
+ * TODO inject a mock DPM so we can directly control & test all cases, no matter what device
+ */
+ public void testClearUnsupportedPolicies() {
+ PolicySet p1 = new PolicySet(1, PolicySet.PASSWORD_MODE_STRONG, 3, 4, true, 7, 8, 9, false);
+ PolicySet p2 = new PolicySet(1, PolicySet.PASSWORD_MODE_STRONG, 3, 4, true, 7, 8, 9, true);
+
+ SecurityPolicy sp = getSecurityPolicy();
+ DevicePolicyManager dpm = sp.getDPM();
+ boolean hasEncryption =
+ dpm.getStorageEncryptionStatus() != DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED;
+
+ PolicySet p1Result = sp.clearUnsupportedPolicies(p1);
+ PolicySet p2Result = sp.clearUnsupportedPolicies(p2);
+
+ // No changes expected when encryptionRequested was false
+ assertEquals(p1, p1Result);
+ if (hasEncryption) {
+ // No changes expected
+ assertEquals(p2, p2Result);
+ } else {
+ PolicySet p2Expect =
+ new PolicySet(1, PolicySet.PASSWORD_MODE_STRONG, 3, 4, true, 7, 8, 9, false);
+ assertEquals(p2Expect, p2Result);
+ }
+ }
}