Firma:
export interface RulesTestEnvironment
Propiedades
Propiedad | Tipo | Descripción |
---|---|---|
emuladores | {base de datos?: HostAndPort ; ¿Tienda de fuego?: HostAndPort ; almacenamiento?: HostAndPort ; } | Una copia de solo lectura de la configuración del emulador especificada o descubierta durante la creación del entorno de prueba. |
Projecto ID | cadena | El ID del proyecto especificado o descubierto en la creación del entorno de prueba. |
Métodos
Método | Descripción |
---|---|
contextoautenticado(user_id, tokenOptions) | Cree un RulesTestContext que se comporte como un usuario autenticado de Firebase Auth. Las solicitudes creadas a través del contexto devuelto tendrán adjunto un token de autenticación de Firebase simulado. |
limpiar() | Al final de su código de prueba, llame a la función de limpieza. Destruya todos los RulesTestContexts creados en el entorno de prueba y limpie los recursos subyacentes, permitiendo una salida limpia. Este método no cambia el estado en los emuladores de ninguna manera. Para restablecer datos entre pruebas, consulte clearDatabase() , clearFirestore() y clearStorage() . |
borrar base de datos() | Borre todos los datos en el espacio de nombres del emulador de Realtime Database. |
borrarFirestore() | Borre los datos en Firestore que pertenecen al projectId en el emulador de Firestore. |
almacenaje vacío() | Borre los archivos y metadatos de almacenamiento en todos los depósitos del emulador de almacenamiento. |
Contexto no autenticado() | Cree un RulesTestContext que se comporte como un cliente que NO ha iniciado sesión a través de Firebase Auth. Las solicitudes creadas a través del contexto devuelto no tendrán tokens de autenticación de Firebase adjuntos. |
conSecurityRulesDisabled(devolución de llamada) |
RulesTestEnvironment.emuladores
Una copia de solo lectura de la configuración del emulador especificada o descubierta durante la creación del entorno de prueba.
Firma:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
ReglasTestEnvironment.projectId
El ID del proyecto especificado o descubierto en la creación del entorno de prueba.
Firma:
readonly projectId: string;
ReglasTestEnvironment.authenticatedContext()
Cree un RulesTestContext
que se comporte como un usuario autenticado de Firebase Auth.
Las solicitudes creadas a través del contexto devuelto tendrán adjunto un token de autenticación de Firebase simulado.
Firma:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
ID_usuario | cadena | el ID de usuario del usuario. Especifica el valor de "user_id" y "sub" en el token |
opciones de token | Opciones de token | reclamaciones personalizadas o anulaciones para cargas útiles de tokens de autenticación de Firebase |
Devoluciones:
Ejemplo
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
ReglasTestEnvironment.cleanup()
Al final de su código de prueba, llame a la función de limpieza. Destruya todos los RulesTestContexts creados en el entorno de prueba y limpie los recursos subyacentes, permitiendo una salida limpia.
Este método no cambia el estado en los emuladores de ninguna manera. Para restablecer datos entre pruebas, consulte clearDatabase()
, clearFirestore()
y clearStorage()
.
Firma:
cleanup(): Promise<void>;
Devoluciones:
Promesa<nulo>
ReglasTestEnvironment.clearDatabase()
Borre todos los datos en el espacio de nombres del emulador de Realtime Database.
Firma:
clearDatabase(): Promise<void>;
Devoluciones:
Promesa<nulo>
ReglasTestEnvironment.clearFirestore()
Borre los datos en Firestore que pertenecen al projectId
en el emulador de Firestore.
Firma:
clearFirestore(): Promise<void>;
Devoluciones:
Promesa<nulo>
ReglasTestEnvironment.clearStorage()
Borre los archivos y metadatos de almacenamiento en todos los depósitos del emulador de almacenamiento.
Firma:
clearStorage(): Promise<void>;
Devoluciones:
Promesa<nulo>
RulesTestEnvironment.unauthenticatedContext()
Cree un RulesTestContext
que se comporte como un cliente que NO ha iniciado sesión a través de Firebase Auth.
Las solicitudes creadas a través del contexto devuelto no tendrán tokens de autenticación de Firebase adjuntos.
Firma:
unauthenticatedContext(): RulesTestContext;
Devoluciones:
Ejemplo
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
ReglasTestEnvironment.withSecurityRulesDisabled()
Firma:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
llamar de vuelta | (contexto: ReglasTestContext ) => Promesa<nulo> |
Devoluciones:
Promesa<nulo>