Podpis:
export interface RulesTestEnvironment
Właściwości
Właściwość | Typ | Opis |
---|---|---|
emulatory | { baza danych?: HostAndPort; Firestore?: HostAndPort; pamięci masowej?: HostAndPort; | Kopia konfiguracji emulatora tylko do odczytu określonej lub wykrytej podczas tworzenia środowiska testowego. |
identyfikator projektu | ciąg znaków | Identyfikator projektu określony lub wykryty podczas tworzenia środowiska testowego. |
Metody
Metoda | Opis |
---|---|
authenticatedContext(user_id, tokenOptions) | Utwórz RulesTestContext , który działa jak uwierzytelniony użytkownik Uwierzytelniania Firebase.Do żądań utworzonych na podstawie zwróconego kontekstu będzie dołączony próbny token uwierzytelniania Firebase. |
cleanup(), | Na samym końcu kodu testowego wywołaj funkcję czyszczenia. Zniszcz wszystkie obiekty RulesTestContexts utworzone w środowisku testowym i wyczyść bazowe zasoby, pozostawiając czyste wyjście.Ta metoda w żaden sposób nie zmienia stanu emulatorów. Informacje o resetowaniu danych między testami znajdziesz tutaj: clearDatabase() , clearFirestore() i clearStorage() . |
clearDatabase() | Wyczyść wszystkie dane w przestrzeni nazw emulatora Bazy danych czasu rzeczywistego. |
clearFirestore() | Wyczyść dane w Firestore, które należą do elementu projectId , w emulatorze Firestore. |
clearStorage() | Wyczyść pliki i metadane Storage ze wszystkich zasobników w emulatorze pamięci masowej. |
unauthenticatedContext(). | Utwórz RulesTestContext , który działa jak klient, który NIE jest zalogowany przez Uwierzytelnianie Firebase.Do żądań utworzonych przy użyciu zwróconego kontekstu nie będą dołączone tokeny uwierzytelniania Firebase. |
withSecurityRulesDisabled(wywołanie zwrotne) |
ŚrodowiskoTestu reguł.emulators
Kopia konfiguracji emulatora tylko do odczytu określonej lub wykrytej podczas tworzenia środowiska testowego.
Podpis:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
ŚrodowiskoTestu reguł.Identyfikator projektu
Identyfikator projektu określony lub wykryty podczas tworzenia środowiska testowego.
Podpis:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
Utwórz RulesTestContext
, który działa jak uwierzytelniony użytkownik Uwierzytelniania Firebase.
Do żądań utworzonych przy użyciu zwróconego kontekstu zostanie dołączony przykładowy token uwierzytelniania Firebase.
Podpis:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
Parametry
Parametr | Typ | Opis |
---|---|---|
user_id | ciąg znaków | identyfikator użytkownika. Określa wartość parametru „user_id” i „subskr” w tokenie |
Opcje tokenów | TokenOptions | deklaracje niestandardowe lub zastąpienia dla ładunków tokenów uwierzytelniania Firebase |
Zwroty:
Przykład
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RulesTestEnvironment.cleanup()
Na samym końcu kodu testowego wywołaj funkcję czyszczenia. Zniszcz wszystkie obiekty RulesTestContexts utworzone w środowisku testowym i wyczyść zasoby bazowe, umożliwiając czyste wyjście.
Ta metoda w żaden sposób nie zmienia stanu w emulatorach. Informacje o resetowaniu danych między testami znajdziesz tutaj: clearDatabase()
, clearFirestore()
i clearStorage()
.
Podpis:
cleanup(): Promise<void>;
Zwroty:
Obietnica<void>
RulesTestEnvironment.clearDatabase()
Wyczyść wszystkie dane w przestrzeni nazw emulatora Bazy danych czasu rzeczywistego.
Podpis:
clearDatabase(): Promise<void>;
Zwroty:
Obietnica<void>
RulesTestEnvironment.clearFirestore()
Wyczyść dane w domyślnej bazie danych Firestore obiektu projectId
w emulatorze Firestore.
Podpis:
clearFirestore(): Promise<void>;
Zwroty:
Obietnica<void>
RulesTestEnvironment.clearStorage()
Wyczyść pliki i metadane Storage w aktywnym zasobniku w emulatorze pamięci masowej.
Podpis:
clearStorage(): Promise<void>;
Zwroty:
Obietnica<void>
RulesTestEnvironment.unauthenticatedContext()
Utwórz RulesTestContext
, który działa jak klient, który NIE jest zalogowany za pomocą Uwierzytelniania Firebase.
Do żądań utworzonych przy użyciu zwróconego kontekstu nie będą dołączone tokeny 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:
Obietnica<void>