public void AllProperties() { var response = new GetAccountInfoResponse.User() { UserId = "user1", DisplayName = "Test User", Email = "*****@*****.**", PhoneNumber = "+11234567890", PhotoUrl = "https://domain.com/user.png", Disabled = true, EmailVerified = true, ValidSince = 3600, CreatedAt = 100, LastLoginAt = 150, CustomClaims = @"{""admin"": true, ""level"": 10}", TenantId = "tenant1", Providers = new List <GetAccountInfoResponse.Provider>() { new GetAccountInfoResponse.Provider() { ProviderID = "google.com", UserId = "googleuid", }, new GetAccountInfoResponse.Provider() { ProviderID = "other.com", UserId = "otheruid", DisplayName = "Other Name", Email = "*****@*****.**", PhotoUrl = "https://other.com/user.png", PhoneNumber = "+10987654321", }, }, }; var user = new UserRecord(response); Assert.Equal("user1", user.Uid); Assert.Equal("Test User", user.DisplayName); Assert.Equal("*****@*****.**", user.Email); Assert.Equal("+11234567890", user.PhoneNumber); Assert.Equal("https://domain.com/user.png", user.PhotoUrl); Assert.Equal("firebase", user.ProviderId); Assert.True(user.Disabled); Assert.True(user.EmailVerified); Assert.Equal(UserRecord.UnixEpoch.AddSeconds(3600), user.TokensValidAfterTimestamp); var claims = new Dictionary <string, object>() { { "admin", true }, { "level", 10L }, }; Assert.Equal(claims, user.CustomClaims); Assert.Equal("tenant1", user.TenantId); Assert.Equal(2, user.ProviderData.Length); var provider = user.ProviderData[0]; Assert.Equal("google.com", provider.ProviderId); Assert.Equal("googleuid", provider.Uid); Assert.Null(provider.DisplayName); Assert.Null(provider.Email); Assert.Null(provider.PhoneNumber); Assert.Null(provider.PhotoUrl); provider = user.ProviderData[1]; Assert.Equal("other.com", provider.ProviderId); Assert.Equal("otheruid", provider.Uid); Assert.Equal("Other Name", provider.DisplayName); Assert.Equal("*****@*****.**", provider.Email); Assert.Equal("+10987654321", provider.PhoneNumber); Assert.Equal("https://other.com/user.png", provider.PhotoUrl); var metadata = user.UserMetaData; Assert.NotNull(metadata); Assert.Equal(UserRecord.UnixEpoch.AddMilliseconds(100), metadata.CreationTimestamp); Assert.Equal(UserRecord.UnixEpoch.AddMilliseconds(150), metadata.LastSignInTimestamp); }
internal ExportedUserRecord(GetAccountInfoResponse.User user) : base(user) { this.PasswordHash = user.PasswordHash; this.PasswordSalt = user.PasswordSalt; }