diff options
author | Tony Mak <tonymak@google.com> | 2016-02-09 12:12:34 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-02-09 12:12:34 +0000 |
commit | 6fac54d637e6f9eaaa147cba7b534bb058be2654 (patch) | |
tree | a3ea31a7a4c3178ef04083826effa450fcf756d0 /tests | |
parent | 6a4e1923005b12e8375c24775f8089a94a08a2e6 (diff) | |
parent | fc59cc45836bc9c07afc9b44a622488106b706e6 (diff) | |
download | ContactsProvider-6fac54d637e6f9eaaa147cba7b534bb058be2654.tar.gz |
Merge "Clean up enterprise uri related code in CP2" into nyc-dev
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/com/android/providers/contacts/ContactsProvider2Test.java | 77 |
1 files changed, 72 insertions, 5 deletions
diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java index d4418c44..65b8f1ee 100644 --- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java +++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java @@ -128,6 +128,53 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { private static final String TAG = ContactsProvider2Test.class.getSimpleName(); + public void testConvertEnterpriseUriWithEnterpriseDirectoryToLocalUri() { + String phoneNumber = "886"; + String directory = String.valueOf(Directory.ENTERPRISE_DEFAULT); + boolean isSip = true; + Uri enterpriseUri = Phone.ENTERPRISE_CONTENT_URI.buildUpon().appendPath(phoneNumber) + .appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY, directory) + .appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, + String.valueOf(isSip)).build(); + Uri localUri = ContactsProvider2.convertToLocalUri(enterpriseUri, Phone.CONTENT_URI); + Uri expectedUri = Phone.CONTENT_URI.buildUpon().appendPath(phoneNumber) + .appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY, + String.valueOf(Directory.DEFAULT)) + .appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, + String.valueOf(isSip)).build(); + assertUriEquals(expectedUri, localUri); + } + + public void testConvertEnterpriseUriWithPersonalDirectoryToLocalUri() { + String phoneNumber = "886"; + String directory = String.valueOf(Directory.DEFAULT); + boolean isSip = true; + Uri enterpriseUri = Phone.ENTERPRISE_CONTENT_URI.buildUpon().appendPath(phoneNumber) + .appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY, directory) + .appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, + String.valueOf(isSip)).build(); + Uri localUri = ContactsProvider2.convertToLocalUri(enterpriseUri, Phone.CONTENT_URI); + Uri expectedUri = Phone.CONTENT_URI.buildUpon().appendPath(phoneNumber) + .appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY, + String.valueOf(Directory.DEFAULT)) + .appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, + String.valueOf(isSip)).build(); + assertUriEquals(expectedUri, localUri); + } + + public void testConvertEnterpriseUriWithoutDirectoryToLocalUri() { + String phoneNumber = "886"; + boolean isSip = true; + Uri enterpriseUri = Phone.ENTERPRISE_CONTENT_URI.buildUpon().appendPath(phoneNumber) + .appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, + String.valueOf(isSip)).build(); + Uri localUri = ContactsProvider2.convertToLocalUri(enterpriseUri, Phone.CONTENT_URI); + Uri expectedUri = Phone.CONTENT_URI.buildUpon().appendPath(phoneNumber) + .appendQueryParameter(PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, + String.valueOf(isSip)).build(); + assertUriEquals(expectedUri, localUri); + } + public void testContactsProjection() { assertProjection(Contacts.CONTENT_URI, new String[]{ Contacts._ID, @@ -9227,13 +9274,13 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { cv(Contacts._ID, i1.mContactId, Contacts.PINNED, PinnedPositions.UNPINNED) ); - ContactsContract.PinnedPositions.pin(mResolver, i1.mContactId, 5); + ContactsContract.PinnedPositions.pin(mResolver, i1.mContactId, 5); assertStoredValuesWithProjection(Contacts.CONTENT_URI, cv(Contacts._ID, i1.mContactId, Contacts.PINNED, 5) ); - ContactsContract.PinnedPositions.pin(mResolver, i1.mContactId, PinnedPositions.UNPINNED); + ContactsContract.PinnedPositions.pin(mResolver, i1.mContactId, PinnedPositions.UNPINNED); assertStoredValuesWithProjection(Contacts.CONTENT_URI, cv(Contacts._ID, i1.mContactId, Contacts.PINNED, PinnedPositions.UNPINNED) @@ -9350,9 +9397,9 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { private Cursor queryGroupMemberships(Account account) { Cursor c = mResolver.query(TestUtil.maybeAddAccountQueryParameters(Data.CONTENT_URI, - account), - new String[]{GroupMembership.GROUP_ROW_ID, GroupMembership.RAW_CONTACT_ID}, - Data.MIMETYPE + "=?", new String[]{GroupMembership.CONTENT_ITEM_TYPE}, + account), + new String[] {GroupMembership.GROUP_ROW_ID, GroupMembership.RAW_CONTACT_ID}, + Data.MIMETYPE + "=?", new String[] {GroupMembership.CONTENT_ITEM_TYPE}, GroupMembership.GROUP_SOURCE_ID); return c; } @@ -9572,4 +9619,24 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { } return false; } + + + /** + * Asserts the equality of two Uri objects, ignoring the order of the query parameters. + */ + public static void assertUriEquals(Uri expected, Uri actual) { + assertEquals(expected.getScheme(), actual.getScheme()); + assertEquals(expected.getAuthority(), actual.getAuthority()); + assertEquals(expected.getPath(), actual.getPath()); + assertEquals(expected.getFragment(), actual.getFragment()); + Set<String> expectedParameterNames = expected.getQueryParameterNames(); + Set<String> actualParameterNames = actual.getQueryParameterNames(); + assertEquals(expectedParameterNames.size(), actualParameterNames.size()); + assertTrue(expectedParameterNames.containsAll(actualParameterNames)); + for (String parameterName : expectedParameterNames) { + assertEquals(expected.getQueryParameter(parameterName), + actual.getQueryParameter(parameterName)); + } + + } } |