Assinatura:
export interface RulesTestEnvironment
Propriedades
Propriedade | Tipo | Descrição |
---|---|---|
emuladores | {banco de dados?: HostAndPort ; firestore?: HostAndPort ; armazenamento?: HostAndPort ; } | Uma cópia somente leitura da configuração do emulador especificada ou descoberta na criação do ambiente de teste. |
ID do projeto | corda | O ID do projeto especificado ou descoberto na criação do ambiente de teste. |
Métodos
Método | Descrição |
---|---|
authenticatedContext(user_id, tokenOptions) | Crie um RulesTestContext que se comporte como um usuário autenticado do Firebase Auth. As solicitações criadas por meio do contexto retornado terão um token simulado do Firebase Auth anexado. |
limpar() | No final do seu código de teste, chame a função de limpeza. Destrua todos os RulesTestContexts criados no ambiente de teste e limpe os recursos subjacentes, permitindo uma saída limpa. Este método não altera o estado dos emuladores de forma alguma. Para redefinir dados entre testes, consulte clearDatabase() , clearFirestore() e clearStorage() . |
limparBancoDeDados() | Limpe todos os dados no namespace do emulador do Realtime Database. |
limparFirestore() | Limpe os dados no Firestore que pertencem ao projectId no emulador do Firestore. |
armazenagem limpa() | Limpe os arquivos e metadados do Storage em todos os buckets do emulador do Storage. |
não autenticadoContext() | Crie um RulesTestContext que se comporte como um cliente que NÃO está conectado via Firebase Auth. As solicitações criadas por meio do contexto retornado não terão tokens do Firebase Auth anexados. |
withSecurityRulesDisabled(retorno de chamada) |
RulesTestEnvironment.emuladores
Uma cópia somente leitura da configuração do emulador especificada ou descoberta na criação do ambiente de teste.
Assinatura:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RegrasTestEnvironment.projectId
O ID do projeto especificado ou descoberto na criação do ambiente de teste.
Assinatura:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
Crie um RulesTestContext
que se comporte como um usuário autenticado do Firebase Auth.
As solicitações criadas por meio do contexto retornado terão um token simulado do Firebase Auth anexado.
Assinatura:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
ID do usuário | corda | o ID do usuário do usuário. Especifica o valor de "user_id" e "sub" no token |
opções de token | Opções de token | declarações ou substituições personalizadas para cargas úteis de token do Firebase Auth |
Retorna:
Exemplo
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RegrasTestEnvironment.cleanup()
No final do seu código de teste, chame a função de limpeza. Destrua todos os RulesTestContexts criados no ambiente de teste e limpe os recursos subjacentes, permitindo uma saída limpa.
Este método não altera o estado dos emuladores de forma alguma. Para redefinir dados entre testes, consulte clearDatabase()
, clearFirestore()
e clearStorage()
.
Assinatura:
cleanup(): Promise<void>;
Retorna:
Promessa<void>
RegrasTestEnvironment.clearDatabase()
Limpe todos os dados no namespace do emulador do Realtime Database.
Assinatura:
clearDatabase(): Promise<void>;
Retorna:
Promessa<void>
RegrasTestEnvironment.clearFirestore()
Limpe os dados no Firestore que pertencem ao projectId
no emulador do Firestore.
Assinatura:
clearFirestore(): Promise<void>;
Retorna:
Promessa<void>
RegrasTestEnvironment.clearStorage()
Limpe os arquivos e metadados do Storage em todos os buckets do emulador do Storage.
Assinatura:
clearStorage(): Promise<void>;
Retorna:
Promessa<void>
RulesTestEnvironment.unauthenticatedContext()
Crie um RulesTestContext
que se comporte como um cliente que NÃO está conectado via Firebase Auth.
As solicitações criadas por meio do contexto retornado não terão tokens do Firebase Auth anexados.
Assinatura:
unauthenticatedContext(): RulesTestContext;
Retorna:
Exemplo
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
Assinatura:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
ligar de volta | (contexto: RulesTestContext ) => Promessa<void> |
Retorna:
Promessa<void>