예제 #1
0
def import_without_password():
    # [START import_without_password]
    users = [
        auth.ImportUserRecord(
            uid='some-uid',
            display_name='John Doe',
            email='*****@*****.**',
            photo_url='http://www.example.com/12345678/photo.png',
            email_verified=True,
            phone_number='+11234567890',
            custom_claims={'admin': True},  # set this user as admin
            provider_data=[  # user with Google provider
                auth.UserProvider(
                    uid='google-uid',
                    email='*****@*****.**',
                    display_name='John Doe',
                    photo_url='http://www.example.com/12345678/photo.png',
                    provider_id='google.com')
            ],
        ),
    ]
    try:
        result = auth.import_users(users)
        for err in result.errors:
            print('Failed to import user:'******'Error importing users:', error)
예제 #2
0
 def test_all_params(self):
     providers = [auth.UserProvider(uid='test', provider_id='google.com')]
     metadata = auth.UserMetadata(100, 150)
     user = auth.ImportUserRecord(uid='test',
                                  email='*****@*****.**',
                                  photo_url='https://test.com/user.png',
                                  phone_number='+1234567890',
                                  display_name='name',
                                  user_metadata=metadata,
                                  password_hash=b'password',
                                  password_salt=b'NaCl',
                                  custom_claims={'admin': True},
                                  email_verified=True,
                                  disabled=False,
                                  provider_data=providers)
     expected = {
         'localId': 'test',
         'email': '*****@*****.**',
         'photoUrl': 'https://test.com/user.png',
         'phoneNumber': '+1234567890',
         'displayName': 'name',
         'createdAt': 100,
         'lastLoginAt': 150,
         'passwordHash': _user_import.b64_encode(b'password'),
         'salt': _user_import.b64_encode(b'NaCl'),
         'customAttributes': json.dumps({'admin': True}),
         'emailVerified': True,
         'disabled': False,
         'providerUserInfo': [{
             'rawId': 'test',
             'providerId': 'google.com'
         }],
     }
     assert user.to_dict() == expected
 def test_all_params(self):
     provider = auth.UserProvider(
         uid='test', provider_id='google.com', email='*****@*****.**',
         display_name='Test Name', photo_url='https://test.com/user.png')
     expected = {
         'rawId': 'test',
         'providerId': 'google.com',
         'email': '*****@*****.**',
         'displayName': 'Test Name',
         'photoUrl': 'https://test.com/user.png'
     }
     assert provider.to_dict() == expected
예제 #4
0
def new_user_with_provider() -> auth.UserRecord:
    uid4, email4 = _random_id()
    google_uid, google_email = _random_id()
    import_user1 = auth.ImportUserRecord(uid=uid4,
                                         email=email4,
                                         provider_data=[
                                             auth.UserProvider(
                                                 uid=google_uid,
                                                 provider_id='google.com',
                                                 email=google_email,
                                             )
                                         ])
    user_import_result = auth.import_users([import_user1])
    assert user_import_result.success_count == 1
    assert user_import_result.failure_count == 0

    user = auth.get_user(uid4)
    yield user
    auth.delete_user(user.uid)
예제 #5
0
 def test_invalid_arg(self, arg):
     with pytest.raises(ValueError):
         auth.UserProvider(uid='test', provider_id='google.com', **arg)
예제 #6
0
 def test_invalid_provider_id(self, arg):
     with pytest.raises(ValueError):
         auth.UserProvider(uid='test', provider_id=arg)
예제 #7
0
 def test_invalid_uid(self, arg):
     with pytest.raises(ValueError):
         auth.UserProvider(uid=arg, provider_id='google.com')
예제 #8
0
 def test_uid_and_provider_id(self):
     provider = auth.UserProvider(uid='test', provider_id='google.com')
     expected = {'rawId': 'test', 'providerId': 'google.com'}
     assert provider.to_dict() == expected