示例#1
0
 def test_custom_claims(self):
     user = auth.UserRecord({
         'localId':
         'user',
         'customAttributes':
         '{"admin": true, "package": "gold"}'
     })
     assert user.custom_claims == {'admin': True, 'package': 'gold'}
示例#2
0
def test_create_new_user_with_firebase_payload(firebase_authentication,
                                               firebase_payload, firebase_uid,
                                               mocker):
    user_data = {
        "localId": firebase_uid,
        "display_name": "",
        "email": "*****@*****.**",
        "email_verified": True,
        "disabled": False,
    }

    mocker.patch(
        "firebase_auth.authentication.auth.get_user",
        return_value=auth.UserRecord(user_data),
    )

    assert not User.objects.exists()

    new_user = firebase_authentication.authenticate_credentials(
        firebase_payload)

    assert getattr(new_user, User.USERNAME_FIELD) == firebase_uid
    assert new_user.email == user_data["email"]
 def test_invalid_record(self, data):
     with pytest.raises(ValueError):
         auth.UserRecord(data)
示例#4
0
def fake_request(make_request):
    return make_request("Bearer token")


@pytest.mark.parametrize(
    "method,args,exc_msg",
    [
        ("get_user", ("fake_uid", ), ".get_user() must be overriden."),
        (
            "create_user_from_firebase",
            (
                "fake_uid",
                auth.UserRecord({
                    "localId": "fake_uid",
                    "display_name": "walison17",
                    "email": "*****@*****.**",
                    "email_verified": True,
                    "disabled": False,
                }),
            ),
            ".create_user_from_firebase() must be overriden.",
        ),
    ],
)
def test_base_abstract_methods_must_be_overriden(method, args, exc_msg):
    base = BaseFirebaseAuthentication()

    with pytest.raises(NotImplementedError) as exc:
        mcaller = operator.methodcaller(method, *args)
        mcaller(base)
示例#5
0
 def test_no_tokens_valid_after_time(self):
     user = auth.UserRecord({'localId': 'user'})
     assert user.tokens_valid_after_timestamp is 0
示例#6
0
 def test_tokens_valid_after_time(self):
     user = auth.UserRecord({'localId': 'user', 'validSince': 100})
     assert user.tokens_valid_after_timestamp == 100000
示例#7
0
 def test_empty_custom_claims(self):
     user = auth.UserRecord({'localId': 'user', 'customAttributes': '{}'})
     assert user.custom_claims is None
示例#8
0
 def test_no_custom_claims(self):
     user = auth.UserRecord({'localId': 'user'})
     assert user.custom_claims is None