Signature:
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. |
projectId | string | 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 pelo contexto retornado terão um token fictício do Firebase Auth anexado. |
cleanup() (em inglês) | 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.Esse método não muda o estado nos emuladores. Para redefinir dados entre testes, consulte clearDatabase() , clearFirestore() e clearStorage() . |
clearDatabase() | Limpa todos os dados no namespace do emulador do Realtime Database. |
clearFirestore() | Limpe os dados no Firestore que pertencem ao projectId no emulador do Firestore. |
clearStorage() | Limpe arquivos e metadados do Storage em todos os buckets no emulador do Storage. |
unauthenticatedContext() | Crie um RulesTestContext que se comporte como um cliente que NÃO está conectado com o Firebase Auth.As solicitações criadas pelo contexto retornado não terão tokens do Firebase Auth anexados. |
withSecurityRulesDisabled(callback) |
RulesTestEnvironment.emulators
Uma cópia somente leitura da configuração do emulador especificada ou descoberta na criação do ambiente de teste.
Signature:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RulesTestEnvironment.projectId
O ID do projeto especificado ou descoberto na criação do ambiente de teste.
Signature:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
Crie um RulesTestContext
que se comporte como um usuário autenticado do Firebase Auth.
As solicitações criadas pelo contexto retornado terão um token simulado do Firebase Auth anexado.
Signature:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
user_id | string | o User-ID. Especifica o valor de "user_id" e "sub" no token |
tokenOptions | TokenOptions | declarações ou substituições personalizadas para payloads do token do Firebase Auth |
Retorna:
Exemplo
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RulesTestEnvironment.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.
Esse método não muda o estado nos emuladores. Para redefinir dados entre testes, consulte clearDatabase()
, clearFirestore()
e clearStorage()
.
Signature:
cleanup(): Promise<void>;
Retorna:
Promise<void>
RulesTestEnvironment.clearDatabase()
Limpa todos os dados no namespace do emulador do Realtime Database.
Signature:
clearDatabase(): Promise<void>;
Retorna:
Promise<void>
RulesTestEnvironment.clearFirestore()
Limpar dados no banco de dados padrão do Firestore para projectId
no emulador do Firestore.
Signature:
clearFirestore(): Promise<void>;
Retorna:
Promise<void>
RulesTestEnvironment.clearStorage()
Limpe arquivos e metadados do Storage no bucket ativo do emulador do Storage.
Signature:
clearStorage(): Promise<void>;
Retorna:
Promise<void>
RulesTestEnvironment.unauthenticatedContext()
Crie um RulesTestContext
que se comporte como um cliente que NÃO está conectado pelo Firebase Auth.
As solicitações criadas pelo contexto retornado não terão tokens do Firebase Auth anexados.
Signature:
unauthenticatedContext(): RulesTestContext;
Retorna:
Exemplo
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
Signature:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
callback | (contexto: RulesTestContext) => Promessa<void> |
Retorna:
Promise<void>