Assinatura:
export interface RulesTestEnvironment
Propriedades
Propriedade | Tipo | Descrição |
---|---|---|
emuladores | {banco de dados? HostAndPort Firestore? HostAndPort de 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 simulado do Firebase Auth anexado. |
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() . |
clearDatabase() (em inglês). | Limpe todos os dados no namespace do emulador do Realtime Database. |
clearFirestore() (em inglês) | Limpe os dados no Firestore que pertencem a projectId no emulador do Firestore. |
clearStorage() (link em inglês). | 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 pelo Firebase Auth.As solicitações criadas com o 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.
Assinatura:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RulesTestEnvironment.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 pelo 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 |
---|---|---|
user_id | string | o User-ID do usuário. Especifica o valor de "user_id" e "sub" no token |
tokenOptions | TokenOptions (em inglês) | declarações ou substituições personalizadas para payloads de token do Firebase Auth |
Retorna:
RulesTestContext (link em inglês)
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 altera o estado nos emuladores. Para redefinir dados entre testes, consulte clearDatabase()
, clearFirestore()
e clearStorage()
.
Assinatura:
cleanup(): Promise<void>;
Retorna:
Promessa<void>
RulesTestEnvironment.clearDatabase()
Limpe todos os dados no namespace do emulador do Realtime Database.
Assinatura:
clearDatabase(): Promise<void>;
Retorna:
Promessa<void>
RulesTestEnvironment.clearFirestore()
Limpar dados no banco de dados padrão do Firestore para projectId
no emulador do Firestore.
Assinatura:
clearFirestore(): Promise<void>;
Retorna:
Promessa<void>
RulesTestEnvironment.clearStorage()
Limpe arquivos e metadados do Storage no bucket ativo 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 pelo Firebase Auth.
As solicitações criadas pelo contexto retornado não terão tokens do Firebase Auth anexados.
Assinatura:
unauthenticatedContext(): RulesTestContext;
Retorna:
RulesTestContext (link em inglês)
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 |
---|---|---|
callback | (contexto: RulesTestContext) => Promessa<void> |
Retorna:
Promessa<void>