Skip to content

Commit c8c807d

Browse files
committed
Include phone in RandomUser.
1 parent 5484ab1 commit c8c807d

File tree

2 files changed

+32
-40
lines changed

2 files changed

+32
-40
lines changed

src/main/java/com/google/firebase/auth/FirebaseAuth.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ protected UserRecord execute() throws FirebaseAuthException {
606606
}
607607

608608
/**
609-
* Gets the user data corresponding to the specified user federated identifier.
609+
* Gets the user data corresponding to the specified user\'s federated identifier.
610610
*
611611
* @param providerUid The user identifier with the given provider.
612612
* @param providerId Identifier for the given federated provider, for example,
@@ -622,7 +622,7 @@ public UserRecord getUserByFederatedId(
622622
}
623623

624624
/**
625-
* Gets the user data corresponding to the specified user federated identifier.
625+
* Gets the user data corresponding to the specified user\'s federated identifier.
626626
*
627627
* @param providerUid The user identifier with the given provider.
628628
* @param providerId Identifer for the given federated provider, for example,

src/test/java/com/google/firebase/auth/FirebaseAuthIT.java

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,12 @@ public void testDeleteNonExistingUser() throws Exception {
141141
@Test
142142
public void testCreateUserWithParams() throws Exception {
143143
RandomUser randomUser = RandomUser.create();
144-
String randomPhoneNumber = randomPhoneNumber();
145144
try {
146-
UserRecord user = createUser(randomUser.uid, randomPhoneNumber, randomUser.email);
145+
UserRecord user = createUser(randomUser.uid, randomUser.phone, randomUser.email);
147146
assertEquals(randomUser.uid, user.getUid());
148147
assertEquals("Random User", user.getDisplayName());
149148
assertEquals(randomUser.email, user.getEmail());
150-
assertEquals(randomPhoneNumber, user.getPhoneNumber());
149+
assertEquals(randomUser.phone, user.getPhoneNumber());
151150
assertEquals("https://example.com/photo.png", user.getPhotoUrl());
152151
assertTrue(user.isEmailVerified());
153152
assertFalse(user.isDisabled());
@@ -169,24 +168,22 @@ public void testCreateUserWithParams() throws Exception {
169168
@Test
170169
public void testLookupUserByPhone() throws Exception {
171170
RandomUser randomUser1 = RandomUser.create();
172-
String phoneNumber1 = null;
173171
RandomUser randomUser2 = RandomUser.create();
174-
String randomPhoneNumber2 = randomPhoneNumber();
175172
RandomUser randomUser3 = RandomUser.create();
176-
String randomPhoneNumber3 = randomPhoneNumber();
177173
try {
178174
UserRecord user1 = createUser(
179175
randomUser1.uid, /* phoneNumber= */ null, randomUser1.email);
180176
UserRecord user2 = createUser(
181-
randomUser2.uid, randomPhoneNumber2, randomUser2.email);
177+
randomUser2.uid, randomUser2.phone, randomUser2.email);
182178
UserImportResult user3 = importUser(
183-
randomUser3.uid, randomPhoneNumber3, randomUser3.email, "google.com");
179+
randomUser3.uid, randomUser3.phone, randomUser3.email,
180+
"google.com", randomUser3.uid + "_google.com");
184181

185-
UserRecord lookedUpRecord = auth.getUserByPhoneNumberAsync(randomPhoneNumber2).get();
186-
assertEquals(lookedUpRecord.getUid(), randomUser2.uid);
182+
UserRecord lookedUpRecord = auth.getUserByPhoneNumberAsync(randomUser2.phone).get();
183+
assertEquals(randomUser2.uid, lookedUpRecord.getUid());
187184

188-
lookedUpRecord = auth.getUserByPhoneNumberAsync(randomPhoneNumber3).get();
189-
assertEquals(lookedUpRecord.getUid(), randomUser3.uid);
185+
lookedUpRecord = auth.getUserByPhoneNumberAsync(randomUser3.phone).get();
186+
assertEquals(randomUser3.uid, lookedUpRecord.getUid());
190187
} finally {
191188
auth.deleteUserAsync(randomUser1.uid).get();
192189
auth.deleteUserAsync(randomUser2.uid).get();
@@ -197,22 +194,20 @@ public void testLookupUserByPhone() throws Exception {
197194
@Test
198195
public void testLookupUserByFederatedId() throws Exception {
199196
RandomUser randomUser1 = RandomUser.create();
200-
String phoneNumber1 = null;
201197
RandomUser randomUser2 = RandomUser.create();
202-
String randomPhoneNumber2 = randomPhoneNumber();
203198
RandomUser randomUser3 = RandomUser.create();
204-
String randomPhoneNumber3 = randomPhoneNumber();
205199
try {
206200
UserRecord user1 = createUser(
207201
randomUser1.uid, /* phoneNumber= */ null, randomUser1.email);
208202
UserRecord user2 = createUser(
209-
randomUser2.uid, randomPhoneNumber2, randomUser2.email);
203+
randomUser2.uid, randomUser2.phone, randomUser2.email);
210204
UserImportResult user3 = importUser(
211-
randomUser3.uid, randomPhoneNumber3, randomUser3.email, "google.com");
205+
randomUser3.uid, randomUser3.phone, randomUser3.email,
206+
"google.com", randomUser3.uid + "_google.com");
212207

213208
UserRecord lookedUpRecord = auth.getUserByFederatedIdAsync(
214209
randomUser3.uid + "_google.com", "google.com").get();
215-
assertEquals(lookedUpRecord.getUid(), randomUser3.uid);
210+
assertEquals(randomUser3.uid, lookedUpRecord.getUid());
216211
assertEquals(2, lookedUpRecord.getProviderData().length);
217212
List<String> providers = new ArrayList<>();
218213
for (UserInfo provider : lookedUpRecord.getProviderData()) {
@@ -224,10 +219,9 @@ public void testLookupUserByFederatedId() throws Exception {
224219
try {
225220
// Verify that lookup by federated identifier does not accept "phone".
226221
lookedUpRecord = auth.getUserByFederatedIdAsync(
227-
randomPhoneNumber3, "phone").get();
222+
randomUser3.phone, "phone").get();
228223
fail("No error thrown for non-federated provider");
229-
} catch (IllegalArgumentException ignored) {
230-
// expected
224+
} catch (IllegalArgumentException expected) {
231225
}
232226
} finally {
233227
auth.deleteUserAsync(randomUser1.uid).get();
@@ -258,19 +252,18 @@ public void testUserLifecycle() throws Exception {
258252

259253
// Update user
260254
RandomUser randomUser = RandomUser.create();
261-
String phone = randomPhoneNumber();
262255
UpdateRequest request = userRecord.updateRequest()
263256
.setDisplayName("Updated Name")
264257
.setEmail(randomUser.email)
265-
.setPhoneNumber(phone)
258+
.setPhoneNumber(randomUser.phone)
266259
.setPhotoUrl("https://example.com/photo.png")
267260
.setEmailVerified(true)
268261
.setPassword("secret");
269262
userRecord = auth.updateUserAsync(request).get();
270263
assertEquals(uid, userRecord.getUid());
271264
assertEquals("Updated Name", userRecord.getDisplayName());
272265
assertEquals(randomUser.email, userRecord.getEmail());
273-
assertEquals(phone, userRecord.getPhoneNumber());
266+
assertEquals(randomUser.phone, userRecord.getPhoneNumber());
274267
assertEquals("https://example.com/photo.png", userRecord.getPhotoUrl());
275268
assertTrue(userRecord.isEmailVerified());
276269
assertFalse(userRecord.isDisabled());
@@ -656,7 +649,6 @@ private UserRecord createUser(
656649
String uid,
657650
@Nullable String phoneNumber,
658651
@Nullable String email) throws Exception {
659-
RandomUser randomUser = RandomUser.create();
660652
CreateRequest user = new CreateRequest()
661653
.setUid(uid)
662654
.setDisplayName("Random User")
@@ -676,7 +668,8 @@ private UserImportResult importUser(
676668
String uid,
677669
@Nullable String phoneNumber,
678670
@Nullable String email,
679-
String providerId) throws Exception {
671+
String providerId,
672+
String providerUid) throws Exception {
680673
ImportUserRecord.Builder builder = ImportUserRecord.builder()
681674
.setUid(uid)
682675
.setDisabled(false)
@@ -685,7 +678,7 @@ private UserImportResult importUser(
685678
.addUserProvider(
686679
UserProvider.builder()
687680
.setProviderId(providerId)
688-
.setUid(uid + "_" + providerId)
681+
.setUid(providerUid)
689682
.build());
690683
if (phoneNumber != null) {
691684
builder.setPhoneNumber(phoneNumber);
@@ -713,15 +706,6 @@ private Map<String, String> parseLinkParameters(String link) throws Exception {
713706
return result;
714707
}
715708

716-
private String randomPhoneNumber() {
717-
Random random = new Random();
718-
StringBuilder builder = new StringBuilder("+1");
719-
for (int i = 0; i < 10; i++) {
720-
builder.append(random.nextInt(10));
721-
}
722-
return builder.toString();
723-
}
724-
725709
private String signInWithCustomToken(String customToken) throws IOException {
726710
GenericUrl url = new GenericUrl(VERIFY_CUSTOM_TOKEN_URL + "?key="
727711
+ IntegrationTestUtils.getApiKey());
@@ -805,17 +789,25 @@ private void checkRecreate(String uid) throws Exception {
805789
private static class RandomUser {
806790
private final String uid;
807791
private final String email;
792+
private final String phone;
808793

809-
private RandomUser(String uid, String email) {
794+
private RandomUser(String uid, String email, String phone) {
810795
this.uid = uid;
811796
this.email = email;
797+
this.phone = phone;
812798
}
813799

814800
static RandomUser create() {
815801
final String uid = UUID.randomUUID().toString().replaceAll("-", "");
816802
final String email = ("test" + uid.substring(0, 12) + "@example."
817803
+ uid.substring(12) + ".com").toLowerCase();
818-
return new RandomUser(uid, email);
804+
Random random = new Random();
805+
StringBuilder builder = new StringBuilder("+1");
806+
for (int i = 0; i < 10; i++) {
807+
builder.append(random.nextInt(10));
808+
}
809+
final String phone = builder.toString();
810+
return new RandomUser(uid, email, phone);
819811
}
820812
}
821813
}

0 commit comments

Comments
 (0)