Podpis:
export interface RulesTestEnvironment
Właściwości
Właściwość | Typ | Opis |
---|---|---|
emulatory | {baza danych?: HostAndPort; Firestore?: HostAndPort; miejsce na dane?: HostAndPort; } | Kopia konfiguracji emulatora określona lub wykryta podczas tworzenia środowiska testowego. Kopia konfiguracji emulatora jest dostępna tylko do odczytu. |
projectId | string, | Identyfikator projektu określony lub wykryty podczas tworzenia środowiska testowego. |
Metody
Metoda | Opis |
---|---|
authenticatedContext(user_id, tokenOptions) | Utwórz RulesTestContext , który zachowuje się jak uwierzytelniony użytkownik Uwierzytelniania Firebase.Żądania utworzone za pomocą zwróconego kontekstu będą miały dołączony próbny token uwierzytelniania Firebase. |
cleanup() | Wywołaj funkcję czyszczenia na samym końcu kodu testowego. Zniszcz wszystkie elementy RulesTestContexts utworzone w środowisku testowym i wyczyść zasoby bazowe, co pozwoli uzyskać czyste wyjście.Ta metoda w żaden sposób nie zmienia stanu w emulatorach. Aby zresetować dane między testami, zobacz clearDatabase() , clearFirestore() i clearStorage() . |
clearDatabase() | Wyczyść wszystkie dane w przestrzeni nazw emulatora bazy danych czasu rzeczywistego. |
clearFirestore() | Wyczyść w Firestore dane, które należą do obszaru projectId w emulatorze Firestore. |
clearStorage() | Wyczyść pliki i metadane pamięci masowej we wszystkich zasobnikach w emulatorze pamięci masowej. |
unauthenticatedContext() | Utwórz RulesTestContext , który zachowuje się jak klient, który NIE jest zalogowany przez Uwierzytelnienie Firebase.Żądania utworzone za pomocą zwróconego kontekstu nie będą miały dołączonych tokenów uwierzytelniania Firebase. |
withSecurityRulesDisabled(callback) |
RulesTestEnvironment.emulators
Kopia konfiguracji emulatora określona lub wykryta podczas tworzenia środowiska testowego. Kopia konfiguracji emulatora jest dostępna tylko do odczytu.
Podpis:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RulesTestEnvironment.projectId
Identyfikator projektu określony lub wykryty podczas tworzenia środowiska testowego.
Podpis:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
Utwórz RulesTestContext
, który zachowuje się jak uwierzytelniony użytkownik uwierzytelniania Firebase.
Żądania utworzone za pomocą zwróconego kontekstu będą miały dołączony próbny token uwierzytelniania Firebase.
Podpis:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
Parametry
Parametr | Typ | Opis |
---|---|---|
user_id | string, | identyfikator użytkownika. Określa wartość „user_id” i „sub” w tokenie |
tokenOptions | TokenOptions | niestandardowe deklaracje lub zastąpienia ładunków tokena uwierzytelniania Firebase |
Zwroty:
Przykład
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RulesTestEnvironment.cleanup()
Wywołaj funkcję czyszczenia na samym końcu kodu testowego. Zniszcz wszystkie elementy RulesTestContexts utworzone w środowisku testowym i wyczyść zasoby bazowe, aby uzyskać czyste wyjście.
Ta metoda w żaden sposób nie zmienia stanu w emulatorach. Aby zresetować dane między testami, zobacz clearDatabase()
, clearFirestore()
i clearStorage()
.
Podpis:
cleanup(): Promise<void>;
Zwroty:
Promise<void>
RulesTestEnvironment.clearDatabase()
Wyczyść wszystkie dane w przestrzeni nazw emulatora bazy danych czasu rzeczywistego.
Podpis:
clearDatabase(): Promise<void>;
Zwroty:
Promise<void>
RulesTestEnvironment.clearFirestore()
Wyczyść dane w domyślnej bazie danych Firestore dla projectId
w emulatorze Firestore.
Podpis:
clearFirestore(): Promise<void>;
Zwroty:
Promise<void>
RulesTestEnvironment.clearStorage()
Wyczyść pliki i metadane pamięci masowej w aktywnym zasobniku w emulatorze pamięci masowej.
Podpis:
clearStorage(): Promise<void>;
Zwroty:
Promise<void>
RulesTestEnvironment.unauthenticatedContext()
Utwórz RulesTestContext
, który zachowuje się jak klient, który NIE jest zalogowany przez Uwierzytelnienie Firebase.
Żądania utworzone za pomocą zwróconego kontekstu nie będą miały dołączonych tokenów uwierzytelniania Firebase.
Podpis:
unauthenticatedContext(): RulesTestContext;
Zwroty:
Przykład
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
Podpis:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
Parametry
Parametr | Typ | Opis |
---|---|---|
wywołanie zwrotne | (Kontekst: RulesTestContext) => Obietnica<void> |
Zwroty:
Promise<void>