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)
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)
# 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(), '']
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)
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)
def user_disabled(): mock_user = json.loads(testutils.resource('get_user.json')) mock_user['users'][0]['disabled'] = True return json.dumps(mock_user)
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:
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': {