public Address getAddress(AddressStyle style) { final String name; switch (style) { case NUMBER: name = getNumber(); break; case NAME_AND_NUMBER: name = getNameWithNumber(); break; case NAME: name = getName(); break; default: name = null; } return new Address(getEmail(), name, !isEmailUnknown()); }
@Test public void shouldReturnUnknownEmail() throws Exception { PersonRecord record = new PersonRecord(0, null, null, "-1"); assertThat(record.getEmail()).isEqualTo("unknown.number@unknown.email"); }
@Test public void shouldSanitizeInputDataEmail() throws Exception { PersonRecord r = new PersonRecord(1, "foo\n\r\n", "foo\n@gmail.com", "\r\r1234"); assertThat(r.getEmail()).isEqualTo("foo@gmail.com"); }
@Test public void shouldLookupExistingPersonWithEmail() throws Exception { when(resolver.query( eq(Uri.parse("content://com.android.contacts/phone_lookup/1234")), any(String[].class), (String) isNull(), (String[]) isNull(), (String) isNull() )).thenReturn(name("Testor Test")); when(resolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, new String[] { ContactsContract.CommonDataKinds.Email.DATA }, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[] { String.valueOf(1) }, ContactsContract.CommonDataKinds.Email.IS_PRIMARY + " DESC")) .thenReturn(email("foo@test.com") ); PersonRecord record = lookup.lookupPerson("1234"); assertThat(record).isNotNull(); assertThat(record.getEmail()).isEqualTo("foo@test.com"); }
@Test public void shouldLookupExistingPersonUsingGmailAsPrimaryEmail() throws Exception { when(resolver.query( eq(Uri.parse("content://com.android.contacts/phone_lookup/1234")), any(String[].class), (String) isNull(), (String[]) isNull(), (String) isNull() )).thenReturn(name("Testor Test")); when(resolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, new String[] { ContactsContract.CommonDataKinds.Email.DATA }, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[] { String.valueOf(1) }, ContactsContract.CommonDataKinds.Email.IS_PRIMARY + " DESC")) .thenReturn(email("foo@test.com", "foo@gmail.com") ); PersonRecord record = lookup.lookupPerson("1234"); assertThat(record).isNotNull(); assertThat(record.getEmail()).isEqualTo("foo@gmail.com"); }
@Test public void shouldLookupUnknownPerson() throws Exception { when(resolver.query(any(Uri.class), any(String[].class), (String) isNull(), (String[]) isNull(), (String) isNull())).thenReturn(null); PersonRecord record = lookup.lookupPerson("1234"); assertThat(record).isNotNull(); assertThat(record.isUnknown()).isTrue(); assertThat(record.getEmail()).isEqualTo("1234@unknown.email"); assertThat(record.getName()).isEqualTo("1234"); }
@Test public void shouldLookupExistingPerson() throws Exception { when(resolver.query( eq(Uri.parse("content://com.android.contacts/phone_lookup/1234")), any(String[].class), (String) isNull(), (String[]) isNull(), (String) isNull() )).thenReturn(name("Testor Test")); PersonRecord record = lookup.lookupPerson("1234"); assertThat(record).isNotNull(); assertThat(record.isUnknown()).isFalse(); assertThat(record.getEmail()).isEqualTo("1234@unknown.email"); assertThat(record.getName()).isEqualTo("Testor Test"); }