Deployed the page to Github Pages.

This commit is contained in:
Batuhan Berk Başoğlu 2024-11-03 21:30:09 -05:00
parent 1d79754e93
commit 2c89899458
Signed by: batuhan-basoglu
SSH key fingerprint: SHA256:kEsnuHX+qbwhxSAXPUQ4ox535wFHu/hIRaa53FzxRpo
62797 changed files with 6551425 additions and 15279 deletions

View file

@ -0,0 +1,22 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Endpoint } from '../../../src/api';
import { Route } from '../mock_fetch';
export declare function endpointUrl(endpoint: Endpoint): string;
export declare function endpointUrlWithParams(endpoint: Endpoint, params: Record<string, any>): string;
export declare function mockEndpoint(endpoint: Endpoint, response: object, status?: number): Route;
export declare function mockEndpointWithParams(endpoint: Endpoint, params: Record<string, any>, response: object, status?: number): Route;

View file

@ -0,0 +1,20 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Throws tasks to the back of the async task queue.
*/
export declare function delay(cb: () => void): void;

View file

@ -0,0 +1,36 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { PersistenceInternal, PersistenceType, PersistenceValue } from '../../src/core/persistence';
/**
* Helper class for mocking completely broken persistence that errors when
* accessed.
*
* When disabling cookies in Chrome entirely, for example, simply reading the
* "localStorage" field in "window" will throw an error, but this can't be
* checked for by calling `'localStorage' in window`. This class simulates a
* situation where _isAvailable works correctly but all other methods fail.
*/
export declare class ErroringUnavailablePersistence implements PersistenceInternal {
type: PersistenceType;
_isAvailable(): Promise<boolean>;
_set(): Promise<void>;
_get<T extends PersistenceValue>(): Promise<T | null>;
_remove(): Promise<void>;
_addListener(): void;
_removeListener(): void;
_shouldAllowMigration: boolean;
}

View file

@ -0,0 +1,22 @@
/**
* @license
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export declare class FakeServiceWorker {
private readonly listeners;
postMessage(message: any, transfer: MessagePort[]): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, _options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, _options?: boolean | EventListenerOptions): void;
}

View file

@ -0,0 +1,18 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { IdTokenResponse } from '../../src/model/id_token';
export declare const TEST_ID_TOKEN_RESPONSE: IdTokenResponse;

View file

@ -0,0 +1,19 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { AuthEvent } from '../../src/model/popup_redirect';
export declare const BASE_AUTH_EVENT: AuthEvent;
export declare function authEvent(event?: Partial<AuthEvent>): AuthEvent;

View file

@ -0,0 +1,35 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface VerificationSession {
code: string;
phoneNumber: string;
sessionInfo: string;
}
export interface OobCodeSession {
email: string;
requestType: string;
oobCode: string;
oobLink: string;
}
export declare function getPhoneVerificationCodes(): Promise<Record<string, VerificationSession>>;
export declare function getOobCodes(): Promise<OobCodeSession[]>;
export declare function resetEmulator(): Promise<void>;
export declare function createAnonAccount(): Promise<{
localId: string;
idToken: string;
refreshToken: string;
}>;

View file

@ -0,0 +1,32 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { FirebaseServerApp } from '@firebase/app';
import { Auth } from '@firebase/auth';
export declare function randomEmail(): string;
export declare function getTestInstance(requireEmulator?: boolean): Auth;
export declare function getTestInstanceForServerApp(serverApp: FirebaseServerApp): Auth;
export declare function cleanUpTestInstance(auth: Auth): Promise<void>;
export declare function getTotpCode(sharedSecretKey: string, periodSec: number, verificationCodeLength: number, timestamp: Date): string;
export declare const email = "totpuser-donotdelete@test.com";
export declare const password = "password";
export declare const incorrectTotpCode = "1000000";
/**
* Generates a valid password for the project or tenant password policy in the Auth instance.
* @param auth The {@link Auth} instance.
* @returns A valid password according to the password policy.
*/
export declare function generateValidPassword(auth: Auth): Promise<string>;

View file

@ -0,0 +1,23 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { FirebaseOptions } from '@firebase/app';
export declare const USE_EMULATOR: boolean;
export declare const PROJECT_ID: any;
export declare const AUTH_DOMAIN: any;
export declare const API_KEY: any;
export declare function getAppConfig(): FirebaseOptions;
export declare function getEmulatorUrl(): string | null;

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export declare function makeJWT(claims: object): string;

View file

@ -0,0 +1,47 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Provider } from '@firebase/component';
import { AppCheckTokenResult } from '@firebase/app-check-interop-types';
import { PopupRedirectResolver } from '../../src/model/public_types';
import { AuthImpl } from '../../src/core/auth/auth_impl';
import { PersistedBlob } from '../../src/core/persistence';
import { InMemoryPersistence } from '../../src/core/persistence/in_memory';
import { AuthInternal } from '../../src/model/auth';
import { UserInternal } from '../../src/model/user';
export declare const TEST_HOST = "localhost";
export declare const TEST_TOKEN_HOST = "localhost/token";
export declare const TEST_AUTH_DOMAIN = "localhost";
export declare const TEST_SCHEME = "mock";
export declare const TEST_KEY = "test-api-key";
export interface TestAuth extends AuthImpl {
persistenceLayer: MockPersistenceLayer;
}
export declare const FAKE_HEARTBEAT_CONTROLLER: {
getHeartbeatsHeader: () => Promise<string>;
};
export declare const FAKE_HEARTBEAT_CONTROLLER_PROVIDER: Provider<'heartbeat'>;
export declare const FAKE_APP_CHECK_CONTROLLER: {
getToken: () => Promise<AppCheckTokenResult>;
};
export declare const FAKE_APP_CHECK_CONTROLLER_PROVIDER: Provider<'app-check-internal'>;
export declare class MockPersistenceLayer extends InMemoryPersistence {
lastObjectSet: PersistedBlob | null;
_set(key: string, object: PersistedBlob): Promise<void>;
_remove(key: string): Promise<void>;
}
export declare function testAuth(popupRedirectResolver?: PopupRedirectResolver, persistence?: MockPersistenceLayer, skipAwaitOnInit?: boolean): Promise<TestAuth>;
export declare function testUser(auth: AuthInternal, uid: string, email?: string, fakeTokens?: boolean): UserInternal;

View file

@ -0,0 +1,31 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ProviderId, SignInMethod } from '../../src/model/enums';
import { PhoneOrOauthTokenResponse } from '../../src/api/authentication/mfa';
import { AuthCredential } from '../../src/core/credentials';
import { AuthInternal } from '../../src/model/auth';
import { IdTokenResponse } from '../../src/model/id_token';
export declare class MockAuthCredential implements AuthCredential {
readonly providerId: ProviderId;
readonly signInMethod: SignInMethod;
constructor(providerId: ProviderId, signInMethod: SignInMethod);
toJSON(): object;
fromJSON(_json: string | object): AuthCredential | null;
_getIdTokenResponse(_auth: AuthInternal): Promise<PhoneOrOauthTokenResponse>;
_linkToIdToken(_auth: AuthInternal, _idToken: string): Promise<IdTokenResponse>;
_getReauthenticationResolver(_auth: AuthInternal): Promise<IdTokenResponse>;
}

View file

@ -0,0 +1,30 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface Call {
request?: object | string;
method?: string;
headers: Headers;
}
export interface Route {
response: object;
status: number;
calls: Call[];
}
export declare function setUpWithOverride(fetchOverride: typeof fetch): void;
export declare function setUp(): void;
export declare function mock(url: string, response: object, status?: number): Route;
export declare function tearDown(): void;

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,24 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { PopupRedirectResolver } from '../../src/model/public_types';
import { AuthPopup } from '../../src/platform_browser/util/popup';
import { EventManager } from '../../src/model/popup_redirect';
/**
* Generates a PopupRedirectResolver that can be used by the oauth methods.
* These methods expect a class that can be instantiated.
*/
export declare function makeMockPopupRedirectResolver(eventManager?: EventManager, authPopup?: AuthPopup, webStorageSupported?: boolean): PopupRedirectResolver;

View file

@ -0,0 +1,24 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { PersistenceValue } from '../../src/core/persistence';
import { InMemoryPersistence } from '../../src/core/persistence/in_memory';
/** Helper class for handling redirect persistence */
export declare class RedirectPersistence extends InMemoryPersistence {
hasPendingRedirect: boolean;
redirectUser: object | null;
_get<T extends PersistenceValue>(key: string): Promise<T | null>;
}

View file

@ -0,0 +1,34 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface TimerTripFn {
(): void;
}
export interface TimerMap {
[key: number]: TimerTripFn;
}
/**
* Stubs window.setTimeout and returns a map of the functions that were passed
* in (the map is mutable and will be modified as setTimeout gets called).
* You can use this to manually cause timers to trip. The map is keyed by the
* duration of the timeout
*/
export declare function stubTimeouts(ids?: number[]): TimerMap;
/**
* Similar to stubTimeouts, but for use when there's only one timeout you
* care about
*/
export declare function stubSingleTimeout(id?: number): TimerTripFn;

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,18 @@
/**
* @license
* Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Auth } from '@firebase/auth';
export declare function generateMiddlewareTests(authGetter: () => Auth, signIn: () => Promise<unknown>): void;

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,17 @@
/**
* @license
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export {};

View file

@ -0,0 +1,46 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Auth, User, Persistence } from '@firebase/auth';
import { WebDriver } from 'selenium-webdriver';
export declare const START_FUNCTION = "startAuth";
/** Helper wrapper around the WebDriver object */
export declare class AuthDriver {
webDriver: WebDriver;
start(browser: string): Promise<void>;
stop(): Promise<void>;
call<T>(fn: string, ...args: unknown[]): Promise<T>;
callNoWait(fn: string, ...args: unknown[]): Promise<void>;
getAuthSnapshot(): Promise<Auth>;
getUserSnapshot(): Promise<User>;
reset(): Promise<void>;
goToTestPage(): Promise<void>;
waitForAuthInit(): Promise<void>;
waitForLegacyAuthInit(): Promise<void>;
reinitOnRedirect(): Promise<void>;
pause(ms: number): Promise<void>;
refresh(): Promise<void>;
private injectConfig;
injectConfigAndInitAuth(): Promise<void>;
injectConfigAndInitLegacySDK(persistence?: Persistence['type']): Promise<void>;
selectPopupWindow(): Promise<void>;
selectMainWindow(options?: {
noWait?: boolean;
}): Promise<void>;
closePopup(): Promise<void>;
closeExtraWindows(): Promise<void>;
isCompatLayer(): boolean;
}

View file

@ -0,0 +1,81 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/** Available in the browser. See static/anonymous.js */
export declare enum AnonFunction {
SIGN_IN_ANONYMOUSLY = "anonymous.anonymousSignIn"
}
/** Available redirect functions. See static/redirect.js */
export declare enum RedirectFunction {
IDP_REDIRECT = "redirect.idpRedirect",
IDP_REAUTH_REDIRECT = "redirect.idpReauthRedirect",
IDP_LINK_REDIRECT = "redirect.idpLinkRedirect",
REDIRECT_RESULT = "redirect.redirectResult",
GENERATE_CREDENTIAL_FROM_RESULT = "redirect.generateCredentialFromRedirectResultAndStore",
SIGN_IN_WITH_REDIRECT_CREDENTIAL = "redirect.signInWithRedirectCredential",
LINK_WITH_ERROR_CREDENTIAL = "redirect.linkWithErrorCredential",
CREATE_FAKE_GOOGLE_USER = "redirect.createFakeGoogleUser",
TRY_TO_SIGN_IN_UNVERIFIED = "redirect.tryToSignInUnverified"
}
/** Available popup functions. See static/popup.js */
export declare enum PopupFunction {
IDP_POPUP = "popup.idpPopup",
IDP_REAUTH_POPUP = "popup.idpReauthPopup",
IDP_LINK_POPUP = "popup.idpLinkPopup",
POPUP_RESULT = "popup.popupResult",
GENERATE_CREDENTIAL_FROM_RESULT = "popup.generateCredentialFromResult",
SIGN_IN_WITH_POPUP_CREDENTIAL = "popup.signInWithPopupCredential",
LINK_WITH_ERROR_CREDENTIAL = "popup.linkWithErrorCredential",
CREATE_FAKE_GOOGLE_USER = "popup.createFakeGoogleUser",
TRY_TO_SIGN_IN_UNVERIFIED = "popup.tryToSignInUnverified"
}
/** Available email functions. See static/email.js */
export declare enum EmailFunction {
CREATE_USER = "email.createUser"
}
/** Available core functions within the browser. See static/core.js */
export declare enum CoreFunction {
RESET = "core.reset",
AWAIT_AUTH_INIT = "core.authInit",
USER_SNAPSHOT = "core.userSnap",
AUTH_SNAPSHOT = "core.authSnap",
SIGN_OUT = "core.signOut",
AWAIT_LEGACY_AUTH_INIT = "core.legacyAuthInit",
LEGACY_USER_SNAPSHOT = "core.legacyUserSnap"
}
/** Available persistence functions within the browser. See static/persistence.js */
export declare enum PersistenceFunction {
CLEAR_PERSISTENCE = "persistence.clearPersistence",
LOCAL_STORAGE_SNAP = "persistence.localStorageSnap",
LOCAL_STORAGE_SET = "persistence.localStorageSet",
SESSION_STORAGE_SNAP = "persistence.sessionStorageSnap",
SESSION_STORAGE_SET = "persistence.sessionStorageSet",
INDEXED_DB_SNAP = "persistence.indexedDBSnap",
MAKE_INDEXED_DB_READONLY = "persistence.makeIndexedDBReadonly",
SET_PERSISTENCE_MEMORY = "persistence.setPersistenceMemory",
SET_PERSISTENCE_SESSION = "persistence.setPersistenceSession",
SET_PERSISTENCE_INDEXED_DB = "persistence.setPersistenceIndexedDB",
SET_PERSISTENCE_LOCAL_STORAGE = "persistence.setPersistenceLocalStorage"
}
export declare enum MiddlewareFunction {
ATTACH_BLOCKING_MIDDLEWARE = "middleware.attachBlockingMiddleware",
ATTACH_BLOCKING_MIDDLEWARE_ON_START = "middleware.attachBlockingMiddlewareOnStart"
}
/** Available firebase UI functions (only for compat tests) */
export declare enum UiFunction {
LOAD = "ui.loadUiCode",
START = "ui.startUi"
}

View file

@ -0,0 +1,31 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { WebDriver } from 'selenium-webdriver';
export declare class IdPPage {
private readonly driver;
static PAGE_TITLE: string;
constructor(driver: WebDriver);
pageLoad(): Promise<void>;
clickAddAccount(): Promise<void>;
clickSignIn(): Promise<void>;
selectExistingAccountByEmail(email: string): Promise<void>;
fillEmail(email: string): Promise<void>;
fillDisplayName(displayName: string): Promise<void>;
fillScreenName(screenName: string): Promise<void>;
fillProfilePhoto(profilePhoto: string): Promise<void>;
private fillInput;
}

View file

@ -0,0 +1,25 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Condition } from 'selenium-webdriver';
/**
* A condition that looks for the presence of a specified function. This is
* used with WebDriver .wait() as a proxy for determining when the JS has
* finished loading in a page.
*/
export declare class JsLoadCondition extends Condition<boolean> {
constructor(globalValue: string);
}

View file

@ -0,0 +1,19 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { AuthDriver } from './auth_driver';
/** Main entry point for all WebDriver tests */
export declare function browserDescribe(title: string, generator: (driver: AuthDriver, browser: string) => void): void;

View file

@ -0,0 +1,27 @@
/**
* @license
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/** Simple express server for serving up the static files for testing */
declare class AuthTestServer {
private app;
private server;
constructor();
get address(): string;
start(): Promise<void>;
stop(): void;
}
export declare const authTestServer: AuthTestServer;
export {};

View file

@ -0,0 +1,33 @@
/**
* @license
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { WebDriver } from 'selenium-webdriver';
export declare class UiPage {
private readonly driver;
constructor(driver: WebDriver);
clickGuestSignIn(): Promise<void>;
clickGoogleSignIn(): Promise<void>;
clickPhoneSignIn(): Promise<void>;
clickEmailSignIn(): Promise<void>;
clickSubmit(): Promise<void>;
enterPhoneNumber(phoneNumber: string): Promise<void>;
waitForCodeInputToBePresent(): Promise<void>;
enterPhoneCode(code: string): Promise<void>;
enterEmail(email: string): Promise<void>;
enterEmailDisplayName(name: string): Promise<void>;
enterPassword(name: string): Promise<void>;
private fillInput;
}