From a46b40fd5c3603b59c4a0d5d5fa4b0547fc26aff Mon Sep 17 00:00:00 2001 From: Ricky Wai Date: Thu, 31 Mar 2016 16:48:29 +0100 Subject: [PATCH] Add tests for profile keys in LockSettingsStorage Bug: 27940135 Change-Id: Iade153f6607db4c75385bed6f20d3120c10674b0 --- .../android/server/LockSettingsStorage.java | 3 ++- .../server/LockSettingsStorageTests.java | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/LockSettingsStorage.java b/services/core/java/com/android/server/LockSettingsStorage.java index d136f1af7654c..9ab63003c8dc4 100644 --- a/services/core/java/com/android/server/LockSettingsStorage.java +++ b/services/core/java/com/android/server/LockSettingsStorage.java @@ -401,7 +401,8 @@ class LockSettingsStorage { return getLockCredentialFilePathForUser(userId, BASE_ZERO_LOCK_PATTERN_FILE); } - private String getChildProfileLockFile(int userId) { + @VisibleForTesting + String getChildProfileLockFile(int userId) { return getLockCredentialFilePathForUser(userId, CHILD_PROFILE_LOCK_FILE); } diff --git a/services/tests/servicestests/src/com/android/server/LockSettingsStorageTests.java b/services/tests/servicestests/src/com/android/server/LockSettingsStorageTests.java index dae84471d40e9..7d28e3964f8ed 100644 --- a/services/tests/servicestests/src/com/android/server/LockSettingsStorageTests.java +++ b/services/tests/servicestests/src/com/android/server/LockSettingsStorageTests.java @@ -87,6 +87,12 @@ public class LockSettingsStorageTests extends AndroidTestCase { return new File(mStorageDir, super.getLockPasswordFilename(userId).replace('/', '-')).getAbsolutePath(); } + + @Override + String getChildProfileLockFile(int userId) { + return new File(mStorageDir, + super.getChildProfileLockFile(userId).replace('/', '-')).getAbsolutePath(); + } }; } @@ -235,6 +241,27 @@ public class LockSettingsStorageTests extends AndroidTestCase { assertArrayEquals("profilepassword".getBytes(), mStorage.readPasswordHash(2).hash); } + public void testLockType_WriteProfileWritesParent() { + mStorage.writePasswordHash("parentpassword".getBytes(), 10); + mStorage.writePatternHash("12345678".getBytes(), 20); + + assertEquals(2, mStorage.getStoredCredentialType(10)); + assertEquals(1, mStorage.getStoredCredentialType(20)); + mStorage.clearCache(); + assertEquals(2, mStorage.getStoredCredentialType(10)); + assertEquals(1, mStorage.getStoredCredentialType(20)); + } + + public void testProfileLock_ReadWriteChildProfileLock() { + assertFalse(mStorage.hasChildProfileLock(20)); + mStorage.writeChildProfileLock(20, "profilepassword".getBytes()); + assertArrayEquals("profilepassword".getBytes(), mStorage.readChildProfileLock(20)); + assertTrue(mStorage.hasChildProfileLock(20)); + mStorage.clearCache(); + assertArrayEquals("profilepassword".getBytes(), mStorage.readChildProfileLock(20)); + assertTrue(mStorage.hasChildProfileLock(20)); + } + public void testPassword_WriteParentWritesProfile() { mStorage.writePasswordHash("profilepassword".getBytes(), 2); mStorage.writePasswordHash("parentpasswordd".getBytes(), 1);