summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMarcus Hagerott <mhagerott@google.com>2017-01-04 15:06:35 -0800
committerMarcus Hagerott <mhagerott@google.com>2017-01-04 15:16:53 -0800
commitaa16ca2105bc6038edf35e3dce13977f8bc77874 (patch)
tree168269e6ab4f670f391122a4151098b76a0470bc /tests
parent614d81204436ca60e3b0a4c5cd0be92fb7e8213e (diff)
downloadContacts-aa16ca2105bc6038edf35e3dce13977f8bc77874.tar.gz
Guard against null cursor when querying SIM
Test: ran GoogleContactsTests Bug 33272160 Change-Id: I177e63d489b566d55aa2009af2728279a8aea297
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/contacts/database/SimContactDaoTests.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/src/com/android/contacts/database/SimContactDaoTests.java b/tests/src/com/android/contacts/database/SimContactDaoTests.java
index 8e6edef29..18a3f0915 100644
--- a/tests/src/com/android/contacts/database/SimContactDaoTests.java
+++ b/tests/src/com/android/contacts/database/SimContactDaoTests.java
@@ -26,14 +26,19 @@ import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import android.content.ContentProvider;
import android.content.ContentProviderOperation;
import android.content.ContentResolver;
import android.content.Context;
import android.content.OperationApplicationException;
import android.database.Cursor;
+import android.net.Uri;
+import android.os.CancellationSignal;
import android.os.RemoteException;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Email;
@@ -701,6 +706,27 @@ public class SimContactDaoTests {
.loadContactsForSim(new SimCard("123", "carrier", "sim", null, "us"));
assertTrue(result.isEmpty());
}
+
+ @Test
+ public void returnsEmptyListForNullCursor() {
+ mContext = mock(MockContext.class);
+ final MockContentResolver mockResolver = new MockContentResolver();
+ final ContentProvider mockProvider = mock(android.test.mock.MockContentProvider.class);
+ when(mockProvider.query(any(Uri.class), any(String[].class), anyString(),
+ any(String[].class), anyString()))
+ .thenReturn(null);
+ when(mockProvider.query(any(Uri.class), any(String[].class), anyString(),
+ any(String[].class), anyString(), any(CancellationSignal.class)))
+ .thenReturn(null);
+
+ mockResolver.addProvider("icc", mockProvider);
+ when(mContext.getContentResolver()).thenReturn(mockResolver);
+
+ final SimContactDao sut = SimContactDao.create(mContext);
+ final List<SimContact> result = sut
+ .loadContactsForSim(new SimCard("123", "carrier", "sim", null, "us"));
+ assertTrue(result.isEmpty());
+ }
}
@LargeTest