import six

import firebase_admin
from firebase_admin import auth
from firebase_admin import credentials
from firebase_admin import _user_mgt
from tests import testutils

FIREBASE_AUDIENCE = ('https://identitytoolkit.googleapis.com/'
                     'google.identity.identitytoolkit.v1.IdentityToolkit')
GCLOUD_PROJECT_ENV_VAR = 'GCLOUD_PROJECT'

MOCK_UID = 'user1'
MOCK_CREDENTIAL = credentials.Certificate(
    testutils.resource_filename('service_account.json'))
MOCK_PUBLIC_CERTS = testutils.resource('public_certs.json')
MOCK_PRIVATE_KEY = testutils.resource('private_key.pem')
MOCK_SERVICE_ACCOUNT_EMAIL = MOCK_CREDENTIAL.service_account_email

INVALID_STRINGS = [None, '', 0, 1, True, False, list(), tuple(), dict()]
INVALID_BOOLS = [None, '', 'foo', 0, 1, list(), tuple(), dict()]
INVALID_DICTS = [None, 'foo', 0, 1, True, False, list(), tuple()]

MOCK_GET_USER_RESPONSE = testutils.resource('get_user.json')


class AuthFixture(object):
    def __init__(self, name=None):
        if name:
            self.app = firebase_admin.get_app(name)
        else:
 def test_init_from_dict(self):
     parsed_json = json.loads(testutils.resource('refresh_token.json'))
     credential = credentials.RefreshToken(parsed_json)
     self._verify_credential(credential)
 def test_init_from_dict(self):
     parsed_json = json.loads(testutils.resource('service_account.json'))
     credential = credentials.Certificate(parsed_json)
     self._verify_credential(credential)
Ejemplo n.º 4
0
def revoked_tokens():
    mock_user = json.loads(testutils.resource('get_user.json'))
    mock_user['users'][0]['validSince'] = str(int(time.time()) + 100)
    return json.dumps(mock_user)
Ejemplo n.º 5
0
# See the License for the specific language governing permissions and
# limitations under the License.
"""Test cases for the firebase_admin._auth_providers module."""

import json

import pytest

import firebase_admin
from firebase_admin import auth
from firebase_admin import exceptions
from firebase_admin import _auth_providers
from tests import testutils

USER_MGT_URL_PREFIX = 'https://identitytoolkit.googleapis.com/v2beta1/projects/mock-project-id'
OIDC_PROVIDER_CONFIG_RESPONSE = testutils.resource('oidc_provider_config.json')
SAML_PROVIDER_CONFIG_RESPONSE = testutils.resource('saml_provider_config.json')
LIST_OIDC_PROVIDER_CONFIGS_RESPONSE = testutils.resource(
    'list_oidc_provider_configs.json')
LIST_SAML_PROVIDER_CONFIGS_RESPONSE = testutils.resource(
    'list_saml_provider_configs.json')

CONFIG_NOT_FOUND_RESPONSE = """{
    "error": {
        "message": "CONFIGURATION_NOT_FOUND"
    }
}"""

INVALID_PROVIDER_IDS = [None, True, False, 1, 0, list(), tuple(), dict(), '']

Ejemplo n.º 6
0
from six.moves import urllib

INVALID_STRINGS = [None, '', 0, 1, True, False, list(), tuple(), dict()]
INVALID_DICTS = [None, 'foo', 0, 1, True, False, list(), tuple()]
INVALID_INTS = [
    None, 'foo', '1', -1, 1.1, True, False,
    list(), tuple(),
    dict()
]
INVALID_TIMESTAMPS = [
    'foo', '1', 0, -1, 1.1, True, False,
    list(), tuple(),
    dict()
]

MOCK_GET_USER_RESPONSE = testutils.resource('get_user.json')
MOCK_LIST_USERS_RESPONSE = testutils.resource('list_users.json')


@pytest.fixture(scope='module')
def user_mgt_app():
    app = firebase_admin.initialize_app(
        testutils.MockCredential(),
        name='userMgt',
        options={'projectId': 'mock-project-id'})
    yield app
    firebase_admin.delete_app(app)


def _instrument_user_manager(app, status, payload):
    auth_service = auth._get_auth_service(app)
Ejemplo n.º 7
0
def user_disabled_and_revoked():
    mock_user = json.loads(testutils.resource('get_user.json'))
    mock_user['users'][0]['disabled'] = True
    mock_user['users'][0]['validSince'] = str(int(time.time()) + 100)
    return json.dumps(mock_user)
Ejemplo n.º 8
0
def user_disabled():
    mock_user = json.loads(testutils.resource('get_user.json'))
    mock_user['users'][0]['disabled'] = True
    return json.dumps(mock_user)
Ejemplo n.º 9
0
import google.oauth2.id_token
import pytest
import six

import firebase_admin
from firebase_admin import auth
from firebase_admin import credentials
from tests import testutils

FIREBASE_AUDIENCE = ('https://identitytoolkit.googleapis.com/'
                     'google.identity.identitytoolkit.v1.IdentityToolkit')

MOCK_UID = 'user1'
MOCK_CREDENTIAL = credentials.Certificate(
    testutils.resource_filename('service_account.json'))
MOCK_PUBLIC_CERTS = testutils.resource('public_certs.json')
MOCK_PRIVATE_KEY = testutils.resource('private_key.pem')
MOCK_SERVICE_ACCOUNT_EMAIL = MOCK_CREDENTIAL.service_account_email


class AuthFixture(object):
    def __init__(self, name=None):
        if name:
            self.app = firebase_admin.get_app(name)
        else:
            self.app = None

    def create_custom_token(self, *args):
        if self.app:
            return auth.create_custom_token(*args, app=self.app)
        else:
Ejemplo n.º 10
0
LIST_TENANTS_RESPONSE_WITH_TOKEN = """{
    "tenants": [
        {
            "name": "projects/mock-project-id/tenants/tenant0"
        },
        {
            "name": "projects/mock-project-id/tenants/tenant1"
        },
        {
            "name": "projects/mock-project-id/tenants/tenant2"
        }
    ],
    "nextPageToken": "token"
}"""

MOCK_GET_USER_RESPONSE = testutils.resource('get_user.json')
MOCK_LIST_USERS_RESPONSE = testutils.resource('list_users.json')

OIDC_PROVIDER_CONFIG_RESPONSE = testutils.resource('oidc_provider_config.json')
OIDC_PROVIDER_CONFIG_REQUEST = {
    'displayName': 'oidcProviderName',
    'enabled': True,
    'clientId': 'CLIENT_ID',
    'issuer': 'https://oidc.com/issuer',
}

SAML_PROVIDER_CONFIG_RESPONSE = testutils.resource('saml_provider_config.json')
SAML_PROVIDER_CONFIG_REQUEST = body = {
    'displayName': 'samlProviderName',
    'enabled': True,
    'idpConfig': {