ลายเซ็น:
export interface RulesTestEnvironment
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | ประเภท | คำอธิบาย |
---|---|---|
โปรแกรมจำลอง | { Database?: HostAndPort Firestore?: HostAndPort พื้นที่เก็บข้อมูล: HostAndPort } | สำเนาแบบอ่านอย่างเดียวของการกำหนดค่าโปรแกรมจำลองที่ระบุหรือค้นพบขณะสร้างสภาพแวดล้อมการทดสอบ |
รหัสโปรเจ็กต์ | สตริง | รหัสโปรเจ็กต์ที่ระบุหรือค้นพบขณะสร้างสภาพแวดล้อมการทดสอบ |
เมธอด
วิธีการ | คำอธิบาย |
---|---|
AuthdContext(user_id, tokenOptions) | สร้าง RulesTestContext ที่ทำงานเหมือนผู้ใช้ Firebase Auth ที่ผ่านการตรวจสอบสิทธิ์แล้วคำขอที่สร้างผ่านบริบทที่แสดงผลจะมีโทเค็นการตรวจสอบสิทธิ์ Firebase จำลองแนบอยู่ |
cleanup() | ที่ส่วนท้ายสุดของโค้ดทดสอบของคุณ ให้เรียกใช้ฟังก์ชันทำความสะอาด ทำลาย RulesTestContexts ทั้งหมดที่สร้างขึ้นในสภาพแวดล้อมการทดสอบและล้างทรัพยากรที่สำคัญ ทำให้มีการออกที่ถูกต้องวิธีนี้ไม่เปลี่ยนสถานะในโปรแกรมจำลองไม่ว่าในทางใดก็ตาม หากต้องการรีเซ็ตข้อมูลระหว่างการทดสอบ โปรดดู clearDatabase() , clearFirestore() และ clearStorage() |
clearDatabase() | ล้างข้อมูลทั้งหมดในเนมสเปซของโปรแกรมจำลอง Realtime Database |
clearFirestore() | ล้างข้อมูลใน Firestore ที่เป็นของ projectId ในโปรแกรมจำลอง Firestore |
clearStorage() | ล้างไฟล์พื้นที่เก็บข้อมูลและข้อมูลเมตาในที่เก็บข้อมูลทั้งหมดในโปรแกรมจำลองพื้นที่เก็บข้อมูล |
unAuthdContext() | สร้าง RulesTestContext ที่ทำงานเหมือนไคลเอ็นต์ที่ไม่ได้เข้าสู่ระบบผ่าน Firebase Authคำขอที่สร้างผ่านบริบทที่แสดงผลจะไม่มีการแนบโทเค็นการตรวจสอบสิทธิ์ Firebase |
withSecurityRulesDisabled(Callback) |
กฎการทดสอบสภาพแวดล้อม.emulators
สำเนาแบบอ่านอย่างเดียวของการกำหนดค่าโปรแกรมจำลองที่ระบุหรือค้นพบขณะสร้างสภาพแวดล้อมการทดสอบ
ลายเซ็น:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RulesTestEnvironment.projectId
รหัสโปรเจ็กต์ที่ระบุหรือค้นพบขณะสร้างสภาพแวดล้อมการทดสอบ
ลายเซ็น:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
สร้าง RulesTestContext
ซึ่งทำงานเหมือนผู้ใช้การตรวจสอบสิทธิ์ Firebase ที่ผ่านการตรวจสอบสิทธิ์แล้ว
คำขอที่สร้างผ่านบริบทที่แสดงผลจะมีโทเค็นการตรวจสอบสิทธิ์ Firebase จำลองแนบอยู่
ลายเซ็น:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
user_id | สตริง | User ID ของผู้ใช้ ระบุค่าของ "user_id" และ "sub" บนโทเค็น |
ตัวเลือกโทเค็น | ตัวเลือกโทเค็น | การอ้างสิทธิ์ที่กำหนดเองหรือการลบล้างสำหรับเพย์โหลดโทเค็นการตรวจสอบสิทธิ์ Firebase |
การคืนสินค้า:
ตัวอย่าง
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RulesTestEnvironment.cleanup()
ที่ส่วนท้ายสุดของโค้ดทดสอบของคุณ ให้เรียกใช้ฟังก์ชันทำความสะอาด ทำลาย RulesTestContexts ทั้งหมดที่สร้างขึ้นในสภาพแวดล้อมการทดสอบและล้างทรัพยากรที่สำคัญ ทำให้มีการออกที่ถูกต้อง
วิธีการนี้จะไม่เปลี่ยนแปลงสถานะในโปรแกรมจำลองไม่ว่าในลักษณะใดก็ตาม หากต้องการรีเซ็ตข้อมูลระหว่างการทดสอบ โปรดดูclearDatabase()
, clearFirestore()
และclearStorage()
ลายเซ็น:
cleanup(): Promise<void>;
การคืนสินค้า:
คำสัญญา<โมฆะ>
RulesTestEnvironment.clearDatabase()
ล้างข้อมูลทั้งหมดในเนมสเปซของโปรแกรมจำลอง Realtime Database
ลายเซ็น:
clearDatabase(): Promise<void>;
การคืนสินค้า:
คำสัญญา<โมฆะ>
RulesTestEnvironment.clearFirestore()
ล้างข้อมูลในฐานข้อมูล Firestore เริ่มต้นสำหรับ projectId
ในโปรแกรมจำลอง Firestore
ลายเซ็น:
clearFirestore(): Promise<void>;
การคืนสินค้า:
คำสัญญา<โมฆะ>
RulesTestEnvironment.clearStorage()
ล้างไฟล์พื้นที่เก็บข้อมูลและข้อมูลเมตาในที่เก็บข้อมูลที่ใช้งานอยู่ในโปรแกรมจำลองพื้นที่เก็บข้อมูล
ลายเซ็น:
clearStorage(): Promise<void>;
การคืนสินค้า:
คำสัญญา<โมฆะ>
RulesTestEnvironment.unauthenticatedContext()
สร้าง RulesTestContext
ที่ทํางานเหมือนไคลเอ็นต์ที่ไม่ได้เข้าสู่ระบบผ่าน Firebase Auth
คำขอที่สร้างผ่านบริบทที่แสดงผลจะไม่มีโทเค็นการตรวจสอบสิทธิ์ Firebase แนบอยู่
ลายเซ็น:
unauthenticatedContext(): RulesTestContext;
การคืนสินค้า:
ตัวอย่าง
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
ลายเซ็น:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
Callback | (บริบท: RulesTestContext) => คำสัญญา<โมฆะ> |
การคืนสินค้า:
คำสัญญา<โมฆะ>