diff options
| author | Andy Stadler <stadler@google.com> | 2011-01-19 12:01:56 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-01-19 12:01:56 -0800 |
| commit | be6910e7a40b4bffb7e917ffa89c539733545548 (patch) | |
| tree | 4aaa0971cb0185f967e6a6352f7b22ae31dd6da5 /tests | |
| parent | 3db3e4b795c08122d1c9d4fc105150231795448b (diff) | |
| parent | a0d080558ff06f88f000cf424803c8241dd8d2eb (diff) | |
| download | android_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.java | 40 |
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); + } + } } |
