Signature:
export interface RulesTestEnvironment
أماكن إقامة
الموقع | النوع | الوصف |
---|---|---|
المحاكيات | { قاعدة البيانات?: HostAndPort؛ Firestore?: HostAndPort؛ التخزين؟: HostAndPort؛ } | نسخة للقراءة فقط من إعداد المحاكي تم تحديدها أو اكتشافها عند إنشاء بيئة الاختبار. |
رقم تعريف المشروع | السلسلة | رقم تعريف المشروع المحدَّد أو الذي تم اكتشافه عند إنشاء بيئة الاختبار |
الطُرق
الطريقة | الوصف |
---|---|
authenticatedContext(user_id, TokenOptions) | يمكنك إنشاء RulesTestContext يعمل كمستخدم مصادقة Firebase تمت مصادقته.ستحتوي الطلبات التي يتم إنشاؤها من خلال السياق المعروض على إرفاق رمز مميّز وهمي لمصادقة Firebase. |
cleanup() | في نهاية رمز الاختبار، استدعِ دالة التنظيف. إتلاف جميع RulesTestContexts التي تم إنشاؤها في بيئة الاختبار ونظف الموارد الأساسية، مما يسمح بمخرج فارغ.لا تؤدي هذه الطريقة إلى تغيير الحالة في أدوات المحاكاة بأي شكل من الأشكال. لإعادة ضبط البيانات بين الاختبارات، يُرجى الاطّلاع على clearDatabase() وclearFirestore() وclearStorage() . |
clearDatabase() | امسح كل البيانات في مساحة الاسم لمحاكي قاعدة البيانات في الوقت الفعلي. |
clearFirestore() | يمكنك محو البيانات في Firestore التي تنتمي إلى projectId في محاكي Firestore. |
clearStorage() | محو ملفات مساحة التخزين والبيانات الوصفية في كل الحِزم في محاكي مساحة التخزين |
unauthenticatedContext() | أنشئ RulesTestContext يعمل كعميل "لم يتم تسجيل الدخول" عبر مصادقة Firebase.لن يتم إرفاق الرموز المميزة لمصادقة Firebase للطلبات التي تم إنشاؤها من خلال السياق المعروض. |
withSecurityRulesDisabled(callback) |
القواعدTestEnvironment.emulator
نسخة للقراءة فقط من إعداد المحاكي تم تحديدها أو اكتشافها عند إنشاء بيئة الاختبار.
Signature:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
رقم تعريف RulesTestEnvironment.projectId
رقم تعريف المشروع المحدَّد أو الذي تم اكتشافه عند إنشاء بيئة الاختبار
Signature:
readonly projectId: string;
BaseTestEnvironment.authenticatedContext()
أنشئ RulesTestContext
يعمل كمستخدم مصادقة Firebase تمت مصادقته.
ستتضمّن الطلبات التي يتم إنشاؤها من خلال السياق المعروض مرفقًا رمزًا مميّزًا وهميًا لمصادقة Firebase.
Signature:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
user_id | السلسلة | رقم تعريف المستخدم للمستخدم. تحدّد قيمة "user_id" و"فرعي" على الرمز المميّز |
رمزTokenOptions | TokenOptions | مطالبات مخصّصة أو عمليات إلغاء لأحمال البيانات الأساسية للرمز المميّز لمصادقة Firebase |
المرتجعات:
مثال
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
BaseTestEnvironment.cleanup()
في نهاية رمز الاختبار، استدعِ دالة التنظيف. يمكنك إتلاف جميع RulesTestContexts التي تم إنشاؤها في بيئة الاختبار وتنظيف الموارد الأساسية، مما يسمح بخروج نظيف.
لا تؤدي هذه الطريقة إلى تغيير الحالة في أدوات المحاكاة بأي شكل من الأشكال. لإعادة ضبط البيانات بين الاختبارات، يُرجى الاطّلاع على clearDatabase()
وclearFirestore()
وclearStorage()
.
Signature:
cleanup(): Promise<void>;
المرتجعات:
وعود <باطلة>
RulesTestEnvironment.clearDatabase()
امسح كل البيانات في مساحة الاسم لمحاكي قاعدة البيانات في الوقت الفعلي.
Signature:
clearDatabase(): Promise<void>;
المرتجعات:
وعود <باطلة>
القواعدTestEnvironment.clearFirestore()
يمكنك محو البيانات في قاعدة بيانات Firestore التلقائية لـ projectId
في محاكي Firestore.
Signature:
clearFirestore(): Promise<void>;
المرتجعات:
وعود <باطلة>
RulesTestEnvironment.clearStorage()
يمكنك محو ملفات مساحة التخزين والبيانات الوصفية في الحزمة النشطة في محاكي مساحة التخزين.
Signature:
clearStorage(): Promise<void>;
المرتجعات:
وعود <باطلة>
BaseTestEnvironment.unauthenticatedContext()
أنشئ RulesTestContext
يتصرف كعميل "لا" يتم تسجيل الدخول إليه من خلال مصادقة Firebase.
لن يتم إرفاق الرموز المميّزة لمصادقة Firebase بالطلبات التي يتم إنشاؤها من خلال السياق المعروض.
Signature:
unauthenticatedContext(): RulesTestContext;
المرتجعات:
مثال
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
BaseTestEnvironment.withSecurityRulesDisabled()
Signature:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
رد الاتصال | (السياق: RulesTestContext) => وعود <باطلة> |
المرتجعات:
وعود <باطلة>