Tests for Contact Lookup Uri Methods

Bug 5810254

Change-Id: I3ce443ecbcba6c4e49c06cf63ae7755a7acdaa53
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java
index a3c6a25..2220d96 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java
@@ -16,17 +16,15 @@
 
 package android.provider.cts;
 
-import dalvik.annotation.TestLevel;
-import dalvik.annotation.TestTargetClass;
-import dalvik.annotation.TestTargetNew;
-
 import android.app.Instrumentation;
 import android.content.ContentResolver;
+import android.content.ContentUris;
 import android.content.Context;
 import android.content.IContentProvider;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.net.Uri;
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.Contacts;
 import android.provider.cts.ContactsContract_TestDataBuilder.TestContact;
@@ -35,7 +33,6 @@
 
 import java.util.List;
 
-@TestTargetClass(ContactsContract.Contacts.class)
 public class ContactsContract_ContactsTest extends InstrumentationTestCase {
     private ContentResolver mContentResolver;
     private ContactsContract_TestDataBuilder mBuilder;
@@ -54,12 +51,6 @@
         mBuilder.cleanup();
     }
 
-    @TestTargetNew(
-            level = TestLevel.COMPLETE,
-            notes = "Test markAsContacted(ContentResolver resolver, long contactId)",
-            method = "markAsContacted",
-            args = {android.content.ContentResolver.class, long.class}
-    )
     public void testMarkAsContacted() throws Exception {
         TestRawContact rawContact = mBuilder.newRawContact().insert().load();
         TestContact contact = rawContact.getContact().load();
@@ -88,5 +79,24 @@
         assertFalse("Device does not support the activity intent: " + intent,
                 resolveInfos.isEmpty());
     }
+
+    public void testLookupUri() throws Exception {
+        TestRawContact rawContact = mBuilder.newRawContact().insert().load();
+        TestContact contact = rawContact.getContact().load();
+
+        Uri contactUri = contact.getUri();
+        long contactId = contact.getId();
+        String lookupKey = contact.getString(Contacts.LOOKUP_KEY);
+
+        Uri lookupUri = Contacts.getLookupUri(contactId, lookupKey);
+        assertEquals(ContentUris.withAppendedId(Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI,
+                lookupKey), contactId), lookupUri);
+
+        Uri lookupUri2 = Contacts.getLookupUri(mContentResolver, contactUri);
+        assertEquals(lookupUri, lookupUri2);
+
+        Uri contactUri2 = Contacts.lookupContact(mContentResolver, lookupUri);
+        assertEquals(contactUri, contactUri2);
+    }
 }
 
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_TestDataBuilder.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_TestDataBuilder.java
index c73830e..e1feda6 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsContract_TestDataBuilder.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_TestDataBuilder.java
@@ -198,6 +198,10 @@
             return mCursor.getLong(mCursor.getColumnIndex(columnName));
         }
 
+        public String getString(String columnName) {
+            return mCursor.getString(mCursor.getColumnIndex(columnName));
+        }
+
         public void assertColumn(String columnName, long value) {
             assertEquals(value, mCursor.getLong(getColumnIndex(columnName)));
         }