امضا:
export interface RulesTestEnvironment
خواص
ویژگی | تایپ کنید | شرح |
---|---|---|
شبیه سازها | { پایگاه داده؟: HostAndPort ; firestore؟: HostAndPort ; ذخیره سازی؟: HostAndPort ; } | یک کپی فقط خواندنی از پیکربندی شبیه ساز که در ایجاد محیط آزمایشی مشخص یا کشف شده است. |
شناسه پروژه | رشته | شناسه پروژه مشخص یا کشف شده در ایجاد محیط آزمایشی. |
مواد و روش ها
روش | شرح |
---|---|
authenticatedContext(user_id، tokenOptions) | یک RulesTestContext ایجاد کنید که مانند یک کاربر تأیید شده Firebase Auth رفتار کند. درخواستهایی که از طریق زمینه بازگشتی ایجاد میشوند دارای یک نشانه Firebase Auth ساختگی خواهند بود. |
پاک کردن() | در انتهای کد آزمایشی خود، تابع پاکسازی را فراخوانی کنید. تمام RulesTestContext های ایجاد شده در محیط تست را نابود کنید و منابع زیربنایی را پاکسازی کنید و اجازه خروج تمیز را بدهید. این روش به هیچ وجه وضعیت را در شبیه سازها تغییر نمی دهد. برای بازنشانی داده ها بین تست ها، به clearDatabase() ، clearFirestore() و clearStorage() مراجعه کنید. |
clearDatabase() | تمام داده ها را در فضای نام شبیه ساز پایگاه داده بیدرنگ پاک کنید. |
clearFirestore() | پاک کردن داده ها در Firestore که متعلق به projectId در شبیه ساز Firestore است. |
clearStorage() | فایلهای Storage و ابردادهها را در همه سطلهای شبیهساز Storage پاک کنید. |
unauthenticatedContext() | یک RulesTestContext ایجاد کنید که مانند کلاینت هایی رفتار می کند که از طریق Firebase Auth وارد نشده اند. درخواستهایی که از طریق زمینه بازگشتی ایجاد میشوند، نشانههای Firebase Auth را ضمیمه نخواهند کرد. |
withSecurityRulesDisabled (بازگشت به تماس) |
RulesTestEnvironment.emulators
یک کپی فقط خواندنی از پیکربندی شبیه ساز که در ایجاد محیط آزمایشی مشخص یا کشف شده است.
امضا:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RulesTestEnvironment.projectId
شناسه پروژه مشخص یا کشف شده در ایجاد محیط آزمایشی.
امضا:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
یک RulesTestContext
ایجاد کنید که مانند یک کاربر تأیید شده Firebase Auth رفتار کند.
درخواستهایی که از طریق زمینه بازگشتی ایجاد میشوند دارای یک نشانه Firebase Auth ساختگی خواهند بود.
امضا:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
شناسه کاربر | رشته | شناسه کاربری کاربر مقدار "user_id" و "sub" را در توکن مشخص می کند |
tokenOptions | TokenOptions | ادعاهای سفارشی یا لغو برای بارهای توکن Firebase Auth |
برمی گرداند:
مثال
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RulesTestEnvironment.cleanup()
در انتهای کد آزمایشی خود، تابع پاکسازی را فراخوانی کنید. تمام RulesTestContext های ایجاد شده در محیط تست را نابود کنید و منابع زیربنایی را پاکسازی کنید و اجازه خروج تمیز را بدهید.
این روش به هیچ وجه وضعیت را در شبیه سازها تغییر نمی دهد. برای بازنشانی داده ها بین تست ها، به clearDatabase()
مراجعه کنید. ، clearFirestore()
و clearStorage()
.
امضا:
cleanup(): Promise<void>;
برمی گرداند:
قول<باطل>
RulesTestEnvironment.clearDatabase()
تمام داده ها را در فضای نام شبیه ساز پایگاه داده بیدرنگ پاک کنید.
امضا:
clearDatabase(): Promise<void>;
برمی گرداند:
قول<باطل>
RulesTestEnvironment.clearFirestore()
داده ها را در پایگاه داده پیش فرض Firestore برای projectId
در شبیه ساز Firestore پاک کنید.
امضا:
clearFirestore(): Promise<void>;
برمی گرداند:
قول<باطل>
RulesTestEnvironment.clearStorage()
فایلهای Storage و ابردادهها را در سطل فعال در شبیهساز Storage پاک کنید.
امضا:
clearStorage(): Promise<void>;
برمی گرداند:
قول<باطل>
RulesTestEnvironment.unauthenticatedContext()
یک RulesTestContext
ایجاد کنید که مانند کلاینت هایی رفتار می کند که از طریق Firebase Auth وارد نشده اند.
درخواستهایی که از طریق زمینه بازگشتی ایجاد میشوند، نشانههای Firebase Auth را ضمیمه نخواهند کرد.
امضا:
unauthenticatedContext(): RulesTestContext;
برمی گرداند:
مثال
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
امضا:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
پاسخ به تماس | (زمینه: RulesTestContext ) => قول<باطل> |
برمی گرداند:
قول<باطل>