Chữ ký:
export interface RulesTestEnvironment
Thuộc tính
Tài sản | Loại | Mô tả |
---|---|---|
trình mô phỏng | { cơ sở dữ liệu?: HostAndPort; kho cứu hoả?: HostAndPort; bộ nhớ?: HostAndPort; } | Bản sao chỉ đọc của cấu hình trình mô phỏng được chỉ định hoặc phát hiện khi tạo môi trường kiểm thử. |
projectId | chuỗi | Mã dự án được chỉ định hoặc phát hiện khi tạo môi trường thử nghiệm. |
Phương thức
Phương thức | Mô tả |
---|---|
authenticationdContext(user_id, tokenOptions) | Tạo một RulesTestContext hoạt động như người dùng tính năng Xác thực Firebase đã xác thực.Các yêu cầu được tạo thông qua ngữ cảnh trả về sẽ đính kèm mã thông báo xác thực Firebase mô phỏng. |
cleanup() | Vào cuối mã kiểm thử, hãy gọi hàm dọn dẹp. Huỷ bỏ tất cả RulesTestContexts được tạo trong môi trường kiểm thử và dọn dẹp các tài nguyên cơ bản, cho phép thoát sạch.Phương pháp này không thay đổi trạng thái trong trình mô phỏng theo bất kỳ cách nào. Để đặt lại dữ liệu giữa các lần kiểm thử, hãy xem clearDatabase() , clearFirestore() và clearStorage() . |
clearDatabase() | Xoá tất cả dữ liệu trong không gian tên của trình mô phỏng Cơ sở dữ liệu theo thời gian thực. |
clearFirestore() | Xoá dữ liệu trong Firestore thuộc về projectId trong trình mô phỏng Firestore. |
clearStorage() | Xoá siêu dữ liệu và tệp Bộ nhớ trong tất cả các bộ chứa trong Trình mô phỏng bộ nhớ. |
unauthenticationdContext() | Tạo một RulesTestContext hoạt động như ứng dụng khách KHÔNG đăng nhập thông qua tính năng Xác thực Firebase.Các yêu cầu được tạo thông qua ngữ cảnh được trả về sẽ không đính kèm mã thông báo xác thực Firebase. |
withSecurityRulesDisabled(gọi lại) |
RulesTestEnvironment.emulators
Bản sao chỉ đọc của cấu hình trình mô phỏng được chỉ định hoặc phát hiện khi tạo môi trường kiểm thử.
Chữ ký:
readonly emulators: {
database?: HostAndPort;
firestore?: HostAndPort;
storage?: HostAndPort;
};
RulesTestEnvironment.projectId
Mã dự án được chỉ định hoặc phát hiện khi tạo môi trường thử nghiệm.
Chữ ký:
readonly projectId: string;
RulesTestEnvironment.authenticatedContext()
Tạo một RulesTestContext
hoạt động như người dùng Xác thực Firebase đã xác thực.
Yêu cầu được tạo thông qua ngữ cảnh được trả về sẽ đính kèm một mã thông báo xác thực Firebase mô phỏng.
Chữ ký:
authenticatedContext(user_id: string, tokenOptions?: TokenOptions): RulesTestContext;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
user_id | chuỗi | User ID của người dùng. Chỉ định giá trị của "user_id" và "sub" trên mã thông báo |
tokenOptions | TokenOptions (Tuỳ chọn mã thông báo) | xác nhận quyền sở hữu hoặc ghi đè tuỳ chỉnh cho tải trọng mã thông báo xác thực Firebase |
Trường hợp trả lại hàng:
Ví dụ
const alice = testEnv.authenticatedContext('alice');
await assertSucceeds(getDoc(alice.firestore(), '/doc/readable/by/alice'), { ... });
RulesTestEnvironment.cleanup()
Vào cuối mã kiểm thử, hãy gọi hàm dọn dẹp. Huỷ bỏ tất cả RulesTestContexts được tạo trong môi trường thử nghiệm và dọn dẹp các tài nguyên cơ bản, cho phép thoát sạch.
Phương thức này không thay đổi trạng thái trong trình mô phỏng theo bất kỳ cách nào. Để đặt lại dữ liệu giữa các lần kiểm thử, hãy xem clearDatabase()
, clearFirestore()
và clearStorage()
.
Chữ ký:
cleanup(): Promise<void>;
Trường hợp trả lại hàng:
Lời hứa<vô hiệu>
Quy tắc kiểm thử môi trường.clearDatabase()
Xoá tất cả dữ liệu trong không gian tên của trình mô phỏng Cơ sở dữ liệu theo thời gian thực.
Chữ ký:
clearDatabase(): Promise<void>;
Trường hợp trả lại hàng:
Lời hứa<vô hiệu>
RulesTestEnvironment.clearFirestore()
Xoá dữ liệu trong cơ sở dữ liệu Firestore mặc định cho projectId
trong trình mô phỏng Firestore.
Chữ ký:
clearFirestore(): Promise<void>;
Trường hợp trả lại hàng:
Lời hứa<vô hiệu>
RulesTestEnvironment.clearStorage()
Xoá siêu dữ liệu và tệp Bộ nhớ trong bộ chứa đang hoạt động trên Trình mô phỏng bộ nhớ.
Chữ ký:
clearStorage(): Promise<void>;
Trường hợp trả lại hàng:
Lời hứa<vô hiệu>
RulesTestEnvironment.unauthenticatedContext()
Tạo một RulesTestContext
hoạt động như ứng dụng khách KHÔNG được đăng nhập qua tính năng Xác thực Firebase.
Những yêu cầu được tạo thông qua ngữ cảnh được trả về sẽ không đính kèm mã thông báo xác thực Firebase.
Chữ ký:
unauthenticatedContext(): RulesTestContext;
Trường hợp trả lại hàng:
Ví dụ
const unauthed = testEnv.unauthenticatedContext();
await assertFails(getDoc(unauthed.firestore(), '/private/doc'), { ... });
RulesTestEnvironment.withSecurityRulesDisabled()
Chữ ký:
withSecurityRulesDisabled(callback: (context: RulesTestContext) => Promise<void>): Promise<void>;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
số gọi lại | (bối cảnh: RulesTestContext) => Lời hứa<vô hiệu> |
Trường hợp trả lại hàng:
Lời hứa<vô hiệu>